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-06 16:28+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: Form legend for sending private message to group %s.
#: forms/groupmessage.php:89
#, php-format
msgid "Message to %s"
msgstr ""

#. TRANS: Field label for private group message to group %s.
#: forms/groupmessage.php:128
#, php-format
msgid "Direct message to %s"
msgstr ""

#. TRANS: Indicator for number of chatacters still available for notice.
#: forms/groupmessage.php:141
msgid "Available characters"
msgstr ""

#. TRANS: Send button text for sending private group notice.
#: forms/groupmessage.php:162
msgctxt "Send button for sending notice"
msgid "Send"
msgstr "بھیجیں"

#. TRANS: Client exception thrown when trying to view group inbox while not
#. logged in.
#: actions/groupinbox.php:66
msgid "Only for logged-in users."
msgstr ""

#. TRANS: Client exception thrown when trying to view group inbox for non-
#. existing group.
#. TRANS: Client exception thrown when trying to send a private group message
#. to a non-existing group.
#: actions/groupinbox.php:82 actions/groupinbox.php:89
#: actions/newgroupmessage.php:90 actions/newgroupmessage.php:97
msgid "No such group."
msgstr ""

#. TRANS: Client exception thrown when trying to view group inbox while not a
#. member.
#: actions/groupinbox.php:94
msgid "Only for members."
msgstr ""

#. TRANS: Text of group inbox if no private messages were sent to it.
#: actions/groupinbox.php:128
msgid "This group has not received any private messages."
msgstr ""

#. TRANS: Title of inbox for group %s.
#: actions/groupinbox.php:174
#, php-format
msgid "%s group inbox"
msgstr ""

#. TRANS: Page title for any but first group page.
#. TRANS: %1$s is a group name, $2$s is a page number.
#: actions/groupinbox.php:178
#, php-format
msgid "%1$s group inbox, page %2$d"
msgstr ""

#. TRANS: Instructions for user inbox page.
#: actions/groupinbox.php:209
msgid ""
"This is the group inbox, which lists all incoming private messages for this "
"group."
msgstr ""

#. TRANS: Client exception thrown when trying to send a private group message
#. while not logged in.
#: actions/newgroupmessage.php:68
msgid "Must be logged in."
msgstr ""

#. TRANS: Exception thrown when user %s is not allowed to send a private group
#. message.
#. TRANS: Exception thrown when trying to send group private message without
#. having the right to do that.
#. TRANS: %s is a user nickname.
#: actions/newgroupmessage.php:73 classes/Group_message.php:96
#, php-format
msgid "User %s is not allowed to send private messages."
msgstr ""

#. TRANS: Title after sending a private group message.
#: actions/newgroupmessage.php:142
msgid "Message sent"
msgstr ""

#. TRANS: Succes text after sending a direct message to group %s.
#: actions/newgroupmessage.php:148
#, php-format
msgid "Direct message to %s sent."
msgstr ""

#. TRANS: Title of form for new private group message.
#: actions/newgroupmessage.php:160
#, php-format
msgid "New message to group %s"
msgstr ""

#. TRANS: Client exception thrown when trying to view group private messages
#. without being logged in.
#: actions/showgroupmessage.php:69
msgid "Only logged-in users can view private messages."
msgstr ""

#. TRANS: Client exception thrown when trying to view a non-existing group
#. private message.
#: actions/showgroupmessage.php:79
msgid "No such message."
msgstr ""

#. TRANS: Server exception thrown when trying to view group private messages
#. for a non-exsting group.
#: actions/showgroupmessage.php:86
msgid "Group not found."
msgstr "گروہ نہیں ملا۔"

#. TRANS: Client exception thrown when trying to view a group private message
#. without being a group member.
#: actions/showgroupmessage.php:91
msgid "Cannot read message."
msgstr ""

#. TRANS: Server exception thrown when trying to view a group private message
#. without a sender.
#: actions/showgroupmessage.php:98
msgid "No sender found."
msgstr ""

#. TRANS: Title for private group message.
#. TRANS: %1$s is the sender name, %2$s is the group name, %3$s is a
#. timestamp.
#: actions/showgroupmessage.php:123
#, php-format
msgid "Message from %1$s to group %2$s on %3$s"
msgstr ""

#. TRANS: Subject for direct-message notification email.
#. TRANS: %1$s is the sending user's nickname, %2$s is the group nickname.
#: classes/Group_message_profile.php:114
#, php-format
msgid "New private message from %1$s to group %2$s"
msgstr ""

#. TRANS: Body for direct-message notification email.
#. TRANS: %1$s is the sending user's long name, %2$s is the sending user's
#. nickname,
#. TRANS: %3$s is the message content, %4$s a URL to the message,
#. TRANS: %5$s is the StatusNet sitename.
#: classes/Group_message_profile.php:120
#, php-format
msgid ""
"%1$s (%2$s) sent a private message to group %3$s:\n"
"\n"
"------------------------------------------------------\n"
"%4$s\n"
"------------------------------------------------------\n"
"\n"
"You can reply to their message here:\n"
"\n"
"%5$s\n"
"\n"
"Do not reply to this email; it will not get to them.\n"
"\n"
"With kind regards,\n"
"%6$s"
msgstr ""

#. TRANS: Exception thrown when trying to send group private message that is
#. too long.
#. TRANS: %d is the maximum meggage length.
#: classes/Group_message.php:109
#, php-format
msgid "That's too long. Maximum message size is %d character."
msgid_plural "That's too long. Maximum message size is %d characters."
msgstr[0] ""
msgstr[1] ""

#. TRANS: Exception thrown when trying to send group private message to a non-
#. existing group.
#: classes/Group_message.php:153
msgid "No group for group message."
msgstr ""

#. TRANS: Exception thrown when trying to send group private message without
#. having a sender.
#: classes/Group_message.php:163
msgid "No sender for group message."
msgstr ""

#. TRANS: Exception thrown when trying to set group privacy setting if group
#. %s does not allow private messages.
#: classes/Group_privacy_settings.php:110
#, php-format
msgid "Group %s does not allow private messages."
msgstr ""

#. TRANS: Exception thrown when trying to send group private message while
#. blocked from that group.
#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
#: classes/Group_privacy_settings.php:120
#, php-format
msgid "User %1$s is blocked from group %2$s."
msgstr ""

#. TRANS: Exception thrown when trying to send group private message while not
#. a member.
#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
#: classes/Group_privacy_settings.php:129
#, php-format
msgid "User %1$s is not a member of group %2$s."
msgstr ""

#. TRANS: Exception thrown when trying to send group private message while not
#. a group administrator.
#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
#: classes/Group_privacy_settings.php:138
#, php-format
msgid "User %1$s is not an administrator of group %2$s."
msgstr ""

#. TRANS: Exception thrown when encountering undefined group privacy settings.
#. TRANS: %s is a group nickname.
#: classes/Group_privacy_settings.php:146
#, php-format
msgid "Unknown privacy settings for group %s."
msgstr ""

#. TRANS: Succes message after sending private group message to group %s.
#: lib/groupmessagecommand.php:79
#, php-format
msgid "Direct message to group %s sent."
msgstr ""

#. TRANS: Menu item in group page.
#: GroupPrivateMessagePlugin.php:112
msgctxt "MENU"
msgid "Inbox"
msgstr ""

#. TRANS: Menu title in group page.
#: GroupPrivateMessagePlugin.php:114
msgid "Private messages for this group."
msgstr ""

#. TRANS: Dropdown label in group settings page for if group allows private
#. messages.
#: GroupPrivateMessagePlugin.php:160
msgid "Private messages"
msgstr ""

#. TRANS: Dropdown option in group settings page for allowing private
#. messages.
#: GroupPrivateMessagePlugin.php:162
msgid "Sometimes"
msgstr "کبھی کبھی"

#. TRANS: Dropdown option in group settings page for allowing private
#. messages.
#: GroupPrivateMessagePlugin.php:164
msgid "Always"
msgstr "ہمشہ"

#. TRANS: Dropdown option in group settings page for allowing private
#. messages.
#: GroupPrivateMessagePlugin.php:166
msgid "Never"
msgstr "کبھی نہیں"

#. TRANS: Dropdown title in group settings page for if group allows private
#. messages.
#: GroupPrivateMessagePlugin.php:168
msgid "Whether to allow private messages to this group."
msgstr ""

#. TRANS: Dropdown label in group settings page for who can send private
#. messages to the group.
#: GroupPrivateMessagePlugin.php:175
msgid "Private senders"
msgstr ""

#. TRANS: Dropdown option in group settings page for who can send private
#. messages.
#: GroupPrivateMessagePlugin.php:177
msgid "Everyone"
msgstr "سب"

#. TRANS: Dropdown option in group settings page for who can send private
#. messages.
#: GroupPrivateMessagePlugin.php:179
msgid "Member"
msgstr ""

#. TRANS: Dropdown option in group settings page for who can send private
#. messages.
#: GroupPrivateMessagePlugin.php:181
msgid "Admin"
msgstr ""

#. TRANS: Dropdown title in group settings page for who can send private
#. messages to the group.
#: GroupPrivateMessagePlugin.php:183
msgid "Who can send private messages to the group."
msgstr ""

#. TRANS: Title for action in group actions list.
#: GroupPrivateMessagePlugin.php:288
msgid "Send a direct message to this group."
msgstr ""

#. TRANS: Link text for action in group actions list to send a private message
#. to a group.
#: GroupPrivateMessagePlugin.php:290
msgctxt "LINKTEXT"
msgid "Message"
msgstr ""

#. TRANS: Client exception thrown when a private group message has to be
#. forced.
#: GroupPrivateMessagePlugin.php:368
msgid "Forced notice to private group message."
msgstr ""

#. TRANS: Indicator on the group page that the group is (essentially) private.
#: GroupPrivateMessagePlugin.php:390
msgid "Private"
msgstr "خفیہ"

#. TRANS: Plugin description.
#: GroupPrivateMessagePlugin.php:416
msgid "Allow posting private messages to groups."
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-06 16:28+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: Form legend for sending private message to group %s.
#: forms/groupmessage.php:89
#, php-format
msgid "Message to %s"
msgstr ""

#. TRANS: Field label for private group message to group %s.
#: forms/groupmessage.php:128
#, php-format
msgid "Direct message to %s"
msgstr ""

#. TRANS: Indicator for number of chatacters still available for notice.
#: forms/groupmessage.php:141
msgid "Available characters"
msgstr ""

#. TRANS: Send button text for sending private group notice.
#: forms/groupmessage.php:162
msgctxt "Send button for sending notice"
msgid "Send"
msgstr ""

#. TRANS: Client exception thrown when trying to view group inbox while not
#. logged in.
#: actions/groupinbox.php:66
msgid "Only for logged-in users."
msgstr ""

#. TRANS: Client exception thrown when trying to view group inbox for non-
#. existing group.
#. TRANS: Client exception thrown when trying to send a private group message
#. to a non-existing group.
#: actions/groupinbox.php:82 actions/groupinbox.php:89
#: actions/newgroupmessage.php:90 actions/newgroupmessage.php:97
msgid "No such group."
msgstr "Không có user nào."

#. TRANS: Client exception thrown when trying to view group inbox while not a
#. member.
#: actions/groupinbox.php:94
msgid "Only for members."
msgstr ""

#. TRANS: Text of group inbox if no private messages were sent to it.
#: actions/groupinbox.php:128
msgid "This group has not received any private messages."
msgstr ""

#. TRANS: Title of inbox for group %s.
#: actions/groupinbox.php:174
#, php-format
msgid "%s group inbox"
msgstr ""

#. TRANS: Page title for any but first group page.
#. TRANS: %1$s is a group name, $2$s is a page number.
#: actions/groupinbox.php:178
#, php-format
msgid "%1$s group inbox, page %2$d"
msgstr ""

#. TRANS: Instructions for user inbox page.
#: actions/groupinbox.php:209
msgid ""
"This is the group inbox, which lists all incoming private messages for this "
"group."
msgstr ""

#. TRANS: Client exception thrown when trying to send a private group message
#. while not logged in.
#: actions/newgroupmessage.php:68
msgid "Must be logged in."
msgstr ""

#. TRANS: Exception thrown when user %s is not allowed to send a private group
#. message.
#. TRANS: Exception thrown when trying to send group private message without
#. having the right to do that.
#. TRANS: %s is a user nickname.
#: actions/newgroupmessage.php:73 classes/Group_message.php:96
#, php-format
msgid "User %s is not allowed to send private messages."
msgstr ""

#. TRANS: Title after sending a private group message.
#: actions/newgroupmessage.php:142
msgid "Message sent"
msgstr ""

#. TRANS: Succes text after sending a direct message to group %s.
#: actions/newgroupmessage.php:148
#, php-format
msgid "Direct message to %s sent."
msgstr ""

#. TRANS: Title of form for new private group message.
#: actions/newgroupmessage.php:160
#, php-format
msgid "New message to group %s"
msgstr ""

#. TRANS: Client exception thrown when trying to view group private messages
#. without being logged in.
#: actions/showgroupmessage.php:69
msgid "Only logged-in users can view private messages."
msgstr ""

#. TRANS: Client exception thrown when trying to view a non-existing group
#. private message.
#: actions/showgroupmessage.php:79
msgid "No such message."
msgstr ""

#. TRANS: Server exception thrown when trying to view group private messages
#. for a non-exsting group.
#: actions/showgroupmessage.php:86
msgid "Group not found."
msgstr "Không tìm thấy nhóm."

#. TRANS: Client exception thrown when trying to view a group private message
#. without being a group member.
#: actions/showgroupmessage.php:91
msgid "Cannot read message."
msgstr ""

#. TRANS: Server exception thrown when trying to view a group private message
#. without a sender.
#: actions/showgroupmessage.php:98
msgid "No sender found."
msgstr ""

#. TRANS: Title for private group message.
#. TRANS: %1$s is the sender name, %2$s is the group name, %3$s is a
#. timestamp.
#: actions/showgroupmessage.php:123
#, php-format
msgid "Message from %1$s to group %2$s on %3$s"
msgstr ""

#. TRANS: Subject for direct-message notification email.
#. TRANS: %1$s is the sending user's nickname, %2$s is the group nickname.
#: classes/Group_message_profile.php:114
#, php-format
msgid "New private message from %1$s to group %2$s"
msgstr ""

#. TRANS: Body for direct-message notification email.
#. TRANS: %1$s is the sending user's long name, %2$s is the sending user's
#. nickname,
#. TRANS: %3$s is the message content, %4$s a URL to the message,
#. TRANS: %5$s is the StatusNet sitename.
#: classes/Group_message_profile.php:120
#, php-format
msgid ""
"%1$s (%2$s) sent a private message to group %3$s:\n"
"\n"
"------------------------------------------------------\n"
"%4$s\n"
"------------------------------------------------------\n"
"\n"
"You can reply to their message here:\n"
"\n"
"%5$s\n"
"\n"
"Do not reply to this email; it will not get to them.\n"
"\n"
"With kind regards,\n"
"%6$s"
msgstr ""

#. TRANS: Exception thrown when trying to send group private message that is
#. too long.
#. TRANS: %d is the maximum meggage length.
#: classes/Group_message.php:109
#, php-format
msgid "That's too long. Maximum message size is %d character."
msgid_plural "That's too long. Maximum message size is %d characters."
msgstr[0] ""

#. TRANS: Exception thrown when trying to send group private message to a non-
#. existing group.
#: classes/Group_message.php:153
msgid "No group for group message."
msgstr ""

#. TRANS: Exception thrown when trying to send group private message without
#. having a sender.
#: classes/Group_message.php:163
msgid "No sender for group message."
msgstr ""

#. TRANS: Exception thrown when trying to set group privacy setting if group
#. %s does not allow private messages.
#: classes/Group_privacy_settings.php:110
#, php-format
msgid "Group %s does not allow private messages."
msgstr ""

#. TRANS: Exception thrown when trying to send group private message while
#. blocked from that group.
#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
#: classes/Group_privacy_settings.php:120
#, php-format
msgid "User %1$s is blocked from group %2$s."
msgstr ""

#. TRANS: Exception thrown when trying to send group private message while not
#. a member.
#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
#: classes/Group_privacy_settings.php:129
#, php-format
msgid "User %1$s is not a member of group %2$s."
msgstr ""

#. TRANS: Exception thrown when trying to send group private message while not
#. a group administrator.
#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
#: classes/Group_privacy_settings.php:138
#, php-format
msgid "User %1$s is not an administrator of group %2$s."
msgstr ""

#. TRANS: Exception thrown when encountering undefined group privacy settings.
#. TRANS: %s is a group nickname.
#: classes/Group_privacy_settings.php:146
#, php-format
msgid "Unknown privacy settings for group %s."
msgstr ""

#. TRANS: Succes message after sending private group message to group %s.
#: lib/groupmessagecommand.php:79
#, php-format
msgid "Direct message to group %s sent."
msgstr ""

#. TRANS: Menu item in group page.
#: GroupPrivateMessagePlugin.php:112
msgctxt "MENU"
msgid "Inbox"
msgstr ""

#. TRANS: Menu title in group page.
#: GroupPrivateMessagePlugin.php:114
msgid "Private messages for this group."
msgstr ""

#. TRANS: Dropdown label in group settings page for if group allows private
#. messages.
#: GroupPrivateMessagePlugin.php:160
msgid "Private messages"
msgstr ""

#. TRANS: Dropdown option in group settings page for allowing private
#. messages.
#: GroupPrivateMessagePlugin.php:162
msgid "Sometimes"
msgstr ""

#. TRANS: Dropdown option in group settings page for allowing private
#. messages.
#: GroupPrivateMessagePlugin.php:164
msgid "Always"
msgstr ""

#. TRANS: Dropdown option in group settings page for allowing private
#. messages.
#: GroupPrivateMessagePlugin.php:166
msgid "Never"
msgstr ""

#. TRANS: Dropdown title in group settings page for if group allows private
#. messages.
#: GroupPrivateMessagePlugin.php:168
msgid "Whether to allow private messages to this group."
msgstr ""

#. TRANS: Dropdown label in group settings page for who can send private
#. messages to the group.
#: GroupPrivateMessagePlugin.php:175
msgid "Private senders"
msgstr ""

#. TRANS: Dropdown option in group settings page for who can send private
#. messages.
#: GroupPrivateMessagePlugin.php:177
msgid "Everyone"
msgstr ""

#. TRANS: Dropdown option in group settings page for who can send private
#. messages.
#: GroupPrivateMessagePlugin.php:179
msgid "Member"
msgstr ""

#. TRANS: Dropdown option in group settings page for who can send private
#. messages.
#: GroupPrivateMessagePlugin.php:181
msgid "Admin"
msgstr ""

#. TRANS: Dropdown title in group settings page for who can send private
#. messages to the group.
#: GroupPrivateMessagePlugin.php:183
msgid "Who can send private messages to the group."
msgstr ""

#. TRANS: Title for action in group actions list.
#: GroupPrivateMessagePlugin.php:288
msgid "Send a direct message to this group."
msgstr ""

#. TRANS: Link text for action in group actions list to send a private message
#. to a group.
#: GroupPrivateMessagePlugin.php:290
msgctxt "LINKTEXT"
msgid "Message"
msgstr ""

#. TRANS: Client exception thrown when a private group message has to be
#. forced.
#: GroupPrivateMessagePlugin.php:368
msgid "Forced notice to private group message."
msgstr ""

#. TRANS: Indicator on the group page that the group is (essentially) private.
#: GroupPrivateMessagePlugin.php:390
msgid "Private"
msgstr "Riêng tư"

#. TRANS: Plugin description.
#: GroupPrivateMessagePlugin.php:416
msgid "Allow posting private messages to groups."
msgstr ""

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-06 16:28+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: Form legend for sending private message to group %s.
#: forms/groupmessage.php:89
#, php-format
msgid "Message to %s"
msgstr ""

#. TRANS: Field label for private group message to group %s.
#: forms/groupmessage.php:128
#, php-format
msgid "Direct message to %s"
msgstr ""

#. TRANS: Indicator for number of chatacters still available for notice.
#: forms/groupmessage.php:141
msgid "Available characters"
msgstr ""

#. TRANS: Send button text for sending private group notice.
#: forms/groupmessage.php:162
msgctxt "Send button for sending notice"
msgid "Send"
msgstr ""

#. TRANS: Client exception thrown when trying to view group inbox while not
#. logged in.
#: actions/groupinbox.php:66
msgid "Only for logged-in users."
msgstr ""

#. TRANS: Client exception thrown when trying to view group inbox for non-
#. existing group.
#. TRANS: Client exception thrown when trying to send a private group message
#. to a non-existing group.
#: actions/groupinbox.php:82 actions/groupinbox.php:89
#: actions/newgroupmessage.php:90 actions/newgroupmessage.php:97
msgid "No such group."
msgstr ""

#. TRANS: Client exception thrown when trying to view group inbox while not a
#. member.
#: actions/groupinbox.php:94
msgid "Only for members."
msgstr ""

#. TRANS: Text of group inbox if no private messages were sent to it.
#: actions/groupinbox.php:128
msgid "This group has not received any private messages."
msgstr ""

#. TRANS: Title of inbox for group %s.
#: actions/groupinbox.php:174
#, php-format
msgid "%s group inbox"
msgstr ""

#. TRANS: Page title for any but first group page.
#. TRANS: %1$s is a group name, $2$s is a page number.
#: actions/groupinbox.php:178
#, php-format
msgid "%1$s group inbox, page %2$d"
msgstr ""

#. TRANS: Instructions for user inbox page.
#: actions/groupinbox.php:209
msgid ""
"This is the group inbox, which lists all incoming private messages for this "
"group."
msgstr ""

#. TRANS: Client exception thrown when trying to send a private group message
#. while not logged in.
#: actions/newgroupmessage.php:68
msgid "Must be logged in."
msgstr ""

#. TRANS: Exception thrown when user %s is not allowed to send a private group
#. message.
#. TRANS: Exception thrown when trying to send group private message without
#. having the right to do that.
#. TRANS: %s is a user nickname.
#: actions/newgroupmessage.php:73 classes/Group_message.php:96
#, php-format
msgid "User %s is not allowed to send private messages."
msgstr ""

#. TRANS: Title after sending a private group message.
#: actions/newgroupmessage.php:142
msgid "Message sent"
msgstr ""

#. TRANS: Succes text after sending a direct message to group %s.
#: actions/newgroupmessage.php:148
#, php-format
msgid "Direct message to %s sent."
msgstr ""

#. TRANS: Title of form for new private group message.
#: actions/newgroupmessage.php:160
#, php-format
msgid "New message to group %s"
msgstr ""

#. TRANS: Client exception thrown when trying to view group private messages
#. without being logged in.
#: actions/showgroupmessage.php:69
msgid "Only logged-in users can view private messages."
msgstr ""

#. TRANS: Client exception thrown when trying to view a non-existing group
#. private message.
#: actions/showgroupmessage.php:79
msgid "No such message."
msgstr ""

#. TRANS: Server exception thrown when trying to view group private messages
#. for a non-exsting group.
#: actions/showgroupmessage.php:86
msgid "Group not found."
msgstr ""

#. TRANS: Client exception thrown when trying to view a group private message
#. without being a group member.
#: actions/showgroupmessage.php:91
msgid "Cannot read message."
msgstr ""

#. TRANS: Server exception thrown when trying to view a group private message
#. without a sender.
#: actions/showgroupmessage.php:98
msgid "No sender found."
msgstr ""

#. TRANS: Title for private group message.
#. TRANS: %1$s is the sender name, %2$s is the group name, %3$s is a
#. timestamp.
#: actions/showgroupmessage.php:123
#, php-format
msgid "Message from %1$s to group %2$s on %3$s"
msgstr ""

#. TRANS: Subject for direct-message notification email.
#. TRANS: %1$s is the sending user's nickname, %2$s is the group nickname.
#: classes/Group_message_profile.php:114
#, php-format
msgid "New private message from %1$s to group %2$s"
msgstr ""

#. TRANS: Body for direct-message notification email.
#. TRANS: %1$s is the sending user's long name, %2$s is the sending user's
#. nickname,
#. TRANS: %3$s is the message content, %4$s a URL to the message,
#. TRANS: %5$s is the StatusNet sitename.
#: classes/Group_message_profile.php:120
#, php-format
msgid ""
"%1$s (%2$s) sent a private message to group %3$s:\n"
"\n"
"------------------------------------------------------\n"
"%4$s\n"
"------------------------------------------------------\n"
"\n"
"You can reply to their message here:\n"
"\n"
"%5$s\n"
"\n"
"Do not reply to this email; it will not get to them.\n"
"\n"
"With kind regards,\n"
"%6$s"
msgstr ""

#. TRANS: Exception thrown when trying to send group private message that is
#. too long.
#. TRANS: %d is the maximum meggage length.
#: classes/Group_message.php:109
#, php-format
msgid "That's too long. Maximum message size is %d character."
msgid_plural "That's too long. Maximum message size is %d characters."
msgstr[0] ""

#. TRANS: Exception thrown when trying to send group private message to a non-
#. existing group.
#: classes/Group_message.php:153
msgid "No group for group message."
msgstr ""

#. TRANS: Exception thrown when trying to send group private message without
#. having a sender.
#: classes/Group_message.php:163
msgid "No sender for group message."
msgstr ""

#. TRANS: Exception thrown when trying to set group privacy setting if group
#. %s does not allow private messages.
#: classes/Group_privacy_settings.php:110
#, php-format
msgid "Group %s does not allow private messages."
msgstr ""

#. TRANS: Exception thrown when trying to send group private message while
#. blocked from that group.
#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
#: classes/Group_privacy_settings.php:120
#, php-format
msgid "User %1$s is blocked from group %2$s."
msgstr ""

#. TRANS: Exception thrown when trying to send group private message while not
#. a member.
#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
#: classes/Group_privacy_settings.php:129
#, php-format
msgid "User %1$s is not a member of group %2$s."
msgstr ""

#. TRANS: Exception thrown when trying to send group private message while not
#. a group administrator.
#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
#: classes/Group_privacy_settings.php:138
#, php-format
msgid "User %1$s is not an administrator of group %2$s."
msgstr ""

#. TRANS: Exception thrown when encountering undefined group privacy settings.
#. TRANS: %s is a group nickname.
#: classes/Group_privacy_settings.php:146
#, php-format
msgid "Unknown privacy settings for group %s."
msgstr ""

#. TRANS: Succes message after sending private group message to group %s.
#: lib/groupmessagecommand.php:79
#, php-format
msgid "Direct message to group %s sent."
msgstr ""

#. TRANS: Menu item in group page.
#: GroupPrivateMessagePlugin.php:112
msgctxt "MENU"
msgid "Inbox"
msgstr ""

#. TRANS: Menu title in group page.
#: GroupPrivateMessagePlugin.php:114
msgid "Private messages for this group."
msgstr ""

#. TRANS: Dropdown label in group settings page for if group allows private
#. messages.
#: GroupPrivateMessagePlugin.php:160
msgid "Private messages"
msgstr ""

#. TRANS: Dropdown option in group settings page for allowing private
#. messages.
#: GroupPrivateMessagePlugin.php:162
msgid "Sometimes"
msgstr ""

#. TRANS: Dropdown option in group settings page for allowing private
#. messages.
#: GroupPrivateMessagePlugin.php:164
msgid "Always"
msgstr ""

#. TRANS: Dropdown option in group settings page for allowing private
#. messages.
#: GroupPrivateMessagePlugin.php:166
msgid "Never"
msgstr ""

#. TRANS: Dropdown title in group settings page for if group allows private
#. messages.
#: GroupPrivateMessagePlugin.php:168
msgid "Whether to allow private messages to this group."
msgstr ""

#. TRANS: Dropdown label in group settings page for who can send private
#. messages to the group.
#: GroupPrivateMessagePlugin.php:175
msgid "Private senders"
msgstr ""

#. TRANS: Dropdown option in group settings page for who can send private
#. messages.
#: GroupPrivateMessagePlugin.php:177
msgid "Everyone"
msgstr ""

#. TRANS: Dropdown option in group settings page for who can send private
#. messages.
#: GroupPrivateMessagePlugin.php:179
msgid "Member"
msgstr ""

#. TRANS: Dropdown option in group settings page for who can send private
#. messages.
#: GroupPrivateMessagePlugin.php:181
msgid "Admin"
msgstr ""

#. TRANS: Dropdown title in group settings page for who can send private
#. messages to the group.
#: GroupPrivateMessagePlugin.php:183
msgid "Who can send private messages to the group."
msgstr ""

#. TRANS: Title for action in group actions list.
#: GroupPrivateMessagePlugin.php:288
msgid "Send a direct message to this group."
msgstr ""

#. TRANS: Link text for action in group actions list to send a private message
#. to a group.
#: GroupPrivateMessagePlugin.php:290
msgctxt "LINKTEXT"
msgid "Message"
msgstr ""

#. TRANS: Client exception thrown when a private group message has to be
#. forced.
#: GroupPrivateMessagePlugin.php:368
msgid "Forced notice to private group message."
msgstr ""

#. TRANS: Indicator on the group page that the group is (essentially) private.
#: GroupPrivateMessagePlugin.php:390
msgid "Private"
msgstr ""

#. TRANS: Plugin description.
#: GroupPrivateMessagePlugin.php:416
msgid "Allow posting private messages to groups."
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-06 16:43+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\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: Form legend for sending private message to group %s.
#: forms/groupmessage.php:89
#, php-format
msgid "Message to %s"
msgstr ""

#. TRANS: Field label for private group message to group %s.
#: forms/groupmessage.php:128
#, php-format
msgid "Direct message to %s"
msgstr ""

#. TRANS: Indicator for number of chatacters still available for notice.
#: forms/groupmessage.php:141
msgid "Available characters"
msgstr ""

#. TRANS: Send button text for sending private group notice.
#: forms/groupmessage.php:162
msgctxt "Send button for sending notice"
msgid "Send"
msgstr "发送"

#. TRANS: Client exception thrown when trying to view group inbox while not
#. logged in.
#: actions/groupinbox.php:66
msgid "Only for logged-in users."
msgstr ""

#. TRANS: Client exception thrown when trying to view group inbox for non-
#. existing group.
#. TRANS: Client exception thrown when trying to send a private group message
#. to a non-existing group.
#: actions/groupinbox.php:82 actions/groupinbox.php:89
#: actions/newgroupmessage.php:90 actions/newgroupmessage.php:97
msgid "No such group."
msgstr "没有这个组。"

#. TRANS: Client exception thrown when trying to view group inbox while not a
#. member.
#: actions/groupinbox.php:94
msgid "Only for members."
msgstr ""

#. TRANS: Text of group inbox if no private messages were sent to it.
#: actions/groupinbox.php:128
msgid "This group has not received any private messages."
msgstr ""

#. TRANS: Title of inbox for group %s.
#: actions/groupinbox.php:174
#, php-format
msgid "%s group inbox"
msgstr ""

#. TRANS: Page title for any but first group page.
#. TRANS: %1$s is a group name, $2$s is a page number.
#: actions/groupinbox.php:178
#, php-format
msgid "%1$s group inbox, page %2$d"
msgstr ""

#. TRANS: Instructions for user inbox page.
#: actions/groupinbox.php:209
msgid ""
"This is the group inbox, which lists all incoming private messages for this "
"group."
msgstr ""

#. TRANS: Client exception thrown when trying to send a private group message
#. while not logged in.
#: actions/newgroupmessage.php:68
msgid "Must be logged in."
msgstr "请先登陆。"

#. TRANS: Exception thrown when user %s is not allowed to send a private group
#. message.
#. TRANS: Exception thrown when trying to send group private message without
#. having the right to do that.
#. TRANS: %s is a user nickname.
#: actions/newgroupmessage.php:73 classes/Group_message.php:96
#, php-format
msgid "User %s is not allowed to send private messages."
msgstr ""

#. TRANS: Title after sending a private group message.
#: actions/newgroupmessage.php:142
msgid "Message sent"
msgstr ""

#. TRANS: Succes text after sending a direct message to group %s.
#: actions/newgroupmessage.php:148
#, php-format
msgid "Direct message to %s sent."
msgstr ""

#. TRANS: Title of form for new private group message.
#: actions/newgroupmessage.php:160
#, php-format
msgid "New message to group %s"
msgstr ""

#. TRANS: Client exception thrown when trying to view group private messages
#. without being logged in.
#: actions/showgroupmessage.php:69
msgid "Only logged-in users can view private messages."
msgstr ""

#. TRANS: Client exception thrown when trying to view a non-existing group
#. private message.
#: actions/showgroupmessage.php:79
msgid "No such message."
msgstr ""

#. TRANS: Server exception thrown when trying to view group private messages
#. for a non-exsting group.
#: actions/showgroupmessage.php:86
msgid "Group not found."
msgstr "小组未找到。"

#. TRANS: Client exception thrown when trying to view a group private message
#. without being a group member.
#: actions/showgroupmessage.php:91
msgid "Cannot read message."
msgstr ""

#. TRANS: Server exception thrown when trying to view a group private message
#. without a sender.
#: actions/showgroupmessage.php:98
msgid "No sender found."
msgstr ""

#. TRANS: Title for private group message.
#. TRANS: %1$s is the sender name, %2$s is the group name, %3$s is a
#. timestamp.
#: actions/showgroupmessage.php:123
#, php-format
msgid "Message from %1$s to group %2$s on %3$s"
msgstr ""

#. TRANS: Subject for direct-message notification email.
#. TRANS: %1$s is the sending user's nickname, %2$s is the group nickname.
#: classes/Group_message_profile.php:114
#, php-format
msgid "New private message from %1$s to group %2$s"
msgstr ""

#. TRANS: Body for direct-message notification email.
#. TRANS: %1$s is the sending user's long name, %2$s is the sending user's
#. nickname,
#. TRANS: %3$s is the message content, %4$s a URL to the message,
#. TRANS: %5$s is the StatusNet sitename.
#: classes/Group_message_profile.php:120
#, php-format
msgid ""
"%1$s (%2$s) sent a private message to group %3$s:\n"
"\n"
"------------------------------------------------------\n"
"%4$s\n"
"------------------------------------------------------\n"
"\n"
"You can reply to their message here:\n"
"\n"
"%5$s\n"
"\n"
"Do not reply to this email; it will not get to them.\n"
"\n"
"With kind regards,\n"
"%6$s"
msgstr ""

#. TRANS: Exception thrown when trying to send group private message that is
#. too long.
#. TRANS: %d is the maximum meggage length.
#: classes/Group_message.php:109
#, php-format
msgid "That's too long. Maximum message size is %d character."
msgid_plural "That's too long. Maximum message size is %d characters."
msgstr[0] ""

#. TRANS: Exception thrown when trying to send group private message to a non-
#. existing group.
#: classes/Group_message.php:153
msgid "No group for group message."
msgstr ""

#. TRANS: Exception thrown when trying to send group private message without
#. having a sender.
#: classes/Group_message.php:163
msgid "No sender for group message."
msgstr ""

#. TRANS: Exception thrown when trying to set group privacy setting if group
#. %s does not allow private messages.
#: classes/Group_privacy_settings.php:110
#, php-format
msgid "Group %s does not allow private messages."
msgstr ""

#. TRANS: Exception thrown when trying to send group private message while
#. blocked from that group.
#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
#: classes/Group_privacy_settings.php:120
#, php-format
msgid "User %1$s is blocked from group %2$s."
msgstr ""

#. TRANS: Exception thrown when trying to send group private message while not
#. a member.
#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
#: classes/Group_privacy_settings.php:129
#, php-format
msgid "User %1$s is not a member of group %2$s."
msgstr ""

#. TRANS: Exception thrown when trying to send group private message while not
#. a group administrator.
#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
#: classes/Group_privacy_settings.php:138
#, php-format
msgid "User %1$s is not an administrator of group %2$s."
msgstr ""

#. TRANS: Exception thrown when encountering undefined group privacy settings.
#. TRANS: %s is a group nickname.
#: classes/Group_privacy_settings.php:146
#, php-format
msgid "Unknown privacy settings for group %s."
msgstr ""

#. TRANS: Succes message after sending private group message to group %s.
#: lib/groupmessagecommand.php:79
#, php-format
msgid "Direct message to group %s sent."
msgstr ""

#. TRANS: Menu item in group page.
#: GroupPrivateMessagePlugin.php:112
msgctxt "MENU"
msgid "Inbox"
msgstr ""

#. TRANS: Menu title in group page.
#: GroupPrivateMessagePlugin.php:114
msgid "Private messages for this group."
msgstr ""

#. TRANS: Dropdown label in group settings page for if group allows private
#. messages.
#: GroupPrivateMessagePlugin.php:160
msgid "Private messages"
msgstr ""

#. TRANS: Dropdown option in group settings page for allowing private
#. messages.
#: GroupPrivateMessagePlugin.php:162
msgid "Sometimes"
msgstr "有时"

#. TRANS: Dropdown option in group settings page for allowing private
#. messages.
#: GroupPrivateMessagePlugin.php:164
msgid "Always"
msgstr "总是"

#. TRANS: Dropdown option in group settings page for allowing private
#. messages.
#: GroupPrivateMessagePlugin.php:166
msgid "Never"
msgstr "从不"

#. TRANS: Dropdown title in group settings page for if group allows private
#. messages.
#: GroupPrivateMessagePlugin.php:168
msgid "Whether to allow private messages to this group."
msgstr ""

#. TRANS: Dropdown label in group settings page for who can send private
#. messages to the group.
#: GroupPrivateMessagePlugin.php:175
msgid "Private senders"
msgstr ""

#. TRANS: Dropdown option in group settings page for who can send private
#. messages.
#: GroupPrivateMessagePlugin.php:177
msgid "Everyone"
msgstr "每个人"

#. TRANS: Dropdown option in group settings page for who can send private
#. messages.
#: GroupPrivateMessagePlugin.php:179
msgid "Member"
msgstr ""

#. TRANS: Dropdown option in group settings page for who can send private
#. messages.
#: GroupPrivateMessagePlugin.php:181
msgid "Admin"
msgstr "管理"

#. TRANS: Dropdown title in group settings page for who can send private
#. messages to the group.
#: GroupPrivateMessagePlugin.php:183
msgid "Who can send private messages to the group."
msgstr ""

#. TRANS: Title for action in group actions list.
#: GroupPrivateMessagePlugin.php:288
msgid "Send a direct message to this group."
msgstr ""

#. TRANS: Link text for action in group actions list to send a private message
#. to a group.
#: GroupPrivateMessagePlugin.php:290
msgctxt "LINKTEXT"
msgid "Message"
msgstr ""

#. TRANS: Client exception thrown when a private group message has to be
#. forced.
#: GroupPrivateMessagePlugin.php:368
msgid "Forced notice to private group message."
msgstr ""

#. TRANS: Indicator on the group page that the group is (essentially) private.
#: GroupPrivateMessagePlugin.php:390
msgid "Private"
msgstr "私人"

#. TRANS: Plugin description.
#: GroupPrivateMessagePlugin.php:416
msgid "Allow posting private messages to groups."
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-06 16:28+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: Form legend for sending private message to group %s.
#: forms/groupmessage.php:89
#, php-format
msgid "Message to %s"
msgstr ""

#. TRANS: Field label for private group message to group %s.
#: forms/groupmessage.php:128
#, php-format
msgid "Direct message to %s"
msgstr ""

#. TRANS: Indicator for number of chatacters still available for notice.
#: forms/groupmessage.php:141
msgid "Available characters"
msgstr ""

#. TRANS: Send button text for sending private group notice.
#: forms/groupmessage.php:162
msgctxt "Send button for sending notice"
msgid "Send"
msgstr ""

#. TRANS: Client exception thrown when trying to view group inbox while not
#. logged in.
#: actions/groupinbox.php:66
msgid "Only for logged-in users."
msgstr ""

#. TRANS: Client exception thrown when trying to view group inbox for non-
#. existing group.
#. TRANS: Client exception thrown when trying to send a private group message
#. to a non-existing group.
#: actions/groupinbox.php:82 actions/groupinbox.php:89
#: actions/newgroupmessage.php:90 actions/newgroupmessage.php:97
msgid "No such group."
msgstr "無此使用者"

#. TRANS: Client exception thrown when trying to view group inbox while not a
#. member.
#: actions/groupinbox.php:94
msgid "Only for members."
msgstr ""

#. TRANS: Text of group inbox if no private messages were sent to it.
#: actions/groupinbox.php:128
msgid "This group has not received any private messages."
msgstr ""

#. TRANS: Title of inbox for group %s.
#: actions/groupinbox.php:174
#, php-format
msgid "%s group inbox"
msgstr ""

#. TRANS: Page title for any but first group page.
#. TRANS: %1$s is a group name, $2$s is a page number.
#: actions/groupinbox.php:178
#, php-format
msgid "%1$s group inbox, page %2$d"
msgstr ""

#. TRANS: Instructions for user inbox page.
#: actions/groupinbox.php:209
msgid ""
"This is the group inbox, which lists all incoming private messages for this "
"group."
msgstr ""

#. TRANS: Client exception thrown when trying to send a private group message
#. while not logged in.
#: actions/newgroupmessage.php:68
msgid "Must be logged in."
msgstr ""

#. TRANS: Exception thrown when user %s is not allowed to send a private group
#. message.
#. TRANS: Exception thrown when trying to send group private message without
#. having the right to do that.
#. TRANS: %s is a user nickname.
#: actions/newgroupmessage.php:73 classes/Group_message.php:96
#, php-format
msgid "User %s is not allowed to send private messages."
msgstr ""

#. TRANS: Title after sending a private group message.
#: actions/newgroupmessage.php:142
msgid "Message sent"
msgstr ""

#. TRANS: Succes text after sending a direct message to group %s.
#: actions/newgroupmessage.php:148
#, php-format
msgid "Direct message to %s sent."
msgstr ""

#. TRANS: Title of form for new private group message.
#: actions/newgroupmessage.php:160
#, php-format
msgid "New message to group %s"
msgstr ""

#. TRANS: Client exception thrown when trying to view group private messages
#. without being logged in.
#: actions/showgroupmessage.php:69
msgid "Only logged-in users can view private messages."
msgstr ""

#. TRANS: Client exception thrown when trying to view a non-existing group
#. private message.
#: actions/showgroupmessage.php:79
msgid "No such message."
msgstr ""

#. TRANS: Server exception thrown when trying to view group private messages
#. for a non-exsting group.
#: actions/showgroupmessage.php:86
msgid "Group not found."
msgstr "確認碼遺失"

#. TRANS: Client exception thrown when trying to view a group private message
#. without being a group member.
#: actions/showgroupmessage.php:91
msgid "Cannot read message."
msgstr ""

#. TRANS: Server exception thrown when trying to view a group private message
#. without a sender.
#: actions/showgroupmessage.php:98
msgid "No sender found."
msgstr ""

#. TRANS: Title for private group message.
#. TRANS: %1$s is the sender name, %2$s is the group name, %3$s is a
#. timestamp.
#: actions/showgroupmessage.php:123
#, php-format
msgid "Message from %1$s to group %2$s on %3$s"
msgstr ""

#. TRANS: Subject for direct-message notification email.
#. TRANS: %1$s is the sending user's nickname, %2$s is the group nickname.
#: classes/Group_message_profile.php:114
#, php-format
msgid "New private message from %1$s to group %2$s"
msgstr ""

#. TRANS: Body for direct-message notification email.
#. TRANS: %1$s is the sending user's long name, %2$s is the sending user's
#. nickname,
#. TRANS: %3$s is the message content, %4$s a URL to the message,
#. TRANS: %5$s is the StatusNet sitename.
#: classes/Group_message_profile.php:120
#, php-format
msgid ""
"%1$s (%2$s) sent a private message to group %3$s:\n"
"\n"
"------------------------------------------------------\n"
"%4$s\n"
"------------------------------------------------------\n"
"\n"
"You can reply to their message here:\n"
"\n"
"%5$s\n"
"\n"
"Do not reply to this email; it will not get to them.\n"
"\n"
"With kind regards,\n"
"%6$s"
msgstr ""

#. TRANS: Exception thrown when trying to send group private message that is
#. too long.
#. TRANS: %d is the maximum meggage length.
#: classes/Group_message.php:109
#, php-format
msgid "That's too long. Maximum message size is %d character."
msgid_plural "That's too long. Maximum message size is %d characters."
msgstr[0] ""

#. TRANS: Exception thrown when trying to send group private message to a non-
#. existing group.
#: classes/Group_message.php:153
msgid "No group for group message."
msgstr ""

#. TRANS: Exception thrown when trying to send group private message without
#. having a sender.
#: classes/Group_message.php:163
msgid "No sender for group message."
msgstr ""

#. TRANS: Exception thrown when trying to set group privacy setting if group
#. %s does not allow private messages.
#: classes/Group_privacy_settings.php:110
#, php-format
msgid "Group %s does not allow private messages."
msgstr ""

#. TRANS: Exception thrown when trying to send group private message while
#. blocked from that group.
#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
#: classes/Group_privacy_settings.php:120
#, php-format
msgid "User %1$s is blocked from group %2$s."
msgstr ""

#. TRANS: Exception thrown when trying to send group private message while not
#. a member.
#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
#: classes/Group_privacy_settings.php:129
#, php-format
msgid "User %1$s is not a member of group %2$s."
msgstr ""

#. TRANS: Exception thrown when trying to send group private message while not
#. a group administrator.
#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
#: classes/Group_privacy_settings.php:138
#, php-format
msgid "User %1$s is not an administrator of group %2$s."
msgstr ""

#. TRANS: Exception thrown when encountering undefined group privacy settings.
#. TRANS: %s is a group nickname.
#: classes/Group_privacy_settings.php:146
#, php-format
msgid "Unknown privacy settings for group %s."
msgstr ""

#. TRANS: Succes message after sending private group message to group %s.
#: lib/groupmessagecommand.php:79
#, php-format
msgid "Direct message to group %s sent."
msgstr ""

#. TRANS: Menu item in group page.
#: GroupPrivateMessagePlugin.php:112
msgctxt "MENU"
msgid "Inbox"
msgstr ""

#. TRANS: Menu title in group page.
#: GroupPrivateMessagePlugin.php:114
msgid "Private messages for this group."
msgstr ""

#. TRANS: Dropdown label in group settings page for if group allows private
#. messages.
#: GroupPrivateMessagePlugin.php:160
msgid "Private messages"
msgstr ""

#. TRANS: Dropdown option in group settings page for allowing private
#. messages.
#: GroupPrivateMessagePlugin.php:162
msgid "Sometimes"
msgstr ""

#. TRANS: Dropdown option in group settings page for allowing private
#. messages.
#: GroupPrivateMessagePlugin.php:164
msgid "Always"
msgstr ""

#. TRANS: Dropdown option in group settings page for allowing private
#. messages.
#: GroupPrivateMessagePlugin.php:166
msgid "Never"
msgstr ""

#. TRANS: Dropdown title in group settings page for if group allows private
#. messages.
#: GroupPrivateMessagePlugin.php:168
msgid "Whether to allow private messages to this group."
msgstr ""

#. TRANS: Dropdown label in group settings page for who can send private
#. messages to the group.
#: GroupPrivateMessagePlugin.php:175
msgid "Private senders"
msgstr ""

#. TRANS: Dropdown option in group settings page for who can send private
#. messages.
#: GroupPrivateMessagePlugin.php:177
msgid "Everyone"
msgstr ""

#. TRANS: Dropdown option in group settings page for who can send private
#. messages.
#: GroupPrivateMessagePlugin.php:179
msgid "Member"
msgstr ""

#. TRANS: Dropdown option in group settings page for who can send private
#. messages.
#: GroupPrivateMessagePlugin.php:181
msgid "Admin"
msgstr ""

#. TRANS: Dropdown title in group settings page for who can send private
#. messages to the group.
#: GroupPrivateMessagePlugin.php:183
msgid "Who can send private messages to the group."
msgstr ""

#. TRANS: Title for action in group actions list.
#: GroupPrivateMessagePlugin.php:288
msgid "Send a direct message to this group."
msgstr ""

#. TRANS: Link text for action in group actions list to send a private message
#. to a group.
#: GroupPrivateMessagePlugin.php:290
msgctxt "LINKTEXT"
msgid "Message"
msgstr ""

#. TRANS: Client exception thrown when a private group message has to be
#. forced.
#: GroupPrivateMessagePlugin.php:368
msgid "Forced notice to private group message."
msgstr ""

#. TRANS: Indicator on the group page that the group is (essentially) private.
#: GroupPrivateMessagePlugin.php:390
msgid "Private"
msgstr ""

#. TRANS: Plugin description.
#: GroupPrivateMessagePlugin.php:416
msgid "Allow posting private messages to groups."
msgstr ""


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

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

/**
 * @package     Activity
 * @maintainer  Mikael Nordfeldth <mmn@hethane.se>
 */
class HTMLPurifierSchemesPlugin extends Plugin
{
    const PLUGIN_VERSION = '2.0.0';

    public function onPluginVersion(array &$versions)
    {
        $versions[] = array('name' => 'HTMLPurifier Schemes',
                            'version' => self::PLUGIN_VERSION,
                            'author' => 'Mikael Nordfeldth',
                            'homepage' => 'https://gnu.io/social',
                            'rawdescription' =>
                            // TRANS: Plugin description.
                            _m('Additional URI schemes for HTMLPurifier.'));

        return true;
    }
}


code:
<?php

/**
 * Validates bitcoin (Bitcoin addresses)
 * @todo validate address length and stuff
 */

class HTMLPurifier_URIScheme_bitcoin extends HTMLPurifier_URIScheme
{
    /**
     * @type bool
     */
    public $browsable = false;

    /**
     * @type bool
     */
    public $may_omit_host = true;

    /**
     * @param HTMLPurifier_URI $uri
     * @param HTMLPurifier_Config $config
     * @param HTMLPurifier_Context $context
     * @return bool
     */
    public function doValidate(&$uri, $config, $context)
    {
        $uri->userinfo = null;
        $uri->host     = null;
        $uri->port     = null;
        return true;
    }
}

// vim: et sw=4 sts=4


code:
<?php

/**
 * Validates geo (geographical coordinates) according to RFC 5870
 * @todo Filter allowed query parameters and their order
 */

class HTMLPurifier_URIScheme_geo extends HTMLPurifier_URIScheme
{
    /**
     * @type bool
     */
    public $browsable = false;

    /**
     * @type bool
     */
    public $may_omit_host = true;

    /**
     * @param HTMLPurifier_URI $uri
     * @param HTMLPurifier_Config $config
     * @param HTMLPurifier_Context $context
     * @return bool
     */
    public function doValidate(&$uri, $config, $context)
    {
        $uri->userinfo = null;
        $uri->host     = null;
        $uri->port     = null;
        return true;
    }
}

// vim: et sw=4 sts=4


code:
<?php

/**
 * Validates gopher
 */
class HTMLPurifier_URIScheme_gopher extends HTMLPurifier_URIScheme
{
    /**
     * @type int
     */
    public $default_port = 70;

    /**
     * @type bool
     */
    public $browsable = true;

    /**
     * @type bool
     */
    public $hierarchical = true;

    /**
     * @param HTMLPurifier_URI $uri
     * @param HTMLPurifier_Config $config
     * @param HTMLPurifier_Context $context
     * @return bool
     */
    public function doValidate(&$uri, $config, $context)
    {
        $uri->userinfo = null;
        return true;
    }
}

// vim: et sw=4 sts=4


code:
<?php

/**
 * Validates irc
 */
class HTMLPurifier_URIScheme_irc extends HTMLPurifier_URIScheme
{
    /**
     * @type int
     */
//    public $default_port = 6667;

    /**
     * @type bool
     */
    public $browsable = false;

    /**
     * @type bool
     */
    public $hierarchical = true;

    /**
     * @param HTMLPurifier_URI $uri
     * @param HTMLPurifier_Config $config
     * @param HTMLPurifier_Context $context
     * @return bool
     */
    public function doValidate(&$uri, $config, $context)
    {
        $uri->userinfo = null;
        return true;
    }
}

// vim: et sw=4 sts=4


code:
<?php

/**
 * Validates irc
 */
class HTMLPurifier_URIScheme_ircs extends HTMLPurifier_URIScheme
{
    /**
     * @type int
     */
//    public $default_port = 6697;

    /**
     * @type bool
     */
    public $secure = true;

    /**
     * @type bool
     */
    public $browsable = false;

    /**
     * @type bool
     */
    public $hierarchical = true;

    /**
     * @param HTMLPurifier_URI $uri
     * @param HTMLPurifier_Config $config
     * @param HTMLPurifier_Context $context
     * @return bool
     */
    public function doValidate(&$uri, $config, $context)
    {
        $uri->userinfo = null;
        return true;
    }
}

// vim: et sw=4 sts=4


code:
<?php

/**
 * Validates magnet (BitTorrent hash links)
 * @todo require xt= GET parameter
 */

class HTMLPurifier_URIScheme_magnet extends HTMLPurifier_URIScheme
{
    /**
     * @type bool
     */
    public $browsable = false;

    /**
     * @type bool
     */
    public $may_omit_host = true;

    /**
     * @param HTMLPurifier_URI $uri
     * @param HTMLPurifier_Config $config
     * @param HTMLPurifier_Context $context
     * @return bool
     */
    public function doValidate(&$uri, $config, $context)
    {
        $uri->userinfo = null;
        $uri->host     = null;
        $uri->port     = null;
        return true;
    }
}

// vim: et sw=4 sts=4


code:
<?php

/**
 * Validates xmpp (for XMPP, so called JIDs)
 * @todo Validate the xmpp address
 */

class HTMLPurifier_URIScheme_xmpp extends HTMLPurifier_URIScheme
{
    /**
     * @type bool
     */
    public $browsable = false;

    /**
     * @type bool
     */
    public $may_omit_host = true;

    /**
     * @param HTMLPurifier_URI $uri
     * @param HTMLPurifier_Config $config
     * @param HTMLPurifier_Context $context
     * @return bool
     */
    public function doValidate(&$uri, $config, $context)
    {
        $uri->userinfo = null;
        $uri->host     = null;
        $uri->port     = null;
        return true;
    }
}

// vim: et sw=4 sts=4


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-06-08 18:20+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.
#: HTMLPurifierSchemesPlugin.php:41
msgid "Additional URI schemes for HTMLPurifier."
msgstr ""


code:
<?php
/**
 * GNU social - a federating social network
 *
 * Plugin to handle more kinds of image formats thanks to ImageMagick
 *
 * PHP version 5
 *
 * LICENCE: This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @category  Plugin
 * @package   GNUsocial
 * @author    Mikael Nordfeldth <mmn@hethane.se>
 * @copyright 2014 Free Software Foundation http://fsf.org
 * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
 * @link      https://www.gnu.org/software/social/
 */

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

/*
 * Dependencies:
 *  php5-imagick
 *
 * Provides:
 *  Animated GIF resize support
 *
 * Comments:
 *  Animated GIF resize requires setting $config['thumbnail']['animated'] = true;
 *
 * Bugs:
 *  Not even ImageMagick is very good at resizing animated GIFs.
 *  We are not infinitely fast, so resizing animated GIFs is _not_ recommended.
 */

class ImageMagickPlugin extends Plugin
{
    const PLUGIN_VERSION = '2.0.0';

    public $preview_imageformat = 'PNG';    // Image format strings: http://www.imagemagick.org/script/formats.php#supported
    public $rasterize_vectors = false;       // Whether we want to turn SVG into PNG etc.

    /**
     * @param ImageFile $file An ImageFile object we're getting metadata for
     * @param array $info The response from getimagesize()
     */
    public function onFillImageFileMetadata(ImageFile $imagefile) {
        if (is_null($imagefile->animated) && $imagefile->mimetype === 'image/gif') {
            $magick = new Imagick($imagefile->filepath);
            $magick = $magick->coalesceImages();
            $imagefile->animated = $magick->getNumberImages()>1;
        }

        return true;
    }

    public function onStartResizeImageFile(ImageFile $imagefile, $outpath, array $box)
    {
        switch ($imagefile->mimetype) {
        case 'image/gif':
            // If GIF, then only for animated gifs! (and only if we really want to resize the animation!)
            if ($imagefile->animated && common_config('thumbnail', 'animated')) {
                return $this->resizeImageFileAnimatedGif($imagefile, $outpath, $box);
            }
            break;
        }
        return true;
    }

    protected function resizeImageFileAnimatedGif(ImageFile $imagefile, $outpath, array $box)
    {
        $magick = new Imagick($imagefile->filepath);
        $magick = $magick->coalesceImages();
        $magick->setIteratorIndex(0);
        do {
            $magick->cropImage($box['w'], $box['h'], $box['x'], $box['y']);
            $magick->thumbnailImage($box['width'], $box['height']);
            $magick->setImagePage($box['width'], $box['height'], 0, 0);
        } while ($magick->nextImage());
        $magick = $magick->deconstructImages();

        // $magick->writeImages($outpath, true); did not work, had to use filehandle
        // There's been bugs for writeImages in php5-imagick before, probably now too
        $fh = fopen($outpath, 'w+');
        $success = $magick->writeImagesFile($fh);
        fclose($fh);
        $magick->destroy();

        return !$success;
    }

    public function onCreateFileImageThumbnailSource(File $file, &$imgPath, $media=null)
    {
        switch ($file->mimetype) {
        case 'image/svg+xml':
            if (!$this->rasterize_vectors) {
                // ImageMagick seems to be hard to trick into scaling vector graphics...
                return true;
            }
            break;
        default:
            // If we don't know the format, let's try not to mess with anything.
            return true;
        }

        $imgPath = tempnam(sys_get_temp_dir(), 'socialthumb-');
        if (!$this->createImagePreview($file, $imgPath)) {
            common_debug('Could not create ImageMagick preview of File id=='.$file->id);
            @unlink($imgPath);
            $imgPath = null;
            return true;
        }
        return false;
    }

    protected function createImagePreview(File $file, $outpath)
    {
        $magick = new Imagick($file->getPath());
        $magick->setImageFormat($this->preview_imageformat);
        $magick->writeImage($outpath);
        $magick->destroy();

        return getimagesize($outpath);  // Verify that we wrote an understandable image.
    }

    public function onPluginVersion(array &$versions)
    {
        $versions[] = array('name' => 'ImageMagick',
                            'version' => self::PLUGIN_VERSION,
                            'author' => 'Mikael Nordfeldth',
                            'homepage' => 'http://gnu.io/social',
                            'rawdescription' =>
                            // TRANS: Plugin description.
                            _m('Use ImageMagick for some more image support.'));
        return true;
    }
}


code:
The ImageMagick plugin handles more kinds of image formats for thumbnails,
thanks to ImageMagick.

Note: This plugin depends on php5-imagick

Installation
============
add "addPlugin('ImageMagick');"
to the bottom of your config.php

Settings
========
animated: Whether to resize animated GIFs.

Note: We are not infinitely fast, so resizing animated GIFs is _not_ recommended.

Example
=======
$config['thumbnail']['animated'] = true;
addPlugin('ImageMagick');

path: plugins/ImageMagick/README


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-06-08 18:20+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.
#: ImageMagickPlugin.php:145
msgid "Use ImageMagick for some more image support."
msgstr ""


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

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

/**
 * IMAP plugin to allow StatusNet to grab incoming emails and handle them as new user posts
 *
 * @category Plugin
 * @package  StatusNet
 * @author   Craig Andrews <candrews@integralblue.com
 * @copyright 2009 Free Software Foundation, Inc http://www.fsf.org
 * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
 * @link     http://status.net/
 */
class ImapPlugin extends Plugin
{
    const PLUGIN_VERSION = '2.0.0';

    public $mailbox;
    public $user;
    public $password;
    public $poll_frequency = 60;

    function initialize(){
        if(!isset($this->mailbox)){
            // TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
            throw new Exception(_m('A mailbox must be specified.'));
        }
        if(!isset($this->user)){
            // TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
            throw new Exception(_m('A user must be specified.'));
        }
        if(!isset($this->password)){
            // TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
            throw new Exception(_m('A password must be specified.'));
        }
        if(!isset($this->poll_frequency)){
            // TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
            // TRANS: poll_frequency is a setting that should not be translated.
            throw new Exception(_m('A poll_frequency must be specified.'));
        }

        return true;
    }

    function onStartQueueDaemonIoManagers(&$classes)
    {
        $classes[] = new ImapManager($this);
    }

    function onPluginVersion(array &$versions)
    {
        $versions[] = array('name' => 'IMAP',
                            'version' => self::PLUGIN_VERSION,
                            'author' => 'Craig Andrews',
                            'homepage' => 'https://git.gnu.io/gnu/gnu-social/tree/master/plugins/IMAP',
                            'rawdescription' =>
                            // TRANS: Plugin description.
                            _m('The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for incoming mail containing user posts.'));
        return true;
    }
}


code:
The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for
incoming mail containing user posts.

Installation
============
addPlugin('imap', array(
    'mailbox' => '...',
    'user' => '...',
    'password' => '...'
));
to the bottom of your config.php

Also, make sure:
$config['mail']['domain'] = 'yourdomain.example.net';
is set in your config.php

Create a catch-all account for your domain, and use this account with this
plugin. Whenever a user sends a message to their personal notice posting
address, the message should end up in this mailbox, and then the plugin daemon
will pick it up and post the notice on the user's behalf.

The daemon included with this plugin must be running. It will be started by
the plugin along with their other daemons when you run scripts/startdaemons.sh.
See the StatusNet README for more about queuing and daemons.

Settings
========
mailbox*: the mailbox specifier.
    See http://www.php.net/manual/en/function.imap-open.php for details
user*: username to use when authenticating to the mailbox
password*: password to use when authenticating to the mailbox
poll_frequency: how often (in seconds) to check for new messages

path: plugins/Imap/README


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

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

class IMAPMailHandler extends MailHandler
{
    function error($from, $msg)
    {
        $this->log(LOG_INFO, "Error: $from $msg");
        $headers['To'] = $from;
        // TRANS: E-mail subject in case of an error.
        $headers['Subject'] = _m('Error');

        return mail_send(array($from), $headers, $msg);
    }
}


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

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

class ImapManager extends IoManager
{
    protected $conn = null;

    function __construct($plugin)
    {
        $this->plugin = $plugin;
    }

    /**
     * Fetch the singleton manager for the current site.
     * @return mixed ImapManager, or false if unneeded
     */
    public static function get()
    {
        // TRANS: Exception thrown when the ImapManager is used incorrectly in the code.
        throw new Exception(_m('ImapManager should be created using its constructor, not using the static "get()" method.'));
    }

    /**
     * Lists the IM connection socket to allow i/o master to wake
     * when input comes in here as well as from the queue source.
     *
     * @return array of resources
     */
    public function getSockets()
    {
        return array();
    }

    /**
     * Tell the i/o master we need one instance globally.
     * Since this is a plugin manager, the plugin class itself will
     * create one instance per site. This prevents the IoMaster from
     * making more instances.
     */
    public static function multiSite()
    {
        return IoManager::GLOBAL_SINGLE_ONLY;
    }

    /**
     * Initialize connection to server.
     * @return boolean true on success
     */
    public function start($master)
    {
        if(parent::start($master))
        {
            $this->conn = $this->connect();
            return true;
        }else{
            return false;
        }
    }

    public function handleInput($socket)
    {
        $this->check_mailbox();
        return true;
    }

    public function poll()
    {
        return $this->check_mailbox() > 0;
    }

    function pollInterval()
    {
        return $this->plugin->poll_frequency;
    }

    protected function connect()
    {
        $this->conn = imap_open($this->plugin->mailbox, $this->plugin->user, $this->plugin->password);
        if($this->conn){
            common_log(LOG_INFO, "Connected");
            return $this->conn;
        }else{
            common_log(LOG_INFO, "Failed to connect: " . imap_last_error());
            return $this->conn;
        }
    }

    protected function check_mailbox()
    {
        imap_ping($this->conn);
        $count = imap_num_msg($this->conn);
        common_log(LOG_INFO, "Found $count messages");
        if($count > 0){
            $handler = new IMAPMailHandler();
            for($i=1; $i <= $count; $i++)
            {
                $rawmessage = imap_fetchheader($this->conn, $count, FT_PREFETCHTEXT) . imap_body($this->conn, $i);
                $handler->handle_message($rawmessage);
                imap_delete($this->conn, $i);
            }
            imap_expunge($this->conn);
            common_log(LOG_INFO, "Finished processing messages");
        }
        return $count;
    }
}


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-06-08 18:20+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: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:57
msgid "A mailbox must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:61
msgid "A user must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:65
msgid "A password must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#. TRANS: poll_frequency is a setting that should not be translated.
#: ImapPlugin.php:70
msgid "A poll_frequency must be specified."
msgstr ""

#. TRANS: Plugin description.
#: ImapPlugin.php:89
msgid ""
"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
"incoming mail containing user posts."
msgstr ""

#. TRANS: E-mail subject in case of an error.
#: lib/imapmailhandler.php:31
msgid "Error"
msgstr ""

#. TRANS: Exception thrown when the ImapManager is used incorrectly in the code.
#: lib/imapmanager.php:52
msgid ""
"ImapManager should be created using its constructor, not using the static "
"\"get()\" method."
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-06 16:29+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: E-mail subject in case of an error.
#: lib/imapmailhandler.php:31
msgid "Error"
msgstr ""

#. TRANS: Exception thrown when the ImapManager is used incorrectly in the
#. code.
#: lib/imapmanager.php:52
msgid ""
"ImapManager should be created using its constructor, not using the static "
"\"get()\" method."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:55
msgid "A mailbox must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:59
msgid "A user must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:63
msgid "A password must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#. TRANS: poll_frequency is a setting that should not be translated.
#: ImapPlugin.php:68
msgid "A poll_frequency must be specified."
msgstr ""

#. TRANS: Plugin description.
#: ImapPlugin.php:87
msgid ""
"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
"incoming mail containing user posts."
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-06 16:29+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: E-mail subject in case of an error.
#: lib/imapmailhandler.php:31
msgid "Error"
msgstr ""

#. TRANS: Exception thrown when the ImapManager is used incorrectly in the
#. code.
#: lib/imapmanager.php:52
msgid ""
"ImapManager should be created using its constructor, not using the static "
"\"get()\" method."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:55
msgid "A mailbox must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:59
msgid "A user must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:63
msgid "A password must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#. TRANS: poll_frequency is a setting that should not be translated.
#: ImapPlugin.php:68
msgid "A poll_frequency must be specified."
msgstr ""

#. TRANS: Plugin description.
#: ImapPlugin.php:87
msgid ""
"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
"incoming mail containing user posts."
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-06 16:29+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: E-mail subject in case of an error.
#: lib/imapmailhandler.php:31
msgid "Error"
msgstr ""

#. TRANS: Exception thrown when the ImapManager is used incorrectly in the
#. code.
#: lib/imapmanager.php:52
msgid ""
"ImapManager should be created using its constructor, not using the static "
"\"get()\" method."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:55
msgid "A mailbox must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:59
msgid "A user must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:63
msgid "A password must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#. TRANS: poll_frequency is a setting that should not be translated.
#: ImapPlugin.php:68
msgid "A poll_frequency must be specified."
msgstr ""

#. TRANS: Plugin description.
#: ImapPlugin.php:87
msgid ""
"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
"incoming mail containing user posts."
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-06 16:29+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: E-mail subject in case of an error.
#: lib/imapmailhandler.php:31
msgid "Error"
msgstr ""

#. TRANS: Exception thrown when the ImapManager is used incorrectly in the
#. code.
#: lib/imapmanager.php:52
msgid ""
"ImapManager should be created using its constructor, not using the static "
"\"get()\" method."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:55
msgid "A mailbox must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:59
msgid "A user must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:63
msgid "A password must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#. TRANS: poll_frequency is a setting that should not be translated.
#: ImapPlugin.php:68
msgid "A poll_frequency must be specified."
msgstr ""

#. TRANS: Plugin description.
#: ImapPlugin.php:87
msgid ""
"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
"incoming mail containing user posts."
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-06 16:29+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: E-mail subject in case of an error.
#: lib/imapmailhandler.php:31
msgid "Error"
msgstr ""

#. TRANS: Exception thrown when the ImapManager is used incorrectly in the
#. code.
#: lib/imapmanager.php:52
msgid ""
"ImapManager should be created using its constructor, not using the static "
"\"get()\" method."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:55
msgid "A mailbox must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:59
msgid "A user must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:63
msgid "A password must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#. TRANS: poll_frequency is a setting that should not be translated.
#: ImapPlugin.php:68
msgid "A poll_frequency must be specified."
msgstr ""

#. TRANS: Plugin description.
#: ImapPlugin.php:87
msgid ""
"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
"incoming mail containing user posts."
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-06 16:29+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: E-mail subject in case of an error.
#: lib/imapmailhandler.php:31
msgid "Error"
msgstr ""

#. TRANS: Exception thrown when the ImapManager is used incorrectly in the
#. code.
#: lib/imapmanager.php:52
msgid ""
"ImapManager should be created using its constructor, not using the static "
"\"get()\" method."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:55
msgid "A mailbox must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:59
msgid "A user must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:63
msgid "A password must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#. TRANS: poll_frequency is a setting that should not be translated.
#: ImapPlugin.php:68
msgid "A poll_frequency must be specified."
msgstr ""

#. TRANS: Plugin description.
#: ImapPlugin.php:87
msgid ""
"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
"incoming mail containing user posts."
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-06 16:29+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: E-mail subject in case of an error.
#: lib/imapmailhandler.php:31
msgid "Error"
msgstr ""

#. TRANS: Exception thrown when the ImapManager is used incorrectly in the
#. code.
#: lib/imapmanager.php:52
msgid ""
"ImapManager should be created using its constructor, not using the static "
"\"get()\" method."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:55
msgid "A mailbox must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:59
msgid "A user must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:63
msgid "A password must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#. TRANS: poll_frequency is a setting that should not be translated.
#: ImapPlugin.php:68
msgid "A poll_frequency must be specified."
msgstr ""

#. TRANS: Plugin description.
#: ImapPlugin.php:87
msgid ""
"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
"incoming mail containing user posts."
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-06 16:34+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\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: E-mail subject in case of an error.
#: lib/imapmailhandler.php:31
msgid "Error"
msgstr "Fazi"

#. TRANS: Exception thrown when the ImapManager is used incorrectly in the
#. code.
#: lib/imapmanager.php:52
msgid ""
"ImapManager should be created using its constructor, not using the static "
"\"get()\" method."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:55
msgid "A mailbox must be specified."
msgstr "Ur boest lizhiri a rank bezañ spisaet."

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:59
msgid "A user must be specified."
msgstr "Un anv-implijer a rank bezañ spisaet."

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:63
msgid "A password must be specified."
msgstr "Ur ger-tremen a rank bezañ spisaet."

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#. TRANS: poll_frequency is a setting that should not be translated.
#: ImapPlugin.php:68
msgid "A poll_frequency must be specified."
msgstr ""

#. TRANS: Plugin description.
#: ImapPlugin.php:87
msgid ""
"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
"incoming mail containing user posts."
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-06 16:34+0000\n"
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\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: E-mail subject in case of an error.
#: lib/imapmailhandler.php:31
msgid "Error"
msgstr "Error"

#. TRANS: Exception thrown when the ImapManager is used incorrectly in the
#. code.
#: lib/imapmanager.php:52
msgid ""
"ImapManager should be created using its constructor, not using the static "
"\"get()\" method."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:55
msgid "A mailbox must be specified."
msgstr "Cal especificar una bústia de correu."

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:59
msgid "A user must be specified."
msgstr "Cal especificar un usuari."

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:63
msgid "A password must be specified."
msgstr "Cal especificar una contrasenya."

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#. TRANS: poll_frequency is a setting that should not be translated.
#: ImapPlugin.php:68
msgid "A poll_frequency must be specified."
msgstr "Cal especificar una freqüència de les enquestes (poll_frequency)."

#. TRANS: Plugin description.
#: ImapPlugin.php:87
msgid ""
"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
"incoming mail containing user posts."
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-06 16:29+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: E-mail subject in case of an error.
#: lib/imapmailhandler.php:31
msgid "Error"
msgstr ""

#. TRANS: Exception thrown when the ImapManager is used incorrectly in the
#. code.
#: lib/imapmanager.php:52
msgid ""
"ImapManager should be created using its constructor, not using the static "
"\"get()\" method."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:55
msgid "A mailbox must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:59
msgid "A user must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:63
msgid "A password must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#. TRANS: poll_frequency is a setting that should not be translated.
#: ImapPlugin.php:68
msgid "A poll_frequency must be specified."
msgstr ""

#. TRANS: Plugin description.
#: ImapPlugin.php:87
msgid ""
"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
"incoming mail containing user posts."
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-06 16:29+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: E-mail subject in case of an error.
#: lib/imapmailhandler.php:31
msgid "Error"
msgstr ""

#. TRANS: Exception thrown when the ImapManager is used incorrectly in the
#. code.
#: lib/imapmanager.php:52
msgid ""
"ImapManager should be created using its constructor, not using the static "
"\"get()\" method."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:55
msgid "A mailbox must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:59
msgid "A user must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#: ImapPlugin.php:63
msgid "A password must be specified."
msgstr ""

#. TRANS: Exception thrown when configuration of the IMAP plugin is incorrect.
#. TRANS: poll_frequency is a setting that should not be translated.
#: ImapPlugin.php:68
msgid "A poll_frequency must be specified."
msgstr ""

#. TRANS: Plugin description.
#: ImapPlugin.php:87
msgid ""
"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
"incoming mail containing user posts."
msgstr ""