code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:17+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Lithuanian (http://www.transifex.com/gnu-social/gnu-social/language/lt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: lt\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (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).
#: 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] ""
msgstr[2] ""

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


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:34+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Latvian (http://www.transifex.com/gnu-social/gnu-social/language/lv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: lv\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).
#: 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] ""
msgstr[2] ""

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

repo_name: spookie/gnu

license: mit


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:17+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Malagasy (http://www.transifex.com/gnu-social/gnu-social/language/mg/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: mg\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).
#: 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 file for GNU social - the free software social networking platform
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:34+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Macedonian (http://www.transifex.com/gnu-social/gnu-social/language/mk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: mk\n"
"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 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).
#: 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] "Не можам да Ве регистрирам. Достигнат е максималниот број на корисници (%d) за ова мрежно место."
msgstr[1] "Не можам да Ве регистрирам. Достигнат е максималниот број на корисници (%d) за ова мрежно место."

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


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:17+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Malayalam (http://www.transifex.com/gnu-social/gnu-social/language/ml/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ml\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).
#: 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 file for GNU social - the free software social networking platform
# Copyright (C) 2011 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:34+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Malay (http://www.transifex.com/gnu-social/gnu-social/language/ms/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ms\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).
#: 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] ""

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


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:17+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Burmese (http://www.transifex.com/gnu-social/gnu-social/language/my/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: my\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).
#: 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] ""

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


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:34+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Norwegian Bokmål (http://www.transifex.com/gnu-social/gnu-social/language/nb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: nb\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).
#: 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 "Begrens antallet brukere som kan registrere seg."


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:17+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Nepali (http://www.transifex.com/gnu-social/gnu-social/language/ne/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ne\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).
#: 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 file for GNU social - the free software social networking platform
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:34+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Dutch (http://www.transifex.com/gnu-social/gnu-social/language/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: nl\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).
#: 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] "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.
#: UserLimitPlugin.php:92
msgid "Limit the number of users who can register."
msgstr "Limiteert het aantal gebruikers dat kan registreren."


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:17+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Norwegian Nynorsk (http://www.transifex.com/gnu-social/gnu-social/language/nn/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: nn\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).
#: 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 file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
# Mateusz Zimniak <lonetraveller@wp.pl>, 2015
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-08-02 17:51+0000\n"
"Last-Translator: Mateusz Zimniak <lonetraveller@wp.pl>\n"
"Language-Team: Polish (http://www.transifex.com/gnu-social/gnu-social/language/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pl\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"

#. TRANS: 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] "Nie możesz się zarejestrować ponieważ maksymalna liczba użytkowników (%d) dla tej strony została osiągnięta."
msgstr[1] "Nie możesz się zarejestrować ponieważ maksymalna liczba użytkowników (%d) dla tej strony została osiągnięta."
msgstr[2] "Nie możesz się zarejestrować ponieważ maksymalna liczba użytkowników (%d) dla tej strony została osiągnięta."

#. TRANS: Plugin description.
#: UserLimitPlugin.php:92
msgid "Limit the number of users who can register."
msgstr "Określ limit użytkowników którzy mogą się zarejestrować."


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:34+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Portuguese (http://www.transifex.com/gnu-social/gnu-social/language/pt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pt\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).
#: 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 "Limitar o número de utilizadores que se podem registar."


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:34+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/gnu-social/gnu-social/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pt_BR\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).
#: 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 "Limitar o número de usuários que podem se registrar."


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:17+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Romanian (Romania) (http://www.transifex.com/gnu-social/gnu-social/language/ro_RO/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ro_RO\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2: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).
#: 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] ""
msgstr[2] ""

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


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:34+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Russian (http://www.transifex.com/gnu-social/gnu-social/language/ru/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ru\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\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] ""
msgstr[2] ""
msgstr[3] ""

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


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:17+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Slovenian (http://www.transifex.com/gnu-social/gnu-social/language/sl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: sl\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\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] ""
msgstr[2] ""
msgstr[3] ""

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


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:17+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Serbian (http://www.transifex.com/gnu-social/gnu-social/language/sr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: sr\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).
#: 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] ""
msgstr[2] ""

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


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
# Kristoffer Grundström <kristoffer.grundstrom1983@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-09-15 22:24+0000\n"
"Last-Translator: Kristoffer Grundström <kristoffer.grundstrom1983@gmail.com>\n"
"Language-Team: Swedish (http://www.transifex.com/gnu-social/gnu-social/language/sv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: sv\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).
#: 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] "Kan inte registrera eftersom att gränsen för maximalt antal användare (%d) för den här sidan har nåtts."
msgstr[1] "Kan inte registrera eftersom att gränsen för maximalt antal användare (%d) för den här sidan har nåtts."

#. TRANS: Plugin description.
#: UserLimitPlugin.php:92
msgid "Limit the number of users who can register."
msgstr "Begränsa antalet användare som kan registrera."


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:17+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Tamil (http://www.transifex.com/gnu-social/gnu-social/language/ta/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ta\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).
#: 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 file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:17+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Telugu (http://www.transifex.com/gnu-social/gnu-social/language/te/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: te\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).
#: 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 file for GNU social - the free software social networking platform
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:34+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Tagalog (http://www.transifex.com/gnu-social/gnu-social/language/tl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: tl\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).
#: 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] "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.
#: UserLimitPlugin.php:92
msgid "Limit the number of users who can register."
msgstr "Hangganan ng bilang ng mga tagagamit na makakapagpatala."


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:34+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Turkish (http://www.transifex.com/gnu-social/gnu-social/language/tr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: tr\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).
#: 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 "Kayıt olabilecek kullanıcı sayısını sınırla."


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:34+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
"Language-Team: Ukrainian (http://www.transifex.com/gnu-social/gnu-social/language/uk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: uk\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).
#: 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] ""
msgstr[2] ""

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


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:17+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Urdu (Pakistan) (http://www.transifex.com/gnu-social/gnu-social/language/ur_PK/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ur_PK\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).
#: 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 file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:17+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Vietnamese (http://www.transifex.com/gnu-social/gnu-social/language/vi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: vi\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).
#: 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] ""

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


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:17+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Chinese (http://www.transifex.com/gnu-social/gnu-social/language/zh/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: zh\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).
#: 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] ""

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


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:17+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/gnu-social/gnu-social/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: zh_CN\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).
#: 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] ""

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


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:17+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/gnu-social/gnu-social/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: zh_TW\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).
#: 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] ""

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


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:
The WebFinger plugin adds WebFinger lookup to GNU Social

Installation
============
This plugin is enabled by default except on private instances

Settings
========
none

path: plugins/WebFinger/README


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
{
    const PLUGIN_VERSION = '2.0.0';

    const OAUTH_ACCESS_TOKEN_REL    = 'http://apinamespace.org/oauth/access_token';
    const OAUTH_REQUEST_TOKEN_REL   = 'http://apinamespace.org/oauth/request_token';
    const OAUTH_AUTHORIZE_REL       = 'http://apinamespace.org/oauth/authorize';

    public function onRouterInitialized(URLMapper $m)
    {
        $m->connect('.well-known/host-meta', ['action' => 'hostmeta']);
        $m->connect('.well-known/host-meta.:format',
                    ['action' => 'hostmeta'],
                    ['format' => '(xml|json)']);
        // the resource GET parameter can be anywhere, so don't mention it here
        $m->connect('.well-known/webfinger', ['action' => 'webfinger']);
        $m->connect('.well-known/webfinger.:format',
                    ['action' => 'webfinger'],
                    ['format' => '(xml|json)']);
        $m->connect('main/ownerxrd', ['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')) {
                    throw new Exception(_('Remote profiles not supported via WebFinger yet.'));
                }

                $nick = common_canonical_nickname($nick);
                $user = User::getKV('nickname', $nick);
                if (!($user instanceof User)) {
                    throw new NoSuchUserException(array('nickname'=>$nick));
                }
                $profile = $user->getProfile();
            }
        } elseif (!common_valid_http_url($resource)) {
            // If it's not a URL, we can't do our http<->https legacy fix thingie anyway,
            // so just try the User URI lookup!
            try {
                $user = User::getByUri($resource);
                $profile = $user->getProfile();
            } catch (NoResultException $e) {
                // not a User, maybe a Notice? we'll try that further down...
            }
        } else {
            // this means $resource is a common_valid_http_url (or https)
            // First build up a set of alternative resource URLs that we can use.
            $alt_urls = [$resource => true];
            if (strtolower(parse_url($resource, PHP_URL_SCHEME)) === 'https'
                    && common_config('fix', 'legacy_http')) {
                $alt_urls[preg_replace('/^https:/i', 'http:', $resource, 1)] = true;
            }
            if (common_config('fix', 'fancyurls')) {
                foreach (array_keys($alt_urls) as $url) {
                    try {   // if it's a /index.php/ url
                        // common_fake_local_fancy_url can throw an exception
                        $alt_url = common_fake_local_fancy_url($url);
                    } catch (Exception $e) {    // let's try to create a fake local /index.php/ url
                        // this too if it can't do anything about the URL
                        $alt_url = common_fake_local_nonfancy_url($url);
                    }

                    $alt_urls[$alt_url] = true;
                }
            }
            common_debug(__METHOD__.': Generated these alternative URLs for various federation fixes: '._ve(array_keys($alt_urls)));

            try {
                common_debug(__METHOD__.': Finding User URI for WebFinger lookup on resource=='._ve($resource));
                $user = new User();
                $user->whereAddIn('uri', array_keys($alt_urls), $user->columnType('uri'));
                $user->limit(1);
                if ($user->find(true)) {
                    $profile = $user->getProfile();
                }
                unset($user);
            } catch (Exception $e) {
                // Most likely a UserNoProfileException, if it ever happens
                // and then we need to do some debugging and perhaps fixes.
                common_log(LOG_ERR, get_class($e).': '._ve($e->getMessage()));
                throw $e;
            }

            try {
                common_debug(__METHOD__.': Finding User_group URI for WebFinger lookup on resource=='._ve($resource));
                $group = new User_group();
                $group->whereAddIn('uri', array_keys($alt_urls), $group->columnType('uri'));
                $group->limit(1);
                if ($group->find(true)) {
                    $profile = $group->getProfile();
                }
                unset($group);
            } catch (Exception $e) {
                common_log(LOG_ERR, get_class($e).': '._ve($e->getMessage()));
                throw $e;
            }

            // User URI did not match, so let's try our alt_urls as Profile URL values
            if (!$profile instanceof Profile) {
                common_debug(__METHOD__.': Finding Profile URLs for WebFinger lookup on resource=='._ve($resource));
                // if our rewrite hack didn't work, try to get something by profile URL
                $profile = new Profile();
                $profile->whereAddIn('profileurl', array_keys($alt_urls), $profile->columnType('profileurl'));
                $profile->limit(1);
                if (!$profile->find(true) || !$profile->isLocal()) {
                    // * Either we didn't find the profile, then we want to make
                    //   the $profile variable null for clarity.
                    // * Or we did find it but for a possibly malicious remote
                    //   user who might've set their profile URL to a Notice URL
                    //   which would've caused a sort of DoS unless we continue
                    //   our search here by discarding the remote profile.
                    $profile = null;
                }
            }
        }

        if ($profile instanceof Profile) {
            common_debug(__METHOD__.': Found Profile with ID=='._ve($profile->getID()).' for resource=='._ve($resource));
            $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
        }

        // OAuth connections
        $links[] = new XML_XRD_Element_link(self::OAUTH_ACCESS_TOKEN_REL,  common_local_url('ApiOAuthAccessToken'));
        $links[] = new XML_XRD_Element_link(self::OAUTH_REQUEST_TOKEN_REL, common_local_url('ApiOAuthRequestToken'));
        $links[] = new XML_XRD_Element_link(self::OAUTH_AUTHORIZE_REL,     common_local_url('ApiOAuthAuthorize'));
    }

    /**
     * Add a link header for LRDD Discovery
     */
    public function onStartShowHTML($action)
    {
        if ($action instanceof ShowstreamAction) {
            $resource = $action->getTarget()->getUri();
            $url = common_local_url('webfinger') . '?resource='.urlencode($resource);

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

    public function onPluginVersion(array &$versions): bool
    {
        $versions[] = array('name' => 'WebFinger',
                            'version' => self::PLUGIN_VERSION,
                            'author' => 'Mikael Nordfeldth',
                            'homepage' => GNUSOCIAL_ENGINE_URL,
                            // 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 = $this->object->getAliasesWithIDs();

        // Some sites have changed from http to https and still want
        // (because remote sites look for it) verify that they are still
        // the same identity as they were on HTTP. Should NOT be used if
        // you've run HTTPS all the time!
        if (common_config('fix', 'legacy_http')) {
            foreach ($aliases as $alias=>$id) {
                if (!strtolower(parse_url($alias, PHP_URL_SCHEME)) === 'https') {
                    continue;
                }
                $aliases[preg_replace('/^https:/i', 'http:', $alias, 1)] = $id;
            }
        }

        // return a unique set of aliases by extracting only the keys
        return array_keys($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))) {
            if ($this->object->isLocal()) {
                $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');
            } else {
                try {
                    $xrd->links[] = new XML_XRD_Element_Link('alternate',
                                        $this->object->getUrl(),
                                        'text/html');
                } catch (InvalidUrlException $e) {
                    // don't do a fallback in webfinger
                }
            }
            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();

        // only persons ("accounts" or "agents" actually) have acct: URIs
        if ($this->object->isPerson()) {
            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->getID()})");
            }
        }

        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->getNickname()) || empty($host)) {
                throw new WebFingerReconstructionException($this->object);
            }
            $acct = mb_strtolower(sprintf('acct:%s@%s', $this->object->getNickname(), $host));

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

        return $acct;
    }

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

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

            // Profile page, can give more metadata from Link header or HTML parsing
            $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');
            if ($this->object->isPerson()) {
                // FOAF for user
                $xrd->links[] = new XML_XRD_Element_Link('describedby',
                                        common_local_url('foaf',
                                                        array('nickname' => $this->object->getNickname())),
                                                                'application/rdf+xml');

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

                $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->getNickname();
                $xrd->links[] = clone $link;

            } elseif ($this->object->isGroup()) {
                // FOAF for group
                $xrd->links[] = new XML_XRD_Element_Link('describedby',
                                        common_local_url('foafgroup',
                                                        array('nickname' => $this->object->getNickname())),
                                                                'application/rdf+xml');
            }

            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:
# 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: 2019-08-14 14:51+0100\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"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

#. TRANS: Plugin description.
#: WebFingerPlugin.php:230
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Afrikaans (http://www.transifex.com/gnu-social/gnu-social/language/af/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: af\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Arabic (http://www.transifex.com/gnu-social/gnu-social/language/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ar\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Arabic (Egypt) (http://www.transifex.com/gnu-social/gnu-social/language/ar_EG/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ar_EG\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Asturian (http://www.transifex.com/gnu-social/gnu-social/language/ast/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ast\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Belarusian (Tarask) (http://www.transifex.com/gnu-social/gnu-social/language/be@tarask/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: be@tarask\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Bulgarian (http://www.transifex.com/gnu-social/gnu-social/language/bg/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: bg\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Bengali (India) (http://www.transifex.com/gnu-social/gnu-social/language/bn_IN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: bn_IN\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Breton (http://www.transifex.com/gnu-social/gnu-social/language/br/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: br\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Catalan (http://www.transifex.com/gnu-social/gnu-social/language/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Czech (http://www.transifex.com/gnu-social/gnu-social/language/cs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: cs\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Danish (http://www.transifex.com/gnu-social/gnu-social/language/da/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: German (http://www.transifex.com/gnu-social/gnu-social/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Greek (http://www.transifex.com/gnu-social/gnu-social/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: el\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
# Luke Hollins <luke@farcry.ca>, 2015
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-03-07 13:42+0000\n"
"Last-Translator: Luke Hollins <luke@farcry.ca>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/gnu-social/gnu-social/language/en_GB/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: en_GB\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr "Resource not found in local database."

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr "Adds WebFinger lookup to GNU Social"


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Esperanto (http://www.transifex.com/gnu-social/gnu-social/language/eo/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: eo\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
# Ismael Moral <jastertdc@gmail.com>, 2015
# Juan Riquelme González <soulchainer@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-28 21:51+0000\n"
"Last-Translator: Juan Riquelme González <soulchainer@gmail.com>\n"
"Language-Team: Spanish (http://www.transifex.com/gnu-social/gnu-social/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr "Recurso no encontrado en la base de datos local. "

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr "Añade búsqueda de WebFinger a GNU social."


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Basque (http://www.transifex.com/gnu-social/gnu-social/language/eu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: eu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Persian (http://www.transifex.com/gnu-social/gnu-social/language/fa/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fa\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Finnish (http://www.transifex.com/gnu-social/gnu-social/language/fi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
# kris <cb16@actocom.com>, 2015
# Vinilox <vinilox@vinilox.eu>, 2015
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-05-03 19:54+0000\n"
"Last-Translator: kris <cb16@actocom.com>\n"
"Language-Team: French (http://www.transifex.com/gnu-social/gnu-social/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr "La ressource n'a pas été trouvée dans la base de données"

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr "Ajoutez la recherche de webfinger à GNU Social"


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Friulian (http://www.transifex.com/gnu-social/gnu-social/language/fur/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fur\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Galician (http://www.transifex.com/gnu-social/gnu-social/language/gl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: gl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Hebrew (http://www.transifex.com/gnu-social/gnu-social/language/he/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: he\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Upper Sorbian (http://www.transifex.com/gnu-social/gnu-social/language/hsb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: hsb\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Hungarian (http://www.transifex.com/gnu-social/gnu-social/language/hu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: hu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""


code:
# Translation file for GNU social - the free software social networking platform
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
# This file is under https://www.gnu.org/licenses/agpl v3 or later
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: GNU social\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
"PO-Revision-Date: 2015-02-07 12:23+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Armenian (Armenia) (http://www.transifex.com/gnu-social/gnu-social/language/hy_AM/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: hy_AM\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Error message when an object URI which we cannot find was requested
#: actions/webfinger.php:49
msgid "Resource not found in local database."
msgstr ""

#. TRANS: Plugin description.
#: WebFingerPlugin.php:147
msgid "Adds WebFinger lookup to GNU Social"
msgstr ""