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"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"

#. TRANS: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#: UserLimitPlugin.php:74
#, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] ""
msgstr[1] ""

#. TRANS: Plugin description.
#: UserLimitPlugin.php:92
msgid "Limit the number of users who can register."
msgstr ""


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

#. TRANS: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] ""
msgstr[1] ""

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr "Bevenniñ an niver a implijerien a c'hall en em enskrivañ"

license: mit


code:
# Translation of StatusNet - UserLimit to German (Deutsch)
# Exported from translatewiki.net
#
# Author: ChrisiPK
# Author: Giftpflanze
# Author: The Evil IP address
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - UserLimit\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:10:25+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-19 11:23:51+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-userlimit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] ""
"Registrierung fehlgeschlagen; maximale Anzahl von Benutzern (%d) erreicht."
msgstr[1] ""
"Registrierung fehlgeschlagen; maximale Anzahl von Benutzern (%d) erreicht."

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr "Beschränkung der Anzahl von Benutzern, die sich registrieren können."


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

#. TRANS: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] ""
"No se puede registrar porque se alcanzó el número máximo de usuarios (%d) "
"para este sitio."
msgstr[1] ""
"No se puede registrar porque se alcanzó el número máximo de usuarios (%d) "
"para este sitio."

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr "Limitarla cantidad de usuarios que pueden registrarse."


code:
# Translation of StatusNet - UserLimit to Persian (فارسی)
# Exported from translatewiki.net
#
# Author: Ebraminio
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - UserLimit\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:10:25+0000\n"
"Language-Team: Persian <https://translatewiki.net/wiki/Portal:fa>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-19 11:23:51+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: fa\n"
"X-Message-Group: #out-statusnet-plugin-userlimit\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. TRANS: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] ""

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr "محدودکردن تعداد کاربرانی که می‌توانید ثبت نام کنند."


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

#. TRANS: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] ""
msgstr[1] ""

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr "Rajoita niiden käyttäjien lukumäärää, jotka voivat rekisteröityä."


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

#. TRANS: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] ""
"Impossible d’enregistrer car le nombre maximal d’utilisateurs (%d) pour ce "
"site a été atteint"
msgstr[1] ""
"Impossible d’enregistrer car le nombre maximal d’utilisateurs (%d) pour ce "
"site a été atteint"

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr "Limiter le nombre d’utilisateurs qui peuvent s’inscrire."


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

#. TRANS: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] ""
"Non se pode rexistrar porque se acadou o número máximo de usuarios (%d) para "
"este sitio."
msgstr[1] ""
"Non se pode rexistrar porque se acadou o número máximo de usuarios (%d) para "
"este sitio."

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr "Limitar o número de usuarios que se poden rexistrar."


code:
# Translation of StatusNet - UserLimit to Hebrew (עברית)
# Exported from translatewiki.net
#
# Author: Amire80
# Author: YaronSh
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - UserLimit\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:10:25+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-19 11:23:51+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-userlimit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] "לא ניתן להירשם משום שבאתר כבר יש מספר מרבי של מנויים (%d)."
msgstr[1] "לא ניתן להירשם משום שבאתר כבר יש מספר מרבי של מנויים (%d)."

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr "הגבלת מספר המשתמשים שיכולים להירשם."


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

#. TRANS: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] ""
"Impossibile crear conto; le numero maxime de usatores (%d) pro iste sito ha "
"essite attingite."
msgstr[1] ""
"Impossibile crear conto; le numero maxime de usatores (%d) pro iste sito ha "
"essite attingite."

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr "Limitar le numero de usatores que pote registrar se."


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

#. TRANS: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] ""

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr "Batasi jumlah pengguna yang boleh mendaftar."


code:
# Translation of StatusNet - UserLimit to Luxembourgish (Lëtzebuergesch)
# Exported from translatewiki.net
#
# Author: Robby
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - UserLimit\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:10:26+0000\n"
"Language-Team: Luxembourgish <https://translatewiki.net/wiki/Portal:lb>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-19 11:23:51+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: lb\n"
"X-Message-Group: #out-statusnet-plugin-userlimit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] ""
msgstr[1] ""

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr "D'Zuel vun de Benotzer, déi sech registréiere kënnen, limitéieren."


code:
# Translation of StatusNet - UserLimit to Latvian (latviešu)
# Exported from translatewiki.net
#
# Author: Geimeris
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - UserLimit\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:10:26+0000\n"
"Language-Team: Latvian <https://translatewiki.net/wiki/Portal:lv>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-19 11:23:51+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: lv\n"
"X-Message-Group: #out-statusnet-plugin-userlimit\n"
"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n != "
"0) ? 1 : 2 );\n"

#. TRANS: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr "Ierobežotais lietotāju skaits, kuri var reģistrēties."


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

#. TRANS: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] ""
"Не можам да Ве регистрирам. Достигнат е максималниот број на корисници (%d) "
"за ова мрежно место."
msgstr[1] ""
"Не можам да Ве регистрирам. Достигнат е максималниот број на корисници (%d) "
"за ова мрежно место."

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr "Ограничување на бројот на корисници што можат да се регистрираат."


code:
# Translation of StatusNet - UserLimit to Malay (Bahasa Melayu)
# Exported from translatewiki.net
#
# Author: Anakmalaysia
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - UserLimit\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:10:26+0000\n"
"Language-Team: Malay <https://translatewiki.net/wiki/Portal:ms>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-19 11:23:51+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: ms\n"
"X-Message-Group: #out-statusnet-plugin-userlimit\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. TRANS: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, fuzzy, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] "Tidak boleh berdaftar; bilangan pengguna maksimum (%d) dicapai."

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr "Hadkan jumlah pengguna yang boleh berdaftar."


code:
# Translation of StatusNet - UserLimit 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 - UserLimit\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:10:26+0000\n"
"Language-Team: Norwegian Bokmål <https://translatewiki.net/wiki/Portal:nb>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-19 11:23:51+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-userlimit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] ""
msgstr[1] ""

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr "Begrens antallet brukere som kan registrere seg."


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

#. TRANS: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] ""
"Registreren is niet mogelijk. Het maximale aantal gebruikers (%d) is bereikt."
msgstr[1] ""
"Registreren is niet mogelijk. Het maximale aantal gebruikers (%d) is bereikt."

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr "Limiteert het aantal gebruikers dat kan registreren."


code:
# Translation of StatusNet - UserLimit to Portuguese (português)
# Exported from translatewiki.net
#
# Author: Hamilton Abreu
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - UserLimit\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:10:26+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-19 11:23:51+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-userlimit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] ""
msgstr[1] ""

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr "Limitar o número de utilizadores que se podem registar."


code:
# Translation of StatusNet - UserLimit to Brazilian Portuguese (português do Brasil)
# Exported from translatewiki.net
#
# Author: Giro720
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - UserLimit\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:10:26+0000\n"
"Language-Team: Brazilian Portuguese <https://translatewiki.net/wiki/Portal:"
"pt-br>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-19 11:23:51+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-br\n"
"X-Message-Group: #out-statusnet-plugin-userlimit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#. TRANS: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] ""
msgstr[1] ""

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr "Limitar o número de usuários que podem se registrar."


code:
# Translation of StatusNet - UserLimit to Russian (русский)
# Exported from translatewiki.net
#
# Author: Александр Сигачёв
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - UserLimit\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:10:26+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-19 11:23:51+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-userlimit\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: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, fuzzy, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] ""
"Регистрация не удалась. Достигнуто предельное число пользователей (%d)."
msgstr[1] ""
"Регистрация не удалась. Достигнуто предельное число пользователей (%d)."
msgstr[2] ""
"Регистрация не удалась. Достигнуто предельное число пользователей (%d)."

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr ""
"Ограничение количества пользователей, которые могут зарегистрироваться."


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

#. TRANS: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] ""
"Hindi mairehistro dahil naabot na ang pinakamataas na bilang ng mga "
"tagagamit (%d) para sa pook na ito."
msgstr[1] ""
"Hindi maipatala dahil naabot na ang pinakamataas na bilang ng mga tagagamit "
"(%d) para sa pook na ito."

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr "Hangganan ng bilang ng mga tagagamit na makakapagpatala."


code:
# Translation of StatusNet - UserLimit to Turkish (Türkçe)
# Exported from translatewiki.net
#
# Author: Maidis
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - UserLimit\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:10:26+0000\n"
"Language-Team: Turkish <https://translatewiki.net/wiki/Portal:tr>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-19 11:23:51+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: tr\n"
"X-Message-Group: #out-statusnet-plugin-userlimit\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. TRANS: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] ""

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr "Kayıt olabilecek kullanıcı sayısını sınırla."


code:
# Translation of StatusNet - UserLimit 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 - UserLimit\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:10:26+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-19 11:23:51+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-userlimit\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: Error message given if creating a new user is not possible because a limit has been reached.
#. TRANS: %d is the user limit (also available for plural).
#, fuzzy, php-format
msgid ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgid_plural ""
"Cannot register because the maximum number of users (%d) for this site was "
"reached."
msgstr[0] ""
"Не вдається зареєструвати; максимально можливу кількість користувачів (%d) "
"вже зареєстровано."
msgstr[1] ""
"Не вдається зареєструвати; максимально можливу кількість користувачів (%d) "
"вже зареєстровано."
msgstr[2] ""
"Не вдається зареєструвати; максимально можливу кількість користувачів (%d) "
"вже зареєстровано."

#. TRANS: Plugin description.
msgid "Limit the number of users who can register."
msgstr "Обмеження кількості користувачів, котрі можуть зареєструватися."


code:
<?php
/**
 * GNU social - a federating social network
 *
 * Plugin to make thumbnails of video files with ffmpeg
 *
 * 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   GNUsocial
 * @author    Mikael Nordfeldth <mmn@hethane.se>
 * @copyright 2014 Free Software Foundation http://fsf.org
 * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
 * @link      https://www.gnu.org/software/social/
 */

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

/*
 * Dependencies:
 *  php5-ffmpeg
 *  php5-gd
 *
 * Video support will depend on your ffmpeg.
 */

class VideoThumbnailsPlugin extends Plugin
{
    /*
     * This function should only extract an image from the video stream
     * and disregard any cropping or scaling in the resulting file, as
     * that will be handled in the core thumbnail algorithm.
     */
    public function onCreateFileImageThumbnailSource(File $file, &$imgPath, $media=null)
    {
        // The calling function might accidentally pass application/ogg videos.
        // If that's a problem, let's fix it in the calling function.
        if ($media !== 'video') {
            return true;
        }

        $movie = new ffmpeg_movie($file->getPath(), false);

        $frames = $movie->getFrameCount();
        if ($frames > 0) {
            $frame = $movie->getFrame(floor($frames/2));
        } else {
            $frame = $movie->getNextKeyFrame();
        }

        // We failed to get a frame.
        if (!$frame instanceof ffmpeg_frame) {
            return true;
        }

        // Let's save our frame to a temporary file. If we fail, remove it.
        $imgPath = tempnam(sys_get_temp_dir(), 'socialthumb');
        if (!imagejpeg($frame->toGDImage(), $imgPath)) {
            @unlink($imgPath);
            return true;
        }
        return false;
    }

    public function onPluginVersion(&$versions)
    {
        $versions[] = array('name' => 'Video Thumbnails',
                            'version' => GNUSOCIAL_VERSION,
                            'author' => 'Mikael Nordfeldth',
                            'homepage' => 'https://www.gnu.org/software/social/',
                            'rawdescription' =>
                            // TRANS: Plugin description.
                            _m('Video thumbnail preview support.'));
        return true;
    }
}


code:
StartHostMetaLinks: Start /.well-known/host-meta links
- &links:   array containing the links elements to be written

EndHostMetaLinks: End /.well-known/host-meta links
- &links:   array containing the links elements to be written

StartGetWebFingerResource: Get a WebFingerResource extended object by resource string
- $resource String that contains the requested URI
- &$target  WebFingerResource extended object goes here
- $args     Array which may contains arguments such as 'rel' filtering values

EndGetWebFingerResource: Last attempts getting a WebFingerResource object
- $resource String that contains the requested URI
- &$target  WebFingerResource extended object goes here
- $args     Array which may contains arguments such as 'rel' filtering values

StartWebFingerReconstruction: Generate an acct: uri from a Profile object
- $profile: Profile object for which we want a WebFinger ID
- &$acct:   String reference where reconstructed ID is stored

EndWebFingerReconstruction: Last attempts to generate an acct: uri from a Profile object
- $profile: Profile object for which we want a WebFinger ID
- &$acct:   String reference where reconstructed ID is stored

StartWebFingerNoticeLinks: About to set links for the resource descriptor of a Notice
- $xrd:     XML_XRD object being shown
- $target:  Notice being shown

EndWebFingerNoticeLinks: Done with links for the resource descriptor of a Notice
- $xrd:     XML_XRD object being shown
- $target:  Notice being shown

StartWebFingerProfileLinks: About to set links for the resource descriptor of a Profile
- $xrd:     XML_XRD object being shown
- $target:  Profile being shown

EndWebFingerProfileLinks: Done with links for the resource descriptor of a Profile
- $xrd:     XML_XRD object being shown
- $target:  Profile being shown


code:
<?php
/*
 * GNU Social - a federating social network
 * Copyright (C) 2013, Free Software Foundation, 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/>.
 */

/**
 * Implements WebFinger for GNU Social, as well as support for the
 * '.well-known/host-meta' resource.
 *
 * Depends on: LRDD plugin
 *
 * @package GNUsocial
 * @author  Mikael Nordfeldth <mmn@hethane.se>
 */

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

class WebFingerPlugin extends Plugin
{
    public function onRouterInitialized($m)
    {
        $m->connect('.well-known/host-meta', array('action' => 'hostmeta'));
        $m->connect('.well-known/host-meta.:format',
                        array('action' => 'hostmeta',
                              'format' => '(xml|json)'));
        // the resource GET parameter can be anywhere, so don't mention it here
        $m->connect('.well-known/webfinger', array('action' => 'webfinger'));
        $m->connect('.well-known/webfinger.:format',
                        array('action' => 'webfinger',
                              'format' => '(xml|json)'));
        $m->connect('main/ownerxrd', array('action' => 'ownerxrd'));
        return true;
    }

    public function onLoginAction($action, &$login)
    {
        switch ($action) {
        case 'hostmeta':
        case 'webfinger':
            $login = true;
            return false;
        }

        return true;
    }

    public function onStartGetProfileAcctUri(Profile $profile, &$acct)
    {
        $wfr = new WebFingerResource_Profile($profile);
        try {
            $acct = $wfr->reconstructAcct();
        } catch (Exception $e) {
            return true;
        }

        return false;
    }

    public function onEndGetWebFingerResource($resource, WebFingerResource &$target=null, array $args=array())
    {
        $profile = null;
        if (Discovery::isAcct($resource)) {
            $parts = explode('@', substr(urldecode($resource), 5)); // 5 is strlen of 'acct:'
            if (count($parts) == 2) {
                list($nick, $domain) = $parts;
                if ($domain === common_config('site', 'server')) {
                    $nick = common_canonical_nickname($nick);
                    $user = User::getKV('nickname', $nick);
                    if (!($user instanceof User)) {
                        throw new NoSuchUserException(array('nickname'=>$nick));
                    }
                    $profile = $user->getProfile();
                } else {
                    throw new Exception(_('Remote profiles not supported via WebFinger yet.'));
                }
            }
        } else {
            $user = User::getKV('uri', $resource);
            if ($user instanceof User) {
                $profile = $user->getProfile();
            } else {
                // try and get it by profile url
                $profile = Profile::getKV('profileurl', $resource);
            }
        }

        if ($profile instanceof Profile) {
            $target = new WebFingerResource_Profile($profile);
            return false;   // We got our target, stop handler execution
        }

        $notice = Notice::getKV('uri', $resource);
        if ($notice instanceof Notice) {
            $target = new WebFingerResource_Notice($notice);
            return false;
        }

        return true;
    }

    public function onStartHostMetaLinks(array &$links)
    {
        foreach (Discovery::supportedMimeTypes() as $type) {
            $links[] = new XML_XRD_Element_Link(Discovery::LRDD_REL,
                            common_local_url('webfinger') . '?resource={uri}',
                            $type,
                            true);    // isTemplate
        }
    }

    /**
     * Add a link header for LRDD Discovery
     */
    public function onStartShowHTML($action)
    {
        if ($action instanceof ShowstreamAction) {
            $acct = 'acct:'. $action->profile->nickname .'@'. common_config('site', 'server');
            $url = common_local_url('webfinger') . '?resource='.$acct;

            foreach (array(Discovery::JRD_MIMETYPE, Discovery::XRD_MIMETYPE) as $type) {
                header('Link: <'.$url.'>; rel="'. Discovery::LRDD_REL.'"; type="'.$type.'"');
            }
        }
    }

    public function onPluginVersion(&$versions)
    {
        $versions[] = array('name' => 'WebFinger',
                            'version' => GNUSOCIAL_VERSION,
                            'author' => 'Mikael Nordfeldth',
                            'homepage' => 'http://www.gnu.org/software/social/',
                            // TRANS: Plugin description.
                            'rawdescription' => _m('Adds WebFinger lookup to GNU Social'));

        return true;
    }
}


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/>.
 */

/**
 * @category Action
 * @package  StatusNet
 * @author   James Walker <james@status.net>
 * @author   Craig Andrews <candrews@integralblue.com>
 * @author   Mikael Nordfeldth <mmn@hethane.se>
 */

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

// @todo XXX: Add documentation.
class HostMetaAction extends XrdAction
{
    protected $defaultformat = 'xml';

    protected function setXRD()
    {
        if(Event::handle('StartHostMetaLinks', array(&$this->xrd->links))) {
            Event::handle('EndHostMetaLinks', array(&$this->xrd->links));
        }
    }
}


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/>.
 */

/**
 * @package WebFingerPlugin
 * @author James Walker <james@status.net>
 * @author Mikael Nordfeldth <mmn@hethane.se>
 */

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

class OwnerxrdAction extends WebfingerAction
{
    protected $defaultformat = 'xml';

    protected function prepare(array $args=array())
    {
        $user = User::siteOwner();

        $nick = common_canonical_nickname($user->nickname);
        $args['resource'] = 'acct:' . $nick . '@' . common_config('site', 'server');

        // We have now set $args['resource'] to the configured value, since
        // only this local site configuration knows who the owner is!
        parent::prepare($args);

        return true;
    }

    protected function setXRD()
    {
        parent::setXRD();

        // Check to see if a $config['webfinger']['owner'] has been set
        // and then make sure 'subject' is set to that primary identity.
        if ($owner = common_config('webfinger', 'owner')) {
            $this->xrd->aliases[] = $this->xrd->subject;
            $this->xrd->subject = Discovery::normalize($owner);
        } else {
            $this->xrd->subject = $this->resource;
        }
    }
}


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('GNUSOCIAL')) { exit(1); }

/**
 * @package WebFingerPlugin
 * @author James Walker <james@status.net>
 * @author Mikael Nordfeldth <mmn@hethane.se>
 */
class WebfingerAction extends XrdAction
{
    protected $resource = null; // string with the resource URI
    protected $target   = null; // object of the WebFingerResource class

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

        // throws exception if resource is empty
        $this->resource = Discovery::normalize($this->trimmed('resource'));

        try {
            if (Event::handle('StartGetWebFingerResource', array($this->resource, &$this->target, $this->args))) {
                Event::handle('EndGetWebFingerResource', array($this->resource, &$this->target, $this->args));
            }
        } catch (NoSuchUserException $e) {
            throw new ServerException($e->getMessage(), 404);
        }

        if (!$this->target instanceof WebFingerResource) {
            // TRANS: Error message when an object URI which we cannot find was requested
            throw new ServerException(_m('Resource not found in local database.'), 404);
        }

        return true;
    }

    protected function setXRD()
    {
        $this->xrd->subject = $this->resource;

        foreach ($this->target->getAliases() as $alias) {
            if ($alias != $this->xrd->subject && !in_array($alias, $this->xrd->aliases)) {
                $this->xrd->aliases[] = $alias;
            }
        }

        $this->target->updateXRD($this->xrd);
    }
}


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

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

/**
 * Class for an exception when a WebFinger acct: URI can not be constructed
 * using the data we have in a Profile.
 *
 * @category Exception
 * @package  StatusNet
 * @author   Mikael Nordfeldth <mmn@hethane.se>
 * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
 * @link     http://status.net/
 */

class WebFingerReconstructionException extends ServerException
{
    public $target = null;

    public function __construct(Profile $target)
    {
        $this->target = $target;

        // We could log an entry here with the search parameters
        parent::__construct(_('WebFinger URI generation failed.'));
    }
}


code:
<?php
/**
 * WebFinger resource parent class
 *
 * @package   GNUsocial
 * @author    Mikael Nordfeldth
 * @copyright 2013 Free Software Foundation, Inc.
 * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
 * @link      http://status.net/
 */

abstract class WebFingerResource
{
    protected $identities = array();

    protected $object = null;
    protected $type   = null;

    public function __construct(Managed_DataObject $object)
    {
        $this->object = $object;
    }

    public function getObject()
    {
        if ($this->object === null) {
            throw new ServerException('Object is not set');
        }
        return $this->object;
    }

    public function getAliases()
    {
        $aliases = array();

        // Add the URI as an identity, this is _not_ necessarily an HTTP url
        $aliases[] = $this->object->getUri();

        try {
            $aliases[] = $this->object->getUrl();
        } catch (InvalidUrlException $e) {
            // getUrl failed because no valid URL could be returned, just ignore it
        }

        return $aliases;
    }

    abstract public function updateXRD(XML_XRD $xrd);
}


code:
<?php
/**
 * WebFinger resource for Notice objects
 *
 * @package   GNUsocial
 * @author    Mikael Nordfeldth
 * @copyright 2013 Free Software Foundation, Inc.
 * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
 * @link      http://status.net/
 */

class WebFingerResource_Notice extends WebFingerResource
{
    public function __construct(Notice $object)
    {
        // The type argument above verifies that it's our class
        parent::__construct($object);
    }

    public function updateXRD(XML_XRD $xrd)
    {
        if (Event::handle('StartWebFingerNoticeLinks', array($xrd, $this->object))) {
            $xrd->links[] = new XML_XRD_Element_Link('alternate',
                                    common_local_url('ApiStatusesShow',
                                        array('id'=>$this->object->id,
                                              'format'=>'atom')),
                                    'application/atom+xml');

            $xrd->links[] = new XML_XRD_Element_Link('alternate',
                                    common_local_url('ApiStatusesShow',
                                        array('id'=>$this->object->id,
                                              'format'=>'json')),
                                    'application/json');
            Event::handle('EndWebFingerNoticeLinks', array($xrd, $this->object));
        }
    }
}


code:
<?php
/**
 * WebFinger resource for Profile objects
 *
 * @package   GNUsocial
 * @author    Mikael Nordfeldth
 * @copyright 2013 Free Software Foundation, Inc.
 * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
 * @link      http://status.net/
 */

class WebFingerResource_Profile extends WebFingerResource
{
    const PROFILEPAGE = 'http://webfinger.net/rel/profile-page';

    public function __construct(Profile $object)
    {
        // The type argument above verifies that it's our class
        parent::__construct($object);
    }

    public function getAliases()
    {
        $aliases = array();

        try {
            // Try to create an acct: URI if we're dealing with a profile
            $aliases[] = $this->reconstructAcct();
        } catch (WebFingerReconstructionException $e) {
            common_debug("WebFinger reconstruction for Profile failed (id={$this->object->id})");
        }

        return array_merge($aliases, parent::getAliases());
    }

    public function reconstructAcct()
    {
        $acct = null;

        if (Event::handle('StartWebFingerReconstruction', array($this->object, &$acct))) {
            // TODO: getUri may not always give us the correct host on remote users?
            $host = parse_url($this->object->getUri(), PHP_URL_HOST);
            if (empty($this->object->nickname) || empty($host)) {
                throw new WebFingerReconstructionException($this->object);
            }
            $acct = mb_strtolower(sprintf('acct:%s@%s', $this->object->nickname, $host));

            Event::handle('EndWebFingerReconstruction', array($this->object, &$acct));
        }

        return $acct;
    }

    public function updateXRD(XML_XRD $xrd)
    {
        if (Event::handle('StartWebFingerProfileLinks', array($xrd, $this->object))) {

            $xrd->links[] = new XML_XRD_Element_Link(self::PROFILEPAGE,
                                        $this->object->getUrl(), 'text/html');

            // XFN
            $xrd->links[] = new XML_XRD_Element_Link('http://gmpg.org/xfn/11',
                                        $this->object->getUrl(), 'text/html');
            // FOAF
            $xrd->links[] = new XML_XRD_Element_Link('describedby',
                                        common_local_url('foaf',
                                                        array('nickname' => $this->object->nickname)),
                                                                'application/rdf+xml');

            $link = new XML_XRD_Element_Link('http://apinamespace.org/atom',
                                        common_local_url('ApiAtomService',
                                                        array('id' => $this->object->nickname)),
                                                                'application/atomsvc+xml');
// XML_XRD must implement changing properties first           $link['http://apinamespace.org/atom/username'] = $this->object->nickname;
            $xrd->links[] = clone $link;

            if (common_config('site', 'fancy')) {
                $apiRoot = common_path('api/', true);
            } else {
                $apiRoot = common_path('index.php/api/', true);
            }

            $link = new XML_XRD_Element_Link('http://apinamespace.org/twitter', $apiRoot);
// XML_XRD must implement changing properties first            $link['http://apinamespace.org/twitter/username'] = $this->object->nickname;
            $xrd->links[] = clone $link;

            Event::handle('EndWebFingerProfileLinks', array($xrd, $this->object));
        }
    }
}


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/>.
 */

/**
 * @package WebFingerPlugin
 * @author James Walker <james@status.net>
 * @author Mikael Nordfeldth <mmn@hethane.se>
 */

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

abstract class XrdAction extends ManagedAction
{
    // json or xml for now, this may still be overriden because of
    // our back-compatibility with StatusNet <=1.1.1
    protected $defaultformat = null;

    protected $xrd      = null;

    public function isReadOnly($args)
    {
        return true;
    }

    /*
     * Configures $this->xrd which will later be printed. Must be
     * implemented by child classes.
     */
    abstract protected function setXRD();

    protected function prepare(array $args=array())
    {
        if (!isset($args['format'])) {
            $args['format'] = $this->defaultformat;
        }

        parent::prepare($args);

        $this->xrd = new XML_XRD();

        return true;
    }

    protected function handle()
    {
        $this->setXRD();

        if (common_config('discovery', 'cors')) {
            header('Access-Control-Allow-Origin: *');
        }

        parent::handle();
    }

    public function mimeType()
    {
        try {
            return $this->checkAccept();
        } catch (Exception $e) {
            $supported = Discovery::supportedMimeTypes();
            $docformat = $this->arg('format');

            if (!empty($docformat) && isset($supported[$docformat])) {
                return $supported[$docformat];
            }
        }

        /*
         * "A WebFinger resource MUST return a JRD as the representation
         *  for the resource if the client requests no other supported
         *  format explicitly via the HTTP "Accept" header. [...]
         *  The WebFinger resource MUST silently ignore any requested
         *  representations that it does not understand and support."
         *                                       -- RFC 7033 (WebFinger)
         *                            http://tools.ietf.org/html/rfc7033
         */
        return Discovery::JRD_MIMETYPE;
    }

    public function showPage()
    {
        $mimeType = $this->mimeType();
        header("Content-type: {$mimeType}");

        switch ($mimeType) {
        case Discovery::XRD_MIMETYPE:
            print $this->xrd->toXML();
            break;
        case Discovery::JRD_MIMETYPE:
        case Discovery::JRD_MIMETYPE_OLD:
            print $this->xrd->to('json');
            break;
        default:
            throw new Exception(_('No supported MIME type in Accept header.'));
        }
    }

    protected function checkAccept()
    {
        $type = null;
        $httpaccept = isset($_SERVER['HTTP_ACCEPT'])
                        ? $_SERVER['HTTP_ACCEPT'] : null;
        $useragent  = isset($_SERVER['HTTP_USER_AGENT'])
                        ? $_SERVER['HTTP_USER_AGENT'] : null;

        if ($httpaccept !== null && $httpaccept != '*/*') {
            $can_serve  = implode(',', Discovery::supportedMimeTypes());
            $type       = common_negotiate_type(common_accept_to_prefs($httpaccept),
                                                common_accept_to_prefs($can_serve));
        } else {
            /*
             * HACK: for StatusNet to work against us, we must always serve an
             * XRD to at least versions <1.1.1 (at time of writing) since they
             * don't send Accept headers (in their 'Discovery::fetchXrd' calls)
             */
            $matches = array();
            preg_match('/(StatusNet)\/(\d+\.\d+(\.\d+)?)/', $useragent, $browser);
            if (count($browser)>2 && $browser[1] === 'StatusNet'
                    && version_compare($browser[2], '1.1.1') < 1) {
                return Discovery::XRD_MIMETYPE;
            }
        }

        if (empty($type)) {
            throw new Exception(_('No specified MIME type in Accept header.'));
        }

        return $type;
    }
}


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

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

/**
 * Plugin to use WikiHashtags
 *
 * @category Plugin
 * @package  StatusNet
 * @author   Evan Prodromou <evan@status.net>
 * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
 * @link     http://status.net/
 *
 * @see      Event
 */
class WikiHashtagsPlugin extends Plugin
{
    const VERSION = '0.1';

    function __construct($code=null)
    {
        parent::__construct();
    }

    function onStartShowSections(Action $action)
    {
        $name = $action->trimmed('action');

        if ($name == 'tag') {
            $taginput = $action->trimmed('tag');
            $tag = common_canonical_tag($taginput);

            if (!empty($tag)) {
                $url = sprintf('http://hashtags.wikia.com/index.php?title=%s&action=render',
                               urlencode($tag));
                $editurl = sprintf('http://hashtags.wikia.com/index.php?title=%s&action=edit',
                                   urlencode($tag));

                $request = HTTPClient::start();
                $response = $request->get($url);
                $html = $response->getBody();

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

                if ($response->isOk() && !empty($html)) {
                    $action->element('style', null,
                                     "span.editsection { display: none }\n".
                                     "table.toc { display: none }");
                    $action->raw($html);
                    $action->elementStart('p');
                    $action->element('a', array('href' => $editurl,
                                                // TRANS: Link title for editing an article on WikiHashTags.
                                                // TRANS: %s is the hash tag page to be edited.
                                                'title' => sprintf(_m('Edit the article for #%s on WikiHashtags'), $tag)),
                                     // TRANS: Link description for editing an article on WikiHashTags.
                                     _m('Edit'));
                    $action->element('a', array('href' => 'http://www.gnu.org/copyleft/fdl.html',
                                                // TRANS: Link title for viewing the GFDL.
                                                'title' => _m('Shared under the terms of the GNU Free Documentation License'),
                                                'rel' => 'license'),
                                     // TRANS: Link description for viewing the GFDL.
                                     _m('GNU FDL'));
                    $action->elementEnd('p');
                } else {
                    $action->element('a', array('href' => $editurl),
                                     // TRANS: Link description for editing an article on WikiHashTags.
                                     // TRANS: %s is the hash tag page to be created.
                                     sprintf(_m('Start the article for #%s on WikiHashtags'), $tag));
                }

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

        return true;
    }

    function onPluginVersion(&$versions)
    {
        $versions[] = array('name' => 'WikiHashtags',
                            'version' => self::VERSION,
                            'author' => 'Evan Prodromou',
                            'homepage' => 'http://status.net/wiki/Plugin:WikiHashtags',
                            'rawdescription' =>
                            // TRANS: Plugin description.
                            _m('Gets hashtag descriptions from WikiHashtags.'));
        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: Link title for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be edited.
#: WikiHashtagsPlugin.php:83
#, php-format
msgid "Edit the article for #%s on WikiHashtags"
msgstr ""

#. TRANS: Link description for editing an article on WikiHashTags.
#: WikiHashtagsPlugin.php:85
msgid "Edit"
msgstr ""

#. TRANS: Link title for viewing the GFDL.
#: WikiHashtagsPlugin.php:88
msgid "Shared under the terms of the GNU Free Documentation License"
msgstr ""

#. TRANS: Link description for viewing the GFDL.
#: WikiHashtagsPlugin.php:91
msgid "GNU FDL"
msgstr ""

#. TRANS: Link description for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be created.
#: WikiHashtagsPlugin.php:97
#, php-format
msgid "Start the article for #%s on WikiHashtags"
msgstr ""

#. TRANS: Plugin description.
#: WikiHashtagsPlugin.php:115
msgid ""
"Gets hashtag descriptions from WikiHashtags."
msgstr ""


code:
# Translation of StatusNet - WikiHashtags to Breton (Brezhoneg)
# Exported from translatewiki.net
#
# Author: Fulup
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - WikiHashtags\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-31 21:06+0000\n"
"PO-Revision-Date: 2011-03-31 21:10:52+0000\n"
"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-03-18 20:10:08+0000\n"
"X-Generator: MediaWiki 1.18alpha (r85082); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: br\n"
"X-Message-Group: #out-statusnet-plugin-wikihashtags\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#, php-format
msgid "Edit the article for #%s on WikiHashtags"
msgstr ""

msgid "Edit"
msgstr ""

msgid "Shared under the terms of the GNU Free Documentation License"
msgstr ""

#, php-format
msgid "Start the article for #%s on WikiHashtags"
msgstr ""

msgid ""
"Gets hashtag descriptions from WikiHashtags."
msgstr ""
"Tapout a ra deskrivadurioù hashtag adalek WikiHashtags."


code:
# Translation of StatusNet - WikiHashtags to German (Deutsch)
# Exported from translatewiki.net
#
# Author: ChrisiPK
# Author: Giftpflanze
# Author: The Evil IP address
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - WikiHashtags\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:10:27+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-19 11:23:53+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-wikihashtags\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Link title for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be edited.
#, php-format
msgid "Edit the article for #%s on WikiHashtags"
msgstr "Bearbeite den Artikel für #%s auf WikiHashtags"

#. TRANS: Link description for editing an article on WikiHashTags.
msgid "Edit"
msgstr "Bearbeiten"

#. TRANS: Link title for viewing the GFDL.
msgid "Shared under the terms of the GNU Free Documentation License"
msgstr ""
"Veröffentlicht unter den Bedingungen der GNU Free Documentation License"

#. TRANS: Link description for viewing the GFDL.
msgid "GNU FDL"
msgstr "GNU FDL"

#. TRANS: Link description for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be created.
#, php-format
msgid "Start the article for #%s on WikiHashtags"
msgstr "Beginnne den Artikel über #%s auf WikiHashtags"

#. TRANS: Plugin description.
msgid ""
"Gets hashtag descriptions from WikiHashtags."
msgstr ""
"Holt Hashtag-Beschreibungen aus WikiHashtags."


code:
# Translation of StatusNet - WikiHashtags 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 - WikiHashtags\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:10:27+0000\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-19 11:23:53+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: Link title for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be edited.
#, php-format
msgid "Edit the article for #%s on WikiHashtags"
msgstr "Editar el artículo \"#%s\" en WikiHashtags"

#. TRANS: Link description for editing an article on WikiHashTags.
msgid "Edit"
msgstr "Editar"

#. TRANS: Link title for viewing the GFDL.
msgid "Shared under the terms of the GNU Free Documentation License"
msgstr ""
"Difundido bajo los términos de la licencia de documentación libre de GNU"

#. TRANS: Link description for viewing the GFDL.
msgid "GNU FDL"
msgstr "GNU FDL"

#. TRANS: Link description for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be created.
#, php-format
msgid "Start the article for #%s on WikiHashtags"
msgstr "Crear el artículo \"#%s\" en WikiHashtags"

#. TRANS: Plugin description.
msgid ""
"Gets hashtag descriptions from WikiHashtags."
msgstr ""
"Obtiene las descripciones de las etiquetas desde WikiHashtags."


code:
# Translation of StatusNet - WikiHashtags to French (français)
# Exported from translatewiki.net
#
# Author: Od1n
# Author: Tititou36
# Author: Verdy p
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - WikiHashtags\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:10:27+0000\n"
"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-19 11:23:53+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-wikihashtags\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#. TRANS: Link title for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be edited.
#, php-format
msgid "Edit the article for #%s on WikiHashtags"
msgstr "Modifier l'article pour #%s sur WikiHashtags"

#. TRANS: Link description for editing an article on WikiHashTags.
msgid "Edit"
msgstr "Modifier"

#. TRANS: Link title for viewing the GFDL.
msgid "Shared under the terms of the GNU Free Documentation License"
msgstr "Partagé selon les termes de la license GNU Free Documentation"

#. TRANS: Link description for viewing the GFDL.
msgid "GNU FDL"
msgstr "GNU FDL"

#. TRANS: Link description for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be created.
#, php-format
msgid "Start the article for #%s on WikiHashtags"
msgstr "Débuter l'article pour #%s sur WikiHashtags"

#. TRANS: Plugin description.
msgid ""
"Gets hashtag descriptions from WikiHashtags."
msgstr ""
"Obtient les descriptions de hashtags depuis WikiHashtags ."


code:
# Translation of StatusNet - WikiHashtags 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 - WikiHashtags\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:10:27+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-19 11:23:53+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-wikihashtags\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Link title for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be edited.
#, php-format
msgid "Edit the article for #%s on WikiHashtags"
msgstr "Editar o artigo \"#%s\" en WikiHashtags"

#. TRANS: Link description for editing an article on WikiHashTags.
msgid "Edit"
msgstr "Editar"

#. TRANS: Link title for viewing the GFDL.
msgid "Shared under the terms of the GNU Free Documentation License"
msgstr "Difundido baixo os termos da licenza de documentación libre de GNU"

#. TRANS: Link description for viewing the GFDL.
msgid "GNU FDL"
msgstr "GNU FDL"

#. TRANS: Link description for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be created.
#, php-format
msgid "Start the article for #%s on WikiHashtags"
msgstr "Crear o artigo \"#%s\" en WikiHashtags"

#. TRANS: Plugin description.
msgid ""
"Gets hashtag descriptions from WikiHashtags."
msgstr ""
"Obtén as descricións das etiquetas desde WikiHashtags."


code:
# Translation of StatusNet - WikiHashtags 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 - WikiHashtags\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-31 21:06+0000\n"
"PO-Revision-Date: 2011-03-31 21:10:52+0000\n"
"Language-Team: Hebrew <http://translatewiki.net/wiki/Portal:he>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-03-18 20:10:08+0000\n"
"X-Generator: MediaWiki 1.18alpha (r85082); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: he\n"
"X-Message-Group: #out-statusnet-plugin-wikihashtags\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#, php-format
msgid "Edit the article for #%s on WikiHashtags"
msgstr ""

msgid "Edit"
msgstr ""

msgid "Shared under the terms of the GNU Free Documentation License"
msgstr ""

#, php-format
msgid "Start the article for #%s on WikiHashtags"
msgstr ""

msgid ""
"Gets hashtag descriptions from WikiHashtags."
msgstr ""
"קבלת תיאורי תגיות סולמית מ־WikiHashtags."


code:
# Translation of StatusNet - WikiHashtags 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 - WikiHashtags\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:10:27+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-19 11:23:53+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-wikihashtags\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Link title for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be edited.
#, php-format
msgid "Edit the article for #%s on WikiHashtags"
msgstr "Modificar le articulo pro #%s in WikiHashtags"

#. TRANS: Link description for editing an article on WikiHashTags.
msgid "Edit"
msgstr "Modificar"

#. TRANS: Link title for viewing the GFDL.
msgid "Shared under the terms of the GNU Free Documentation License"
msgstr ""
"Diffundite sub le conditiones del Licentia GNU pro Documentation Libere"

#. TRANS: Link description for viewing the GFDL.
msgid "GNU FDL"
msgstr "GNU FDL"

#. TRANS: Link description for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be created.
#, php-format
msgid "Start the article for #%s on WikiHashtags"
msgstr "Crear le articulo pro #%s in WikiHashtags"

#. TRANS: Plugin description.
msgid ""
"Gets hashtag descriptions from WikiHashtags."
msgstr ""
"Obtene descriptiones de hashtags ab WikiHashtags."


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

#, php-format
msgid "Edit the article for #%s on WikiHashtags"
msgstr ""

msgid "Edit"
msgstr ""

msgid "Shared under the terms of the GNU Free Documentation License"
msgstr ""

#, php-format
msgid "Start the article for #%s on WikiHashtags"
msgstr ""

msgid ""
"Gets hashtag descriptions from WikiHashtags."
msgstr ""
"Memperoleh deskripsi tagar dari WikiHashtags."


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

#. TRANS: Link title for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be edited.
#, php-format
msgid "Edit the article for #%s on WikiHashtags"
msgstr "Уредете ја статијата за #%s на WikiHashtags"

#. TRANS: Link description for editing an article on WikiHashTags.
msgid "Edit"
msgstr "Уреди"

#. TRANS: Link title for viewing the GFDL.
msgid "Shared under the terms of the GNU Free Documentation License"
msgstr ""
"Споделувањето подлежи на условите на ГНУ-овата лиценца за слободна "
"документација"

#. TRANS: Link description for viewing the GFDL.
msgid "GNU FDL"
msgstr "GNU FDL"

#. TRANS: Link description for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be created.
#, php-format
msgid "Start the article for #%s on WikiHashtags"
msgstr "Започнете ја статијата за #%s на WikiHashtags"

#. TRANS: Plugin description.
msgid ""
"Gets hashtag descriptions from WikiHashtags."
msgstr ""
"Презема описи на тарабни ознаки од WikiHashtags."


code:
# Translation of StatusNet - WikiHashtags to Malay (Bahasa Melayu)
# Exported from translatewiki.net
#
# Author: Anakmalaysia
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - WikiHashtags\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:10:27+0000\n"
"Language-Team: Malay <https://translatewiki.net/wiki/Portal:ms>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-19 11:23:53+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: ms\n"
"X-Message-Group: #out-statusnet-plugin-wikihashtags\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. TRANS: Link title for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be edited.
#, php-format
msgid "Edit the article for #%s on WikiHashtags"
msgstr "Sunting rencana untuk #%s di WikiHashtags"

#. TRANS: Link description for editing an article on WikiHashTags.
msgid "Edit"
msgstr "Sunting"

#. TRANS: Link title for viewing the GFDL.
msgid "Shared under the terms of the GNU Free Documentation License"
msgstr "Dikongsikan di bawah terma-terma Lesen Dokumentasi Bebas GNU"

#. TRANS: Link description for viewing the GFDL.
msgid "GNU FDL"
msgstr ""

#. TRANS: Link description for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be created.
#, php-format
msgid "Start the article for #%s on WikiHashtags"
msgstr "Cipta rencana untuk #%s di WikiHashtags"

#. TRANS: Plugin description.
msgid ""
"Gets hashtag descriptions from WikiHashtags."
msgstr ""
"Mendapatkan keterangan hashtag dari WikiHashtags."


code:
# Translation of StatusNet - WikiHashtags 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 - WikiHashtags\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-31 21:06+0000\n"
"PO-Revision-Date: 2011-03-31 21:10:52+0000\n"
"Language-Team: Norwegian (bokmål) <http://translatewiki.net/wiki/Portal:no>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-03-18 20:10:08+0000\n"
"X-Generator: MediaWiki 1.18alpha (r85082); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: no\n"
"X-Message-Group: #out-statusnet-plugin-wikihashtags\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#, php-format
msgid "Edit the article for #%s on WikiHashtags"
msgstr ""

msgid "Edit"
msgstr ""

msgid "Shared under the terms of the GNU Free Documentation License"
msgstr ""

#, php-format
msgid "Start the article for #%s on WikiHashtags"
msgstr ""

msgid ""
"Gets hashtag descriptions from WikiHashtags."
msgstr ""
"Henter hashtag-beskrivelser fra WikiHashtags."


code:
# Translation of StatusNet - WikiHashtags 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 - WikiHashtags\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:10:27+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-19 11:23:53+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-wikihashtags\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Link title for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be edited.
#, php-format
msgid "Edit the article for #%s on WikiHashtags"
msgstr "Het artikel voor #%s op WikiHashtags bewerken"

#. TRANS: Link description for editing an article on WikiHashTags.
msgid "Edit"
msgstr "Bewerken"

#. TRANS: Link title for viewing the GFDL.
msgid "Shared under the terms of the GNU Free Documentation License"
msgstr "Gedeeld onder de voorwaarden van de GNU Free Documentation License"

#. TRANS: Link description for viewing the GFDL.
msgid "GNU FDL"
msgstr "GNU FDL"

#. TRANS: Link description for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be created.
#, php-format
msgid "Start the article for #%s on WikiHashtags"
msgstr "Het artikel voor #%s op WikiHashtags aanmaken"

#. TRANS: Plugin description.
msgid ""
"Gets hashtag descriptions from WikiHashtags."
msgstr ""
"Haalt hashtagbeschrijvingen op van WikiHashtags."


code:
# Translation of StatusNet - WikiHashtags to Portuguese (Português)
# Exported from translatewiki.net
#
# Author: Waldir
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - WikiHashtags\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-31 21:06+0000\n"
"PO-Revision-Date: 2011-03-31 21:10:52+0000\n"
"Language-Team: Portuguese <http://translatewiki.net/wiki/Portal:pt>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-03-18 20:10:08+0000\n"
"X-Generator: MediaWiki 1.18alpha (r85082); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pt\n"
"X-Message-Group: #out-statusnet-plugin-wikihashtags\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#, php-format
msgid "Edit the article for #%s on WikiHashtags"
msgstr ""

msgid "Edit"
msgstr ""

msgid "Shared under the terms of the GNU Free Documentation License"
msgstr ""

#, php-format
msgid "Start the article for #%s on WikiHashtags"
msgstr ""

msgid ""
"Gets hashtag descriptions from WikiHashtags."
msgstr ""
"Obtém descrições de hashtags a partir de WikiHashtags."


code:
# Translation of StatusNet - WikiHashtags to Brazilian Portuguese (Português do Brasil)
# Exported from translatewiki.net
#
# Author: Giro720
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - WikiHashtags\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-31 21:06+0000\n"
"PO-Revision-Date: 2011-03-31 21:10:52+0000\n"
"Language-Team: Brazilian Portuguese <http://translatewiki.net/wiki/Portal:pt-"
"br>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-03-18 20:10:08+0000\n"
"X-Generator: MediaWiki 1.18alpha (r85082); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pt-br\n"
"X-Message-Group: #out-statusnet-plugin-wikihashtags\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#, php-format
msgid "Edit the article for #%s on WikiHashtags"
msgstr ""

msgid "Edit"
msgstr ""

msgid "Shared under the terms of the GNU Free Documentation License"
msgstr ""

#, php-format
msgid "Start the article for #%s on WikiHashtags"
msgstr ""

msgid ""
"Gets hashtag descriptions from WikiHashtags."
msgstr ""
"Obter as descrições de hashtags a partir de WikiHashtags ."


code:
# Translation of StatusNet - WikiHashtags to Russian (Русский)
# Exported from translatewiki.net
#
# Author: Александр Сигачёв
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - WikiHashtags\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-31 21:06+0000\n"
"PO-Revision-Date: 2011-03-31 21:10:52+0000\n"
"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-03-18 20:10:08+0000\n"
"X-Generator: MediaWiki 1.18alpha (r85082); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ru\n"
"X-Message-Group: #out-statusnet-plugin-wikihashtags\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"

#, php-format
msgid "Edit the article for #%s on WikiHashtags"
msgstr ""

msgid "Edit"
msgstr ""

msgid "Shared under the terms of the GNU Free Documentation License"
msgstr ""

#, php-format
msgid "Start the article for #%s on WikiHashtags"
msgstr ""

msgid ""
"Gets hashtag descriptions from WikiHashtags."
msgstr ""
"Получает описания хештегов из WikiHashtags."


code:
# Translation of StatusNet - WikiHashtags 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 - WikiHashtags\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:10:27+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-19 11:23:53+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-wikihashtags\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Link title for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be edited.
#, php-format
msgid "Edit the article for #%s on WikiHashtags"
msgstr "Baguhin ang artikulo para sa #%s na nasa WikiHashtags"

#. TRANS: Link description for editing an article on WikiHashTags.
msgid "Edit"
msgstr "Baguhin"

#. TRANS: Link title for viewing the GFDL.
msgid "Shared under the terms of the GNU Free Documentation License"
msgstr ""
"Ibinabahagi sa ilalim ng mga pagsasaad ng Lisensiya ng Malayang "
"Dokumentasyon ng GNU"

#. TRANS: Link description for viewing the GFDL.
msgid "GNU FDL"
msgstr "GNU FDL"

#. TRANS: Link description for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be created.
#, php-format
msgid "Start the article for #%s on WikiHashtags"
msgstr "Simulan ang artikulo para sa #%s na nasa WikiHashtags"

#. TRANS: Plugin description.
msgid ""
"Gets hashtag descriptions from WikiHashtags."
msgstr ""
"Kumukuha ng mga paglalarawan ng tatak ng giling mula sa WikiHashtags."


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

#, php-format
msgid "Edit the article for #%s on WikiHashtags"
msgstr ""

msgid "Edit"
msgstr ""

msgid "Shared under the terms of the GNU Free Documentation License"
msgstr ""

#, php-format
msgid "Start the article for #%s on WikiHashtags"
msgstr ""

msgid ""
"Gets hashtag descriptions from WikiHashtags."
msgstr ""
"Kareetiket tanımlarını WikiHashtags</"
"a>'tan al."


code:
# Translation of StatusNet - WikiHashtags 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 - WikiHashtags\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:10:28+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-19 11:23:53+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-wikihashtags\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: Link title for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be edited.
#, php-format
msgid "Edit the article for #%s on WikiHashtags"
msgstr "Редагувати статтю про #%s на WikiHashtags"

#. TRANS: Link description for editing an article on WikiHashTags.
msgid "Edit"
msgstr "Змінити"

#. TRANS: Link title for viewing the GFDL.
msgid "Shared under the terms of the GNU Free Documentation License"
msgstr "Розміщується на умовах GNU Free Documentation License"

#. TRANS: Link description for viewing the GFDL.
msgid "GNU FDL"
msgstr ""

#. TRANS: Link description for editing an article on WikiHashTags.
#. TRANS: %s is the hash tag page to be created.
#, php-format
msgid "Start the article for #%s on WikiHashtags"
msgstr "Почати нову статтю про #%s на WikiHashtags"

#. TRANS: Plugin description.
msgid ""
"Gets hashtag descriptions from WikiHashtags."
msgstr ""
"Отримувати описи теґів з WikiHashtags."


code:
This is an additional plugin which piggybacks on OpenID authentication to pull
profile information from WikiHow user pages when creating or updating accounts.

WikiHow runs a customized MediaWiki setup, with locally-built extensions to add
profile features such as an avatar. As this additional info isn't yet exposed
through OpenID, we need to pull it separately.

path: plugins/WikiHowProfile/README