]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - locale/pt/LC_MESSAGES/statusnet.po
Merge branch 'testing' into privategroup
[quix0rs-gnu-social.git] / locale / pt / LC_MESSAGES / statusnet.po
index 35084b26cd5f5b5d344fc20fb8aaa4f164acb348..1b6b69908f9b4923a85abc222285801e8d8d0831 100644 (file)
@@ -1,6 +1,8 @@
 # Translation of StatusNet - Core to Portuguese (Português)
 # Translation of StatusNet - Core to Portuguese (Português)
-# Expored from translatewiki.net
+# Exported from translatewiki.net
 #
 #
+# Author: Aracnus
+# Author: Brion
 # Author: Gallaecio
 # Author: Giro720
 # Author: Hamilton Abreu
 # Author: Gallaecio
 # Author: Giro720
 # Author: Hamilton Abreu
@@ -13,156 +15,200 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-18 20:49+0000\n"
-"PO-Revision-Date: 2010-10-18 20:50:55+0000\n"
+"POT-Creation-Date: 2011-01-30 22:50+0000\n"
+"PO-Revision-Date: 2011-01-30 22:52:37+0000\n"
 "Language-Team: Portuguese <http://translatewiki.net/wiki/Portal:pt>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language-Team: Portuguese <http://translatewiki.net/wiki/Portal:pt>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r74965); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.18alpha (r81224); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: pt\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: pt\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2010-10-18 20:28:37+0000\n"
+"X-POT-Import-Date: 2011-01-29 22:24:50+0000\n"
 
 
-#. TRANS: Page title
+#. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
 #. TRANS: Menu item for site administration
-#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:363
+#: actions/accessadminpanel.php:53 lib/adminpanelaction.php:363
 msgid "Access"
 msgstr "Acesso"
 
 msgid "Access"
 msgstr "Acesso"
 
-#. TRANS: Page notice
-#: actions/accessadminpanel.php:67
+#. TRANS: Page notice.
+#: actions/accessadminpanel.php:64
 msgid "Site access settings"
 msgstr "Configurações de acesso ao site"
 
 #. TRANS: Form legend for registration form.
 msgid "Site access settings"
 msgstr "Configurações de acesso ao site"
 
 #. TRANS: Form legend for registration form.
-#: actions/accessadminpanel.php:161
+#: actions/accessadminpanel.php:151
 msgid "Registration"
 msgstr "Registo"
 
 msgid "Registration"
 msgstr "Registo"
 
-#. TRANS: Checkbox instructions for admin setting "Private"
-#: actions/accessadminpanel.php:165
+#. TRANS: Checkbox instructions for admin setting "Private".
+#: actions/accessadminpanel.php:155
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr "Proibir utilizadores anónimos (sem sessão iniciada) de ver o site?"
 
 #. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
 msgstr "Proibir utilizadores anónimos (sem sessão iniciada) de ver o site?"
 
 #. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
-#: actions/accessadminpanel.php:167
+#: actions/accessadminpanel.php:157
 msgctxt "LABEL"
 msgid "Private"
 msgstr "Privado"
 
 msgctxt "LABEL"
 msgid "Private"
 msgstr "Privado"
 
-#. TRANS: Checkbox instructions for admin setting "Invite only"
-#: actions/accessadminpanel.php:174
+#. TRANS: Checkbox instructions for admin setting "Invite only".
+#: actions/accessadminpanel.php:164
 msgid "Make registration invitation only."
 msgstr "Permitir o registo só a convidados."
 
 #. TRANS: Checkbox label for configuring site as invite only.
 msgid "Make registration invitation only."
 msgstr "Permitir o registo só a convidados."
 
 #. TRANS: Checkbox label for configuring site as invite only.
-#: actions/accessadminpanel.php:176
+#: actions/accessadminpanel.php:166
 msgid "Invite only"
 msgstr "Só por convite"
 
 msgid "Invite only"
 msgstr "Só por convite"
 
-#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
-#: actions/accessadminpanel.php:183
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations).
+#: actions/accessadminpanel.php:173
 msgid "Disable new registrations."
 msgstr "Impossibilitar registos novos."
 
 #. TRANS: Checkbox label for disabling new user registrations.
 msgid "Disable new registrations."
 msgstr "Impossibilitar registos novos."
 
 #. TRANS: Checkbox label for disabling new user registrations.
-#: actions/accessadminpanel.php:185
+#: actions/accessadminpanel.php:175
 msgid "Closed"
 msgstr "Fechado"
 
 msgid "Closed"
 msgstr "Fechado"
 
-#. TRANS: Title / tooltip for button to save access settings in site admin panel
-#: actions/accessadminpanel.php:202
+#. TRANS: Title for button to save access settings in site admin panel.
+#: actions/accessadminpanel.php:191
 msgid "Save access settings"
 msgstr "Gravar configurações de acesso"
 
 msgid "Save access settings"
 msgstr "Gravar configurações de acesso"
 
+#. TRANS: Tooltip for button to save access settings in site admin panel.
+#. TRANS: Button text for saving theme settings.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
+#. TRANS: Button text to store form data in the Paths admin panel.
+#. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Button label to save SMS preferences.
+#. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
 #. TRANS: Button label in the "Edit application" form.
-#: actions/accessadminpanel.php:203 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/smssettings.php:209
-#: lib/applicationeditform.php:355
+#. TRANS: Button text on profile design page to save settings.
+#: actions/accessadminpanel.php:193 actions/designadminpanel.php:732
+#: actions/emailsettings.php:250 actions/imsettings.php:183
+#: actions/othersettings.php:134 actions/pathsadminpanel.php:512
+#: actions/profilesettings.php:197 actions/sitenoticeadminpanel.php:197
+#: actions/smssettings.php:205 actions/subscriptions.php:259
+#: actions/useradminpanel.php:298 lib/applicationeditform.php:355
+#: lib/designsettings.php:270 lib/groupeditform.php:198
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Gravar"
 
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Gravar"
 
+#. TRANS: Server error when page not found (404).
 #. TRANS: Server error when page not found (404)
 #: actions/all.php:68 actions/public.php:98 actions/replies.php:93
 #. TRANS: Server error when page not found (404)
 #: actions/all.php:68 actions/public.php:98 actions/replies.php:93
-#: actions/showfavorites.php:138 actions/tag.php:52
+#: actions/showfavorites.php:140 actions/tag.php:52
 msgid "No such page."
 msgstr "Página não foi encontrada."
 
 msgid "No such page."
 msgstr "Página não foi encontrada."
 
+#. TRANS: Client error when user not found for an action.
+#. TRANS: Client error when user not found for an rss related action.
+#. TRANS: Client error displayed when no existing user is provided for a user's delivery device setting.
+#. TRANS: Client error displayed if a user could not be found.
+#. TRANS: Client error when user not found updating a profile background image.
+#. TRANS: Client error displayed updating profile image without having a user object.
+#. TRANS: Client error displayed when making an Atom API request for an unknown user.
+#. TRANS: Client error displayed when trying to block a non-existing user or a user from another site.
+#. TRANS: Client error when user not found for an API action to remove a block for a user.
 #. TRANS: Client error given when a user was not found (404).
 #. TRANS: Client error given when a user was not found (404).
+#. TRANS: Client error when user not found for an API direct message action.
+#. TRANS: Client error given when a user was not found (404).
+#. TRANS: Client error displayed when checking group membership for a non-existing user.
+#. TRANS: Client error displayed when trying to have a non-existing user join a group.
+#. TRANS: Client error displayed when trying to have a non-existing user leave a group.
+#. TRANS: Client error displayed when updating a status for a non-existing user.
+#. TRANS: Client error displayed when requesting a list of followers for a non-existing user.
+#. TRANS: Client error displayed when requesting most recent favourite notices by a user for a non-existing user.
+#. TRANS: Client error displayed when requesting dents of a user and friends for a user that does not exist.
+#. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
+#. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
+#. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
+#. TRANS: Client error displayed when trying to get the RSS feed with favorites of a user that does not exist.
+#. TRANS: Client error displayed when trying to display favourite notices for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
-#: actions/all.php:79 actions/allrss.php:68
-#: actions/apiaccountupdatedeliverydevice.php:115
-#: actions/apiaccountupdateprofile.php:106
-#: actions/apiaccountupdateprofilebackgroundimage.php:117
-#: actions/apiaccountupdateprofileimage.php:106 actions/apiblockcreate.php:98
-#: actions/apiblockdestroy.php:97 actions/apidirectmessage.php:78
-#: actions/apidirectmessagenew.php:72 actions/apigroupcreate.php:114
-#: actions/apigroupismember.php:91 actions/apigroupjoin.php:101
-#: actions/apigroupleave.php:101 actions/apigrouplist.php:73
-#: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:87
-#: actions/apitimelinefavorites.php:72 actions/apitimelinefriends.php:174
-#: actions/apitimelinehome.php:80 actions/apitimelinementions.php:80
-#: actions/apitimelineuser.php:82 actions/avatarbynickname.php:75
-#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
-#: actions/otp.php:76 actions/remotesubscribe.php:145
-#: actions/remotesubscribe.php:154 actions/replies.php:73
-#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
-#: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#. TRANS: Client error displayed when calling a profile action without specifying a user.
+#: actions/all.php:80 actions/allrss.php:69
+#: actions/apiaccountupdatedeliverydevice.php:110
+#: actions/apiaccountupdateprofile.php:103
+#: actions/apiaccountupdateprofilebackgroundimage.php:118
+#: actions/apiaccountupdateprofileimage.php:104 actions/apiatomservice.php:59
+#: actions/apiblockcreate.php:96 actions/apiblockdestroy.php:94
+#: actions/apidirectmessage.php:75 actions/apidirectmessagenew.php:72
+#: actions/apigroupcreate.php:111 actions/apigroupismember.php:89
+#: actions/apigroupjoin.php:98 actions/apigroupleave.php:98
+#: actions/apigrouplist.php:70 actions/apistatusesupdate.php:230
+#: actions/apisubscriptions.php:85 actions/apitimelinefavorites.php:70
+#: actions/apitimelinefriends.php:173 actions/apitimelinehome.php:78
+#: actions/apitimelinementions.php:77 actions/apitimelineuser.php:79
+#: actions/avatarbynickname.php:79 actions/favoritesrss.php:72
+#: actions/foaf.php:40 actions/foaf.php:58 actions/hcard.php:67
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
+#: actions/remotesubscribe.php:144 actions/remotesubscribe.php:153
+#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
+#: actions/showfavorites.php:106 actions/userbyid.php:74
+#: actions/usergroups.php:93 actions/userrss.php:40 actions/userxrd.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Utilizador não foi encontrado."
 
 #. TRANS: Page title. %1$s is user nickname, %2$d is page number
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Utilizador não foi encontrado."
 
 #. TRANS: Page title. %1$s is user nickname, %2$d is page number
-#: actions/all.php:90
+#: actions/all.php:91
 #, php-format
 msgid "%1$s and friends, page %2$d"
 msgstr "%1$s e amigos, página %2$d"
 
 #, php-format
 msgid "%1$s and friends, page %2$d"
 msgstr "%1$s e amigos, página %2$d"
 
-#. TRANS: Page title. %1$s is user nickname
-#. TRANS: H1 text. %1$s is user nickname
+#. TRANS: Page title. %s is user nickname
+#. TRANS: H1 text for page. %s is a user nickname.
 #. TRANS: Message is used as link title. %s is a user nickname.
 #. TRANS: Message is used as link title. %s is a user nickname.
-#: actions/all.php:93 actions/all.php:185 actions/allrss.php:116
-#: actions/apitimelinefriends.php:210 actions/apitimelinehome.php:116
-#: lib/personalgroupnav.php:100
+#. TRANS: Timeline title for user and friends. %s is a user nickname.
+#. TRANS: Tooltop for personal group navigation menu option when logged in for viewing timeline of self and friends.
+#: actions/all.php:94 actions/all.php:191 actions/allrss.php:117
+#: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
+#: lib/personalgroupnav.php:102
 #, php-format
 msgid "%s and friends"
 msgstr "%s e amigos"
 
 #, php-format
 msgid "%s and friends"
 msgstr "%s e amigos"
 
-#. TRANS: %1$s is user nickname
-#: actions/all.php:107
+#. TRANS: %s is user nickname.
+#: actions/all.php:108
 #, php-format
 msgid "Feed for friends of %s (RSS 1.0)"
 msgstr "Fonte para os amigos de %s (RSS 1.0)"
 
 #, php-format
 msgid "Feed for friends of %s (RSS 1.0)"
 msgstr "Fonte para os amigos de %s (RSS 1.0)"
 
-#. TRANS: %1$s is user nickname
-#: actions/all.php:116
+#. TRANS: %s is user nickname.
+#: actions/all.php:117
 #, php-format
 msgid "Feed for friends of %s (RSS 2.0)"
 msgstr "Fonte para os amigos de %s (RSS 2.0)"
 
 #, php-format
 msgid "Feed for friends of %s (RSS 2.0)"
 msgstr "Fonte para os amigos de %s (RSS 2.0)"
 
-#. TRANS: %1$s is user nickname
-#: actions/all.php:125
+#. TRANS: %s is user nickname.
+#: actions/all.php:126
 #, php-format
 msgid "Feed for friends of %s (Atom)"
 msgstr "Fonte para os amigos de %s (Atom)"
 
 #, php-format
 msgid "Feed for friends of %s (Atom)"
 msgstr "Fonte para os amigos de %s (Atom)"
 
-#. TRANS: %1$s is user nickname
-#: actions/all.php:138
+#. TRANS: Empty list message. %s is a user nickname.
+#: actions/all.php:139
 #, php-format
 msgid ""
 "This is the timeline for %s and friends but no one has posted anything yet."
 msgstr ""
 "Estas são as notas de %s e dos amigos, mas ainda não publicaram nenhuma."
 
 #, php-format
 msgid ""
 "This is the timeline for %s and friends but no one has posted anything yet."
 msgstr ""
 "Estas são as notas de %s e dos amigos, mas ainda não publicaram nenhuma."
 
-#: actions/all.php:143
+#. TRANS: Encouragement displayed on logged in user's empty timeline.
+#. TRANS: This message contains Markdown links. Keep "](" together.
+#: actions/all.php:146
 #, php-format
 msgid ""
 "Try subscribing to more people, [join a group](%%action.groups%%) or post "
 #, php-format
 msgid ""
 "Try subscribing to more people, [join a group](%%action.groups%%) or post "
@@ -171,8 +217,9 @@ msgstr ""
 "Tente subscrever mais pessoas, [juntar-se a um grupo](%%action.groups%%) ou "
 "publicar qualquer coisa."
 
 "Tente subscrever mais pessoas, [juntar-se a um grupo](%%action.groups%%) ou "
 "publicar qualquer coisa."
 
-#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
-#: actions/all.php:146
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@".
+#. TRANS: This message contains Markdown links. Keep "](" together.
+#: actions/all.php:150
 #, php-format
 msgid ""
 "You can try to [nudge %1$s](../%2$s) from their profile or [post something "
 #, php-format
 msgid ""
 "You can try to [nudge %1$s](../%2$s) from their profile or [post something "
@@ -181,7 +228,11 @@ msgstr ""
 "Pode tentar [dar um toque em %1$s](../%2$s) a partir do perfil ou [endereçar-"
 "lhe uma nota](%%%%action.newnotice%%%%?status_textarea=%3$s)."
 
 "Pode tentar [dar um toque em %1$s](../%2$s) a partir do perfil ou [endereçar-"
 "lhe uma nota](%%%%action.newnotice%%%%?status_textarea=%3$s)."
 
-#: actions/all.php:149 actions/replies.php:210 actions/showstream.php:211
+#. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
+#. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -190,157 +241,266 @@ msgstr ""
 "Podia [registar uma conta](%%%%action.register%%%%) e depois dar um toque em "
 "%s ou endereçar-lhe uma nota."
 
 "Podia [registar uma conta](%%%%action.register%%%%) e depois dar um toque em "
 "%s ou endereçar-lhe uma nota."
 
-#. TRANS: H1 text
-#: actions/all.php:182
+#. TRANS: H1 text for page when viewing a list for self.
+#: actions/all.php:188
 msgid "You and friends"
 msgstr "Você e seus amigos"
 
 #. TRANS: Message is used as link description. %1$s is a username, %2$s is a site name.
 #. TRANS: Message is used as a subtitle. %1$s is a user nickname, %2$s is a site name.
 msgid "You and friends"
 msgstr "Você e seus amigos"
 
 #. TRANS: Message is used as link description. %1$s is a username, %2$s is a site name.
 #. TRANS: Message is used as a subtitle. %1$s is a user nickname, %2$s is a site name.
-#: actions/allrss.php:121 actions/apitimelinefriends.php:216
-#: actions/apitimelinehome.php:122
+#: actions/allrss.php:122 actions/apitimelinefriends.php:213
+#: actions/apitimelinehome.php:119
 #, php-format
 msgid "Updates from %1$s and friends on %2$s!"
 msgstr "Actualizações de %1$s e amigos no %2$s!"
 
 #, php-format
 msgid "Updates from %1$s and friends on %2$s!"
 msgstr "Actualizações de %1$s e amigos no %2$s!"
 
+#. TRANS: Client error displayed handling a non-existing API method.
+#. TRANS: Client error displayed when trying to handle an unknown API method.
+#. TRANS: Client error displayed trying to execute an unknown API method updating profile colours.
+#. TRANS: Client error displayed trying to execute an unknown API method verifying user credentials.
+#. TRANS: Client error given when an API method was not found (404).
+#. TRANS: Client error displayed when trying to handle an unknown API method.
+#. TRANS: Client error displayed trying to execute an unknown API method showing friendship.
 #. TRANS: Client error given when an API method was not found (404).
 #. TRANS: Client error given when an API method was not found (404).
-#: actions/apiaccountratelimitstatus.php:72
-#: actions/apiaccountupdatedeliverydevice.php:95
-#: actions/apiaccountupdateprofile.php:98
-#: actions/apiaccountupdateprofilebackgroundimage.php:95
-#: actions/apiaccountupdateprofilecolors.php:119
-#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:162
-#: actions/apifavoritecreate.php:101 actions/apifavoritedestroy.php:102
-#: actions/apifriendshipscreate.php:101 actions/apifriendshipsdestroy.php:101
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:140
-#: actions/apigroupismember.php:115 actions/apigroupjoin.php:157
-#: actions/apigroupleave.php:143 actions/apigrouplist.php:137
-#: actions/apigrouplistall.php:122 actions/apigroupmembership.php:107
-#: actions/apigroupshow.php:116 actions/apihelptest.php:88
-#: actions/apistatusesdestroy.php:104 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:109 actions/apistatusnetconfig.php:141
-#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
-#: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:271
-#: actions/apitimelinegroup.php:154 actions/apitimelinehome.php:175
-#: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:241
-#: actions/apitimelineretweetedtome.php:121
-#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:161
-#: actions/apitimelineuser.php:163 actions/apiusershow.php:101
+#. TRANS: Client error displayed trying to execute an unknown API method showing group membership.
+#. TRANS: Client error displayed trying to execute an unknown API method joining a group.
+#. TRANS: Client error displayed trying to execute an unknown API method leaving a group.
+#. TRANS: Client error displayed trying to execute an unknown API method checking group membership.
+#. TRANS: Client error displayed trying to execute an unknown API method listing the latest 20 groups.
+#. TRANS: Client error displayed trying to execute an unknown API method showing group membership.
+#. TRANS: Client error displayed trying to execute an unknown API method showing a group.
+#. TRANS: Client error displayed trying to execute an unknown API method testing API connectivity.
+#. TRANS: Client error displayed trying to execute an unknown API method deleting a status.
+#. TRANS: Client error displayed when trying to handle an unknown API method.
+#: actions/apiaccountratelimitstatus.php:69
+#: actions/apiaccountupdatedeliverydevice.php:92
+#: actions/apiaccountupdateprofile.php:94
+#: actions/apiaccountupdateprofilebackgroundimage.php:92
+#: actions/apiaccountupdateprofilecolors.php:115
+#: actions/apiaccountverifycredentials.php:68 actions/apidirectmessage.php:157
+#: actions/apifavoritecreate.php:98 actions/apifavoritedestroy.php:98
+#: actions/apifriendshipscreate.php:99 actions/apifriendshipsdestroy.php:99
+#: actions/apifriendshipsshow.php:124 actions/apigroupcreate.php:138
+#: actions/apigroupismember.php:115 actions/apigroupjoin.php:160
+#: actions/apigroupleave.php:145 actions/apigrouplist.php:134
+#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:105
+#: actions/apigroupshow.php:114 actions/apihelptest.php:84
+#: actions/apistatusesdestroy.php:101 actions/apistatusesretweets.php:110
+#: actions/apistatusesshow.php:105 actions/apistatusnetconfig.php:138
+#: actions/apistatusnetversion.php:91 actions/apisubscriptions.php:109
+#: actions/apitimelinefavorites.php:174 actions/apitimelinefriends.php:268
+#: actions/apitimelinegroup.php:147 actions/apitimelinehome.php:173
+#: actions/apitimelinementions.php:174 actions/apitimelinepublic.php:239
+#: actions/apitimelineretweetedtome.php:118
+#: actions/apitimelineretweetsofme.php:150 actions/apitimelinetag.php:159
+#: actions/apitimelineuser.php:206 actions/apiusershow.php:100
 msgid "API method not found."
 msgstr "Método da API não encontrado."
 
 #. TRANS: Client error message. POST is a HTTP command. It should not be translated.
 #. TRANS: Client error. POST is a HTTP command. It should not be translated.
 msgid "API method not found."
 msgstr "Método da API não encontrado."
 
 #. TRANS: Client error message. POST is a HTTP command. It should not be translated.
 #. TRANS: Client error. POST is a HTTP command. It should not be translated.
-#: actions/apiaccountupdatedeliverydevice.php:87
-#: actions/apiaccountupdateprofile.php:90
-#: actions/apiaccountupdateprofilebackgroundimage.php:87
-#: actions/apiaccountupdateprofilecolors.php:111
-#: actions/apiaccountupdateprofileimage.php:85 actions/apiblockcreate.php:90
-#: actions/apiblockdestroy.php:89 actions/apidirectmessagenew.php:107
-#: actions/apifavoritecreate.php:92 actions/apifavoritedestroy.php:93
-#: actions/apifriendshipscreate.php:92 actions/apifriendshipsdestroy.php:92
-#: actions/apigroupcreate.php:106 actions/apigroupjoin.php:93
-#: actions/apigroupleave.php:93 actions/apimediaupload.php:68
-#: actions/apistatusesretweet.php:66 actions/apistatusesupdate.php:199
+#: actions/apiaccountupdatedeliverydevice.php:83
+#: actions/apiaccountupdateprofile.php:85
+#: actions/apiaccountupdateprofilebackgroundimage.php:83
+#: actions/apiaccountupdateprofilecolors.php:106
+#: actions/apiaccountupdateprofileimage.php:80 actions/apiblockcreate.php:87
+#: actions/apiblockdestroy.php:85 actions/apidirectmessagenew.php:107
+#: actions/apifavoritecreate.php:88 actions/apifavoritedestroy.php:88
+#: actions/apifriendshipscreate.php:89 actions/apifriendshipsdestroy.php:89
+#: actions/apigroupcreate.php:102 actions/apigroupjoin.php:89
+#: actions/apigroupleave.php:89 actions/apimediaupload.php:66
+#: actions/apistatusesretweet.php:63 actions/apistatusesupdate.php:194
 msgid "This method requires a POST."
 msgstr "Este método requer um POST."
 
 msgid "This method requires a POST."
 msgstr "Este método requer um POST."
 
-#: actions/apiaccountupdatedeliverydevice.php:107
+#. TRANS: Client error displayed when no valid device parameter is provided for a user's delivery device setting.
+#: actions/apiaccountupdatedeliverydevice.php:103
 msgid ""
 "You must specify a parameter named 'device' with a value of one of: sms, im, "
 "none."
 msgstr ""
 "Tem de especificar um parâmetro 'aparelho' com um dos valores: sms, im, none."
 
 msgid ""
 "You must specify a parameter named 'device' with a value of one of: sms, im, "
 "none."
 msgstr ""
 "Tem de especificar um parâmetro 'aparelho' com um dos valores: sms, im, none."
 
-#: actions/apiaccountupdatedeliverydevice.php:134
+#. TRANS: Server error displayed when a user's delivery device cannot be updated.
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
+#. TRANS: Server error thrown on database error updating e-mail preferences.
+#. TRANS: Server error thrown on database error removing a registered e-mail address.
+#. TRANS: Server error thrown on database error updating IM preferences.
+#. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
+#. TRANS: Server error thrown when user profile settings could not be updated.
+#. TRANS: Server error thrown on database error updating SMS preferences.
+#. TRANS: Server error thrown on database error removing a registered SMS phone number.
+#: actions/apiaccountupdatedeliverydevice.php:130
+#: actions/confirmaddress.php:118 actions/emailsettings.php:352
+#: actions/emailsettings.php:498 actions/imsettings.php:276
+#: actions/imsettings.php:432 actions/othersettings.php:184
+#: actions/profilesettings.php:322 actions/smssettings.php:301
+#: actions/smssettings.php:454
 msgid "Could not update user."
 msgstr "Não foi possível actualizar o utilizador."
 
 msgid "Could not update user."
 msgstr "Não foi possível actualizar o utilizador."
 
-#: actions/apiaccountupdateprofile.php:113
-#: actions/apiaccountupdateprofilebackgroundimage.php:195
-#: actions/apiaccountupdateprofilecolors.php:186
-#: actions/apiaccountupdateprofileimage.php:131 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#. TRANS: Client error displayed if a user profile could not be found.
+#. TRANS: Client error displayed when a user has no profile.
+#. TRANS: Client error displayed a user has no profile updating profile colours.
+#. TRANS: Client error displayed if a user profile could not be found updating a profile image.
+#. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
+#. TRANS: Server error displayed when calling a profile action while the specified user does not have a profile.
+#: actions/apiaccountupdateprofile.php:111
+#: actions/apiaccountupdateprofilebackgroundimage.php:199
+#: actions/apiaccountupdateprofilecolors.php:183
+#: actions/apiaccountupdateprofileimage.php:131
+#: actions/apiuserprofileimage.php:88 actions/apiusershow.php:108
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
-#: lib/profileaction.php:84
+#: lib/profileaction.php:85
 msgid "User has no profile."
 msgstr "Utilizador não tem perfil."
 
 msgid "User has no profile."
 msgstr "Utilizador não tem perfil."
 
-#: actions/apiaccountupdateprofile.php:148
+#. TRANS: Server error displayed if a user profile could not be saved.
+#. TRANS: Server error thrown when user profile settings could not be saved.
+#: actions/apiaccountupdateprofile.php:147 actions/profilesettings.php:418
 msgid "Could not save profile."
 msgstr "Não foi possível gravar o perfil."
 
 msgid "Could not save profile."
 msgstr "Não foi possível gravar o perfil."
 
-#: actions/apiaccountupdateprofilebackgroundimage.php:109
-#: actions/apiaccountupdateprofileimage.php:98 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:213 actions/avatarsettings.php:257
-#: actions/designadminpanel.php:123 actions/editapplication.php:118
-#: actions/newapplication.php:101 actions/newnotice.php:94
-#: lib/designsettings.php:283
+#. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
+#. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
+#: actions/apiaccountupdateprofilebackgroundimage.php:108
+#: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
+#: actions/designadminpanel.php:120 actions/editapplication.php:121
+#: actions/newapplication.php:102 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, php-format
 msgid ""
 #, php-format
 msgid ""
+"The server was unable to handle that much POST data (%s byte) due to its "
+"current configuration."
+msgid_plural ""
 "The server was unable to handle that much POST data (%s bytes) due to its "
 "current configuration."
 "The server was unable to handle that much POST data (%s bytes) due to its "
 "current configuration."
-msgstr ""
+msgstr[0] ""
+"O servidor não conseguiu processar tantos dados POST (%s byte) devido à sua "
+"configuração actual."
+msgstr[1] ""
 "O servidor não conseguiu processar tantos dados POST (%s bytes) devido à sua "
 "configuração actual."
 
 "O servidor não conseguiu processar tantos dados POST (%s bytes) devido à sua "
 "configuração actual."
 
-#: actions/apiaccountupdateprofilebackgroundimage.php:137
-#: actions/apiaccountupdateprofilebackgroundimage.php:147
-#: actions/apiaccountupdateprofilecolors.php:165
-#: actions/apiaccountupdateprofilecolors.php:175
+#. TRANS: Client error displayed when saving design settings fails because of an empty id.
+#. TRANS: Client error displayed when saving design settings fails because of an empty result.
+#. TRANS: Client error displayed when a database error occurs inserting profile colours.
+#. TRANS: Client error displayed when a database error occurs updating profile colours.
+#: actions/apiaccountupdateprofilebackgroundimage.php:138
+#: actions/apiaccountupdateprofilebackgroundimage.php:149
+#: actions/apiaccountupdateprofilecolors.php:160
+#: actions/apiaccountupdateprofilecolors.php:171
 #: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
 #: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
-#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
-#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
+#: actions/userdesignsettings.php:201 actions/userdesignsettings.php:211
+#: actions/userdesignsettings.php:253 actions/userdesignsettings.php:263
 msgid "Unable to save your design settings."
 msgstr "Não foi possível gravar as configurações do estilo."
 
 msgid "Unable to save your design settings."
 msgstr "Não foi possível gravar as configurações do estilo."
 
-#: actions/apiaccountupdateprofilebackgroundimage.php:188
-#: actions/apiaccountupdateprofilecolors.php:143
+#. TRANS: Error displayed when updating design settings fails.
+#. TRANS: Client error displayed when a database error occurs updating profile colours.
+#: actions/apiaccountupdateprofilebackgroundimage.php:191
+#: actions/apiaccountupdateprofilecolors.php:139
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:179
 msgid "Could not update your design."
 msgstr "Não foi possível actualizar o seu estilo."
 
 msgid "Could not update your design."
 msgstr "Não foi possível actualizar o seu estilo."
 
-#: actions/apiblockcreate.php:106
+#. TRANS: Title for Atom feed.
+#: actions/apiatomservice.php:85
+#, fuzzy
+msgctxt "ATOM"
+msgid "Main"
+msgstr "Principal"
+
+#. TRANS: Title for Atom feed. %s is a user nickname.
+#. TRANS: Message is used as link title. %s is a user nickname.
+#. TRANS: Title in atom group notice feed. %s is a group name.
+#. TRANS: Title in atom user notice feed. %s is a user name.
+#: actions/apiatomservice.php:93 actions/grouprss.php:139
+#: actions/userrss.php:94 lib/atomgroupnoticefeed.php:63
+#: lib/atomusernoticefeed.php:68
+#, php-format
+msgid "%s timeline"
+msgstr "Notas de %s"
+
+#. TRANS: Title for Atom feed with a user's subscriptions. %s is a user nickname.
+#. TRANS: Title for Atom subscription feed.
+#. TRANS: %s is a user nickname.
+#. TRANS: Header for subscriptions overview for a user (first page).
+#. TRANS: %s is a user nickname.
+#: actions/apiatomservice.php:104 actions/atompubsubscriptionfeed.php:148
+#: actions/subscriptions.php:51
+#, php-format
+msgid "%s subscriptions"
+msgstr "Subscrições de %s"
+
+#. TRANS: Title for Atom feed with a user's favorite notices. %s is a user nickname.
+#. TRANS: Title for Atom favorites feed.
+#. TRANS: %s is a user nickname.
+#: actions/apiatomservice.php:115 actions/atompubfavoritefeed.php:142
+#, php-format
+msgid "%s favorites"
+msgstr "Favoritas de %s"
+
+#. TRANS: Title for Atom feed with a user's memberships. %s is a user nickname.
+#: actions/apiatomservice.php:126
+#, fuzzy, php-format
+msgid "%s memberships"
+msgstr "Membros do grupo %s"
+
+#. TRANS: Client error displayed when users try to block themselves.
+#: actions/apiblockcreate.php:105
 msgid "You cannot block yourself!"
 msgstr "Os utilizadores não podem bloquear-se a si próprios!"
 
 msgid "You cannot block yourself!"
 msgstr "Os utilizadores não podem bloquear-se a si próprios!"
 
+#. TRANS: Server error displayed when blocking a user has failed.
 #: actions/apiblockcreate.php:127
 msgid "Block user failed."
 msgstr "Bloqueio do utilizador falhou."
 
 #: actions/apiblockcreate.php:127
 msgid "Block user failed."
 msgstr "Bloqueio do utilizador falhou."
 
-#: actions/apiblockdestroy.php:115
+#. TRANS: Server error displayed when unblocking a user has failed.
+#: actions/apiblockdestroy.php:113
 msgid "Unblock user failed."
 msgstr "Desbloqueio do utilizador falhou."
 
 msgid "Unblock user failed."
 msgstr "Desbloqueio do utilizador falhou."
 
-#. TRANS: %s is a user nickname.
-#: actions/apidirectmessage.php:91
+#. TRANS: Title. %s is a user nickname.
+#: actions/apidirectmessage.php:88
 #, php-format
 msgid "Direct messages from %s"
 msgstr "Mensagens directas de %s"
 
 #, php-format
 msgid "Direct messages from %s"
 msgstr "Mensagens directas de %s"
 
-#. TRANS: %s is a user nickname.
-#: actions/apidirectmessage.php:96
+#. TRANS: Subtitle. %s is a user nickname.
+#: actions/apidirectmessage.php:93
 #, php-format
 msgid "All the direct messages sent from %s"
 msgstr "Todas as mensagens directas enviadas por %s"
 
 #, php-format
 msgid "All the direct messages sent from %s"
 msgstr "Todas as mensagens directas enviadas por %s"
 
-#. TRANS: %s is a user nickname.
-#: actions/apidirectmessage.php:105
+#. TRANS: Title. %s is a user nickname.
+#: actions/apidirectmessage.php:102
 #, php-format
 msgid "Direct messages to %s"
 msgstr "Mensagens directas para %s"
 
 #, php-format
 msgid "Direct messages to %s"
 msgstr "Mensagens directas para %s"
 
-#. TRANS: %s is a user nickname.
-#: actions/apidirectmessage.php:110
+#. TRANS: Subtitle. %s is a user nickname.
+#: actions/apidirectmessage.php:107
 #, php-format
 msgid "All the direct messages sent to %s"
 msgstr "Todas as mensagens directas enviadas para %s"
 
 #, php-format
 msgid "All the direct messages sent to %s"
 msgstr "Todas as mensagens directas enviadas para %s"
 
-#. TRANS: Client error (406).
+#. TRANS: Client error displayed when no message text was submitted (406).
 #: actions/apidirectmessagenew.php:117
 msgid "No message text!"
 msgstr "Mensagem não tem texto!"
 
 #: actions/apidirectmessagenew.php:117
 msgid "No message text!"
 msgstr "Mensagem não tem texto!"
 
-#: actions/apidirectmessagenew.php:127
+#. TRANS: Client error displayed when message content is too long.
+#. TRANS: %d is the maximum number of characters for a message.
+#. TRANS: Form validation error displayed when message content is too long.
+#. TRANS: %d is the maximum number of characters for a message.
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:152
 #, fuzzy, 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."
 #, fuzzy, 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."
@@ -365,251 +525,375 @@ msgid ""
 "Do not send a message to yourself; just say it to yourself quietly instead."
 msgstr "Não auto-envie uma mensagem; basta lê-la baixinho a si próprio."
 
 "Do not send a message to yourself; just say it to yourself quietly instead."
 msgstr "Não auto-envie uma mensagem; basta lê-la baixinho a si próprio."
 
-#: actions/apifavoritecreate.php:110 actions/apifavoritedestroy.php:111
+#. TRANS: Client error displayed when requesting a status with a non-existing ID.
+#. TRANS: Client error displayed when trying to remove a favourite with an invalid ID.
+#. TRANS: Client error displayed trying to delete a status with an invalid ID.
+#: actions/apifavoritecreate.php:108 actions/apifavoritedestroy.php:108
 #: actions/apistatusesdestroy.php:121
 msgid "No status found with that ID."
 msgstr "Nenhum estado encontrado com esse ID."
 
 #: actions/apistatusesdestroy.php:121
 msgid "No status found with that ID."
 msgstr "Nenhum estado encontrado com esse ID."
 
-#: actions/apifavoritecreate.php:121
+#. TRANS: Client error displayed when trying to mark a notice favourite that already is a favourite.
+#: actions/apifavoritecreate.php:120
 msgid "This status is already a favorite."
 msgstr "Este estado já é um favorito."
 
 msgid "This status is already a favorite."
 msgstr "Este estado já é um favorito."
 
+#. TRANS: Client error displayed when marking a notice as favourite fails.
+#. TRANS: Server error displayed when trying to mark a notice as favorite fails in the database.
 #. TRANS: Error message text shown when a favorite could not be set.
 #. TRANS: Error message text shown when a favorite could not be set.
-#: actions/apifavoritecreate.php:132 actions/favor.php:84 lib/command.php:294
+#: actions/apifavoritecreate.php:132 actions/favor.php:86 lib/command.php:294
 msgid "Could not create favorite."
 msgstr "Não foi possível criar o favorito."
 
 msgid "Could not create favorite."
 msgstr "Não foi possível criar o favorito."
 
-#: actions/apifavoritedestroy.php:124
+#. TRANS: Client error displayed when trying to remove a favourite that was not a favourite.
+#: actions/apifavoritedestroy.php:122
 msgid "That status is not a favorite."
 msgstr "Esse estado não é um favorito."
 
 msgid "That status is not a favorite."
 msgstr "Esse estado não é um favorito."
 
-#: actions/apifavoritedestroy.php:136 actions/disfavor.php:87
+#. TRANS: Client error displayed when removing a favourite has failed.
+#. TRANS: Server error displayed when removing a favorite from the database fails.
+#: actions/apifavoritedestroy.php:135 actions/disfavor.php:90
 msgid "Could not delete favorite."
 msgstr "Não foi possível eliminar o favorito."
 
 msgid "Could not delete favorite."
 msgstr "Não foi possível eliminar o favorito."
 
-#: actions/apifriendshipscreate.php:110
+#. TRANS: Client error displayed when trying follow who's profile could not be found.
+#: actions/apifriendshipscreate.php:109
 msgid "Could not follow user: profile not found."
 msgstr "Não foi possível seguir o utilizador: o perfil não foi encontrado."
 
 msgid "Could not follow user: profile not found."
 msgstr "Não foi possível seguir o utilizador: o perfil não foi encontrado."
 
-#: actions/apifriendshipscreate.php:119
+#. TRANS: Client error displayed when trying to follow a user that's already being followed.
+#. TRANS: %s is the nickname of the user that is already being followed.
+#: actions/apifriendshipscreate.php:120
 #, php-format
 msgid "Could not follow user: %s is already on your list."
 msgstr "Não foi possível seguir utilizador: %s já está na sua lista."
 
 #, php-format
 msgid "Could not follow user: %s is already on your list."
 msgstr "Não foi possível seguir utilizador: %s já está na sua lista."
 
-#: actions/apifriendshipsdestroy.php:110
+#. TRANS: Client error displayed when trying to unfollow a user that cannot be found.
+#: actions/apifriendshipsdestroy.php:109
 msgid "Could not unfollow user: User not found."
 msgstr ""
 "Não foi possível deixar de seguir utilizador: Utilizador não encontrado."
 
 msgid "Could not unfollow user: User not found."
 msgstr ""
 "Não foi possível deixar de seguir utilizador: Utilizador não encontrado."
 
+#. TRANS: Client error displayed when trying to unfollow self.
 #: actions/apifriendshipsdestroy.php:121
 msgid "You cannot unfollow yourself."
 msgstr "Não pode deixar de seguir-se a si próprio."
 
 #: actions/apifriendshipsdestroy.php:121
 msgid "You cannot unfollow yourself."
 msgstr "Não pode deixar de seguir-se a si próprio."
 
-#: actions/apifriendshipsexists.php:91
-msgid "Two valid IDs or screen_names must be supplied."
+#. TRANS: Client error displayed when supplying invalid parameters to an API call checking if a friendship exists.
+#: actions/apifriendshipsexists.php:88
+#, fuzzy
+msgid "Two valid IDs or nick names must be supplied."
 msgstr "Têm de ser fornecidos dois IDs ou nomes de utilizador válidos."
 
 msgstr "Têm de ser fornecidos dois IDs ou nomes de utilizador válidos."
 
-#: actions/apifriendshipsshow.php:134
+#. TRANS: Client error displayed when a source user could not be determined showing friendship.
+#: actions/apifriendshipsshow.php:131
 msgid "Could not determine source user."
 msgstr "Não foi possível determinar o utilizador de origem."
 
 msgid "Could not determine source user."
 msgstr "Não foi possível determinar o utilizador de origem."
 
-#: actions/apifriendshipsshow.php:142
+#. TRANS: Client error displayed when a target user could not be determined showing friendship.
+#: actions/apifriendshipsshow.php:140
 msgid "Could not find target user."
 msgstr "Não foi possível encontrar o utilizador de destino."
 
 msgid "Could not find target user."
 msgstr "Não foi possível encontrar o utilizador de destino."
 
-#: actions/apigroupcreate.php:168 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:215
-#: actions/register.php:212
-msgid "Nickname must have only lowercase letters and numbers and no spaces."
-msgstr "Utilizador só deve conter letras minúsculas e números. Sem espaços."
-
-#: actions/apigroupcreate.php:177 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:238
-#: actions/register.php:215
+#. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#. TRANS: Validation error in form for profile settings.
+#: actions/apigroupcreate.php:156 actions/editgroup.php:189
+#: actions/newgroup.php:136 actions/profilesettings.php:273
+#: actions/register.php:214
 msgid "Nickname already in use. Try another one."
 msgstr "Utilizador já é usado. Tente outro."
 
 msgid "Nickname already in use. Try another one."
 msgstr "Utilizador já é usado. Tente outro."
 
-#: actions/apigroupcreate.php:184 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:218
-#: actions/register.php:217
+#. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#. TRANS: Validation error in form for profile settings.
+#: actions/apigroupcreate.php:164 actions/editgroup.php:193
+#: actions/newgroup.php:140 actions/profilesettings.php:243
+#: actions/register.php:216
 msgid "Not a valid nickname."
 msgstr "Utilizador não é válido."
 
 msgid "Not a valid nickname."
 msgstr "Utilizador não é válido."
 
-#: actions/apigroupcreate.php:200 actions/editapplication.php:215
-#: actions/editgroup.php:199 actions/newapplication.php:203
-#: actions/newgroup.php:139 actions/profilesettings.php:222
-#: actions/register.php:224
+#. TRANS: Client error in form for group creation.
+#. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Validation error shown when providing an invalid homepage URL in the "New application" form.
+#. TRANS: Group create form validation error.
+#. TRANS: Validation error in form for profile settings.
+#: actions/apigroupcreate.php:181 actions/editapplication.php:235
+#: actions/editgroup.php:200 actions/newapplication.php:221
+#: actions/newgroup.php:147 actions/profilesettings.php:248
+#: actions/register.php:223
 msgid "Homepage is not a valid URL."
 msgstr "Página de ínicio não é uma URL válida."
 
 msgid "Homepage is not a valid URL."
 msgstr "Página de ínicio não é uma URL válida."
 
-#: actions/apigroupcreate.php:209 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:225
-#: actions/register.php:227
-msgid "Full name is too long (max 255 chars)."
+#. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#. TRANS: Validation error in form for profile settings.
+#: actions/apigroupcreate.php:191 actions/editgroup.php:204
+#: actions/newgroup.php:151 actions/profilesettings.php:252
+#: actions/register.php:226
+#, fuzzy
+msgid "Full name is too long (maximum 255 characters)."
 msgstr "Nome completo demasiado longo (máx. 255 caracteres)."
 
 msgstr "Nome completo demasiado longo (máx. 255 caracteres)."
 
-#: actions/apigroupcreate.php:217 actions/editapplication.php:190
-#: actions/newapplication.php:172
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "Descrição demasiado longa (máx. %d caracteres)."
-
-#: actions/apigroupcreate.php:228 actions/editgroup.php:208
-#: actions/newgroup.php:148 actions/profilesettings.php:232
-#: actions/register.php:234
-msgid "Location is too long (max 255 chars)."
+#. TRANS: Client error shown when providing too long a description during group creation.
+#. TRANS: %d is the maximum number of allowed characters.
+#. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: %d is the maximum number of allowed characters.
+#. TRANS: Group edit form validation error.
+#. TRANS: Form validation error in New application form.
+#. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
+#: actions/apigroupcreate.php:201 actions/editapplication.php:202
+#: actions/editgroup.php:209 actions/newapplication.php:182
+#: actions/newgroup.php:156
+#, fuzzy, php-format
+msgid "Description is too long (maximum %d character)."
+msgid_plural "Description is too long (maximum %d characters)."
+msgstr[0] "Descrição demasiado longa (máx. %d caracteres)."
+msgstr[1] "Descrição demasiado longa (máx. %d caracteres)."
+
+#. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#. TRANS: Validation error in form for profile settings.
+#: actions/apigroupcreate.php:215 actions/editgroup.php:216
+#: actions/newgroup.php:163 actions/profilesettings.php:265
+#: actions/register.php:235
+#, fuzzy
+msgid "Location is too long (maximum 255 characters)."
 msgstr "Localidade demasiado longa (máx. 255 caracteres)."
 
 msgstr "Localidade demasiado longa (máx. 255 caracteres)."
 
-#: actions/apigroupcreate.php:247 actions/editgroup.php:219
-#: actions/newgroup.php:159
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Demasiados nomes alternativos! Máx. %d."
+#. TRANS: Client error shown when providing too many aliases during group creation.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:236 actions/editgroup.php:229
+#: actions/newgroup.php:176
+#, fuzzy, php-format
+msgid "Too many aliases! Maximum %d allowed."
+msgid_plural "Too many aliases! Maximum %d allowed."
+msgstr[0] "Demasiados nomes alternativos! Máx. %d."
+msgstr[1] "Demasiados nomes alternativos! Máx. %d."
 
 
-#: actions/apigroupcreate.php:268
+#. TRANS: Client error shown when providing an invalid alias during group creation.
+#. TRANS: %s is the invalid alias.
+#: actions/apigroupcreate.php:253
 #, php-format
 msgid "Invalid alias: \"%s\"."
 msgstr "Nome alternativo inválido: \"%s\""
 
 #, php-format
 msgid "Invalid alias: \"%s\"."
 msgstr "Nome alternativo inválido: \"%s\""
 
-#: actions/apigroupcreate.php:277 actions/editgroup.php:232
-#: actions/newgroup.php:172
+#. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
+#. TRANS: %s is the alias that is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error. %s is the already used alias.
+#: actions/apigroupcreate.php:264 actions/editgroup.php:244
+#: actions/newgroup.php:192
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Nome alternativo \"%s\" já em uso. Tente outro."
 
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Nome alternativo \"%s\" já em uso. Tente outro."
 
-#: actions/apigroupcreate.php:290 actions/editgroup.php:238
-#: actions/newgroup.php:178
+#. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
+#. TRANS: Group edit form validation error.
+#: actions/apigroupcreate.php:278 actions/editgroup.php:251
 msgid "Alias can't be the same as nickname."
 msgstr "Um nome alternativo não pode ser igual ao nome do utilizador."
 
 msgid "Alias can't be the same as nickname."
 msgstr "Um nome alternativo não pode ser igual ao nome do utilizador."
 
-#: actions/apigroupismember.php:96 actions/apigroupjoin.php:106
-#: actions/apigroupleave.php:106 actions/apigroupmembership.php:92
-#: actions/apigroupshow.php:83 actions/apitimelinegroup.php:92
+#. TRANS: Client error displayed when checking group membership for a non-existing group.
+#. TRANS: Client error displayed when trying to join a group that does not exist.
+#. TRANS: Client error displayed when trying to leave a group that does not exist.
+#. TRANS: Client error displayed trying to show group membership on a non-existing group.
+#. TRANS: Client error displayed when trying to show a group that could not be found.
+#. TRANS: Client error displayed requesting most recent notices to a group for a non-existing group.
+#: actions/apigroupismember.php:95 actions/apigroupjoin.php:104
+#: actions/apigroupleave.php:104 actions/apigroupmembership.php:71
+#: actions/apigroupshow.php:81 actions/apitimelinegroup.php:89
 msgid "Group not found."
 msgstr "Grupo não foi encontrado."
 
 msgid "Group not found."
 msgstr "Grupo não foi encontrado."
 
+#. TRANS: Server error displayed when trying to join a group the user is already a member of.
+#. TRANS: Client error displayed when trying to join a group while already a member.
 #. TRANS: Error text shown a user tries to join a group they already are a member of.
 #. TRANS: Error text shown a user tries to join a group they already are a member of.
-#: actions/apigroupjoin.php:112 actions/joingroup.php:100 lib/command.php:333
+#: actions/apigroupjoin.php:111 actions/joingroup.php:103 lib/command.php:333
 msgid "You are already a member of that group."
 msgstr "Já é membro desse grupo."
 
 msgid "You are already a member of that group."
 msgstr "Já é membro desse grupo."
 
+#. TRANS: Server error displayed when trying to join a group the user is blocked from joining.
+#. TRANS: Client error displayed when trying to join a group while being blocked form joining it.
 #. TRANS: Error text shown when a user tries to join a group they are blocked from joining.
 #. TRANS: Error text shown when a user tries to join a group they are blocked from joining.
-#: actions/apigroupjoin.php:121 actions/joingroup.php:105 lib/command.php:338
+#: actions/apigroupjoin.php:121 actions/joingroup.php:109 lib/command.php:338
 msgid "You have been blocked from that group by the admin."
 msgstr "Foi bloqueado desse grupo pelo gestor."
 
 msgid "You have been blocked from that group by the admin."
 msgstr "Foi bloqueado desse grupo pelo gestor."
 
+#. TRANS: Server error displayed when joining a group fails.
+#. TRANS: %1$s is a user nickname, $2$s is a group nickname.
+#. TRANS: Server error displayed when joining a group failed in the database.
+#. TRANS: %1$s is the joining user's nickname, $2$s is the group nickname for which the join failed.
 #. TRANS: Message given having failed to add a user to a group.
 #. TRANS: %1$s is the nickname of the user, %2$s is the nickname of the group.
 #. TRANS: Message given having failed to add a user to a group.
 #. TRANS: %1$s is the nickname of the user, %2$s is the nickname of the group.
-#: actions/apigroupjoin.php:140 actions/joingroup.php:134 lib/command.php:350
+#: actions/apigroupjoin.php:142 actions/joingroup.php:139 lib/command.php:350
 #, php-format
 msgid "Could not join user %1$s to group %2$s."
 msgstr "Não foi possível adicionar %1$s ao grupo %2$s."
 
 #, php-format
 msgid "Could not join user %1$s to group %2$s."
 msgstr "Não foi possível adicionar %1$s ao grupo %2$s."
 
-#: actions/apigroupleave.php:116
+#. TRANS: Server error displayed when trying to leave a group the user is not a member of.
+#: actions/apigroupleave.php:115
 msgid "You are not a member of this group."
 msgstr "Não é membro deste grupo."
 
 msgid "You are not a member of this group."
 msgstr "Não é membro deste grupo."
 
+#. TRANS: Server error displayed when leaving a group fails.
+#. TRANS: %1$s is a user nickname, $2$s is a group nickname.
+#. TRANS: Server error displayed when leaving a group failed in the database.
+#. TRANS: %1$s is the leaving user's nickname, $2$s is the group nickname for which the leave failed.
 #. TRANS: Message given having failed to remove a user from a group.
 #. TRANS: %1$s is the nickname of the user, %2$s is the nickname of the group.
 #. TRANS: Message given having failed to remove a user from a group.
 #. TRANS: %1$s is the nickname of the user, %2$s is the nickname of the group.
-#: actions/apigroupleave.php:126 actions/leavegroup.php:129
+#: actions/apigroupleave.php:127 actions/leavegroup.php:133
 #: lib/command.php:398
 #, php-format
 msgid "Could not remove user %1$s from group %2$s."
 msgstr "Não foi possível remover %1$s do grupo %2$s."
 
 #: lib/command.php:398
 #, php-format
 msgid "Could not remove user %1$s from group %2$s."
 msgstr "Não foi possível remover %1$s do grupo %2$s."
 
-#. TRANS: %s is a user name
-#: actions/apigrouplist.php:98
+#. TRANS: Used as title in check for group membership. %s is a user name.
+#: actions/apigrouplist.php:94
 #, php-format
 msgid "%s's groups"
 msgstr "Grupos de %s"
 
 #, php-format
 msgid "%s's groups"
 msgstr "Grupos de %s"
 
-#. TRANS: Meant to convey the user %2$s is a member of each of the groups listed on site %1$s
-#: actions/apigrouplist.php:108
+#. TRANS: Used as subtitle in check for group membership. %1$s is a user name, %2$s is the site name.
+#: actions/apigrouplist.php:104
 #, php-format
 msgid "%1$s groups %2$s is a member of."
 msgstr "Grupos de %1$s de que %2$s é membro."
 
 #, php-format
 msgid "%1$s groups %2$s is a member of."
 msgstr "Grupos de %1$s de que %2$s é membro."
 
-#. TRANS: Message is used as a title. %s is a site name.
+#. TRANS: Message is used as a title when listing the lastest 20 groups. %s is a site name.
 #. TRANS: Message is used as a page title. %s is a nick name.
 #. TRANS: Message is used as a page title. %s is a nick name.
-#: actions/apigrouplistall.php:92 actions/usergroups.php:63
+#: actions/apigrouplistall.php:88 actions/usergroups.php:63
 #, php-format
 msgid "%s groups"
 msgstr "Grupos de %s"
 
 #, php-format
 msgid "%s groups"
 msgstr "Grupos de %s"
 
-#: actions/apigrouplistall.php:96
+#. TRANS: Message is used as a subtitle when listing the lastest 20 groups. %s is a site name.
+#: actions/apigrouplistall.php:93
 #, php-format
 msgid "groups on %s"
 msgstr "Grupos em %s"
 
 #, php-format
 msgid "groups on %s"
 msgstr "Grupos em %s"
 
-#: actions/apimediaupload.php:100
+#. TRANS: Client error displayed when uploading a media file has failed.
+#: actions/apimediaupload.php:101
 msgid "Upload failed."
 msgstr "O upload falhou."
 
 msgid "Upload failed."
 msgstr "O upload falhou."
 
-#: actions/apioauthaccesstoken.php:108
+#. TRANS: Client error given from the OAuth API when the request token or verifier is invalid.
+#: actions/apioauthaccesstoken.php:102
 #, fuzzy
 msgid "Invalid request token or verifier."
 msgstr "Chave de entrada especificada é inválida."
 
 #, fuzzy
 msgid "Invalid request token or verifier."
 msgstr "Chave de entrada especificada é inválida."
 
-#: actions/apioauthauthorize.php:109
+#. TRANS: Client error given when no oauth_token was passed to the OAuth API.
+#: actions/apioauthauthorize.php:107
 msgid "No oauth_token parameter provided."
 msgstr "Não foi fornecido o parâmetro oauth_token."
 
 msgid "No oauth_token parameter provided."
 msgstr "Não foi fornecido o parâmetro oauth_token."
 
-#: actions/apioauthauthorize.php:117 actions/apioauthauthorize.php:130
+#. TRANS: Client error given when an invalid request token was passed to the OAuth API.
+#: actions/apioauthauthorize.php:115 actions/apioauthauthorize.php:129
 #, fuzzy
 msgid "Invalid request token."
 msgstr "Chave inválida."
 
 #, fuzzy
 msgid "Invalid request token."
 msgstr "Chave inválida."
 
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:268
-#: actions/deletenotice.php:172 actions/disfavor.php:74
-#: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
-#: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
-#: actions/invite.php:56 actions/login.php:137 actions/makeadmin.php:66
-#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
-#: actions/oauthappssettings.php:159 actions/oauthconnectionssettings.php:135
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
-#: actions/profilesettings.php:194 actions/recoverpassword.php:350
-#: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#. TRANS: Client error given when an invalid request token was passed to the OAuth API.
+#: actions/apioauthauthorize.php:121
+#, fuzzy
+msgid "Request token already authorized."
+msgstr "Não tem autorização."
+
+#. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
+#. TRANS: Client error displayed when the session token does not match or is not given.
+#. TRANS: Form validation error message.
+#. TRANS: Form validation error.
+#. TRANS: Form validation error message.
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:75
+#: actions/emailsettings.php:291 actions/favor.php:75 actions/geocode.php:55
+#: actions/groupblock.php:66 actions/grouplogo.php:324
+#: actions/groupunblock.php:65 actions/imsettings.php:224
+#: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
+#: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
+#: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
+#: actions/profilesettings.php:217 actions/recoverpassword.php:383
+#: actions/register.php:172 actions/remotesubscribe.php:76
+#: actions/repeat.php:82 actions/smssettings.php:250 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "Ocorreu um problema com a sua sessão. Por favor, tente novamente."
 
 msgid "There was a problem with your session token. Try again, please."
 msgstr "Ocorreu um problema com a sua sessão. Por favor, tente novamente."
 
-#: actions/apioauthauthorize.php:163
+#. TRANS: Form validation error given when an invalid username and/or password was passed to the OAuth API.
+#: actions/apioauthauthorize.php:168
 msgid "Invalid nickname / password!"
 msgstr "Utilizador ou senha inválidos!"
 
 msgid "Invalid nickname / password!"
 msgstr "Utilizador ou senha inválidos!"
 
-#: actions/apioauthauthorize.php:193
-msgid "Database error deleting OAuth application user."
-msgstr "Erro na base de dados ao apagar o utilizador da aplicação OAuth."
-
-#: actions/apioauthauthorize.php:218
-msgid "Database error inserting OAuth application user."
+#. TRANS: Server error displayed when a database action fails.
+#: actions/apioauthauthorize.php:217
+#, fuzzy
+msgid "Database error inserting oauth_token_association."
 msgstr "Erro na base de dados ao inserir o utilizador da aplicação OAuth."
 
 msgstr "Erro na base de dados ao inserir o utilizador da aplicação OAuth."
 
+#. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
+#. TRANS: Client error displayed when the submitted form contains unexpected data.
+#. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
+#. TRANS: Form validation error message when an unsupported argument is used.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
+#. TRANS: Client error displayed when encountering an unexpected action on form submission.
+#. TRANS: Client error when submitting a form with unexpected information.
+#. TRANS: Client error displayed when unexpected data is posted in the password recovery form.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:265 actions/avatarsettings.php:281
-#: actions/designadminpanel.php:104 actions/editapplication.php:139
-#: actions/emailsettings.php:290 actions/grouplogo.php:322
-#: actions/imsettings.php:245 actions/newapplication.php:121
-#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
+#: actions/designadminpanel.php:100 actions/editapplication.php:144
+#: actions/emailsettings.php:310 actions/grouplogo.php:335
+#: actions/imsettings.php:239 actions/newapplication.php:124
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:46
+#: actions/smssettings.php:271 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Envio inesperado de formulário."
 
 msgid "Unexpected form submission."
 msgstr "Envio inesperado de formulário."
 
-#: actions/apioauthauthorize.php:291
+#. TRANS: Title for a page where a user can confirm/deny account access by an external application.
+#: actions/apioauthauthorize.php:387
 msgid "An application would like to connect to your account"
 msgstr "Uma aplicação pretende ligar-se à sua conta"
 
 msgid "An application would like to connect to your account"
 msgstr "Uma aplicação pretende ligar-se à sua conta"
 
-#: actions/apioauthauthorize.php:308
+#. TRANS: Fieldset legend.
+#: actions/apioauthauthorize.php:404
 msgid "Allow or deny access"
 msgstr "Permitir ou negar acesso"
 
 msgid "Allow or deny access"
 msgstr "Permitir ou negar acesso"
 
-#: actions/apioauthauthorize.php:324
+#. TRANS: User notification of external application requesting account access.
+#. TRANS: %3$s is the access type requested (read-write or read-only), %4$s is the StatusNet sitename.
+#: actions/apioauthauthorize.php:425
+#, fuzzy, php-format
+msgid ""
+"An application would like the ability to <strong>%3$s</strong> your %4$s "
+"account data. You should only give access to your %4$s account to third "
+"parties you trust."
+msgstr ""
+"A aplicação <strong>%1$s</strong> por <strong>%2$s</strong> solicita "
+"permissão para <strong>%3$s</strong> os dados da sua conta %4$s. Só deve "
+"permitir acesso à sua conta %4$s a terceiros da sua confiança."
+
+#. TRANS: User notification of external application requesting account access.
+#. TRANS: %1$s is the application name requesting access, %2$s is the organisation behind the application,
+#. TRANS: %3$s is the access type requested, %4$s is the StatusNet sitename.
+#: actions/apioauthauthorize.php:433
 #, php-format
 msgid ""
 "The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
 #, php-format
 msgid ""
 "The application <strong>%1$s</strong> by <strong>%2$s</strong> would like "
@@ -620,267 +904,725 @@ msgstr ""
 "permissão para <strong>%3$s</strong> os dados da sua conta %4$s. Só deve "
 "permitir acesso à sua conta %4$s a terceiros da sua confiança."
 
 "permissão para <strong>%3$s</strong> os dados da sua conta %4$s. Só deve "
 "permitir acesso à sua conta %4$s a terceiros da sua confiança."
 
-#. TRANS: Main menu option when logged in for access to user settings
-#: actions/apioauthauthorize.php:342 lib/action.php:490
+#. TRANS: Fieldset legend.
+#: actions/apioauthauthorize.php:455
+#, fuzzy
+msgctxt "LEGEND"
 msgid "Account"
 msgstr "Conta"
 
 msgid "Account"
 msgstr "Conta"
 
-#: actions/apioauthauthorize.php:345 actions/login.php:252
-#: actions/profilesettings.php:106 actions/register.php:431
-#: actions/showgroup.php:245 actions/tagother.php:94
-#: actions/userauthorization.php:145 lib/groupeditform.php:152
-#: lib/userprofile.php:132
+#. TRANS: Field label on OAuth API authorisation form.
+#. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
+#. TRANS: DT for nick name in a profile.
+#: actions/apioauthauthorize.php:459 actions/login.php:252
+#: actions/profilesettings.php:106 actions/register.php:432
+#: actions/showgroup.php:240 actions/tagother.php:94
+#: actions/userauthorization.php:145 lib/groupeditform.php:144
+#: lib/userprofile.php:137
 msgid "Nickname"
 msgstr "Utilizador"
 
 msgid "Nickname"
 msgstr "Utilizador"
 
+#. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Link description in user account settings menu.
 #. TRANS: Link description in user account settings menu.
-#: actions/apioauthauthorize.php:348 actions/login.php:255
+#: actions/apioauthauthorize.php:463 actions/login.php:255
 #: actions/register.php:436 lib/accountsettingsaction.php:120
 msgid "Password"
 msgstr "Senha"
 
 #: actions/register.php:436 lib/accountsettingsaction.php:120
 msgid "Password"
 msgstr "Senha"
 
-#. TRANS: Submit button title.
-#: actions/apioauthauthorize.php:360 lib/applicationeditform.php:353
+#. TRANS: Button text that when clicked will cancel the process of allowing access to an account
+#. TRANS: by an external application.
+#. TRANS: Button label to cancel an e-mail address confirmation procedure.
+#. TRANS: Button label to cancel an IM address confirmation procedure.
+#. TRANS: Button label to cancel a SMS address confirmation procedure.
+#. TRANS: Button label in the "Edit application" form.
+#: actions/apioauthauthorize.php:478 actions/emailsettings.php:124
+#: actions/imsettings.php:127 actions/smssettings.php:133
+#: lib/applicationeditform.php:351
+msgctxt "BUTTON"
 msgid "Cancel"
 msgstr "Cancelar"
 
 msgid "Cancel"
 msgstr "Cancelar"
 
-#: actions/apioauthauthorize.php:366
+#. TRANS: Button text that when clicked will allow access to an account by an external application.
+#: actions/apioauthauthorize.php:485
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Allow"
 msgstr "Permitir"
 
 msgid "Allow"
 msgstr "Permitir"
 
-#: actions/apioauthauthorize.php:383
+#. TRANS: Form instructions.
+#: actions/apioauthauthorize.php:502
 #, fuzzy
 msgid "Authorize access to your account information."
 msgstr "Permitir ou negar acesso à informação da sua conta."
 
 #, fuzzy
 msgid "Authorize access to your account information."
 msgstr "Permitir ou negar acesso à informação da sua conta."
 
-#: actions/apioauthauthorize.php:433
+#. TRANS: Header for user notification after revoking OAuth access to an application.
+#: actions/apioauthauthorize.php:594
 #, fuzzy
 msgid "Authorization canceled."
 msgstr "Confirmação do mensageiro instantâneo cancelada."
 
 #, fuzzy
 msgid "Authorization canceled."
 msgstr "Confirmação do mensageiro instantâneo cancelada."
 
-#: actions/apioauthauthorize.php:435
+#. TRANS: User notification after revoking OAuth access to an application.
+#. TRANS: %s is an OAuth token.
+#: actions/apioauthauthorize.php:598
 #, fuzzy, php-format
 msgid "The request token %s has been revoked."
 msgstr "A chave de pedido %s foi negada e retirada."
 
 #, fuzzy, php-format
 msgid "The request token %s has been revoked."
 msgstr "A chave de pedido %s foi negada e retirada."
 
-#: actions/apioauthauthorize.php:453
+#. TRANS: Title of the page notifying the user that an anonymous client application was successfully authorized to access the user's account with OAuth.
+#: actions/apioauthauthorize.php:621
+#, fuzzy
+msgid "You have successfully authorized the application"
+msgstr "Não tem autorização."
+
+#. TRANS: Message notifying the user that an anonymous client application was successfully authorized to access the user's account with OAuth.
+#: actions/apioauthauthorize.php:625
+msgid ""
+"Please return to the application and enter the following security code to "
+"complete the process."
+msgstr ""
+
+#. TRANS: Title of the page notifying the user that the client application was successfully authorized to access the user's account with OAuth.
+#. TRANS: %s is the authorised application name.
+#: actions/apioauthauthorize.php:632
 #, fuzzy, php-format
 #, fuzzy, php-format
-msgid "You have successfully authorized %s."
+msgid "You have successfully authorized %s"
 msgstr "Não tem autorização."
 
 msgstr "Não tem autorização."
 
-#: actions/apioauthauthorize.php:458
+#. TRANS: Message notifying the user that the client application was successfully authorized to access the user's account with OAuth.
+#. TRANS: %s is the authorised application name.
+#: actions/apioauthauthorize.php:639
 #, php-format
 msgid ""
 "Please return to %s and enter the following security code to complete the "
 "process."
 msgstr ""
 
 #, php-format
 msgid ""
 "Please return to %s and enter the following security code to complete the "
 "process."
 msgstr ""
 
-#: actions/apistatusesdestroy.php:112
+#. TRANS: Client error displayed trying to delete a status not using POST or DELETE.
+#. TRANS: POST and DELETE should not be translated.
+#: actions/apistatusesdestroy.php:111
 msgid "This method requires a POST or DELETE."
 msgstr "Este método requer um POST ou DELETE."
 
 msgid "This method requires a POST or DELETE."
 msgstr "Este método requer um POST ou DELETE."
 
-#: actions/apistatusesdestroy.php:135
+#. TRANS: Client error displayed trying to delete a status of another user.
+#: actions/apistatusesdestroy.php:136
 msgid "You may not delete another user's status."
 msgstr "Não pode apagar o estado de outro utilizador."
 
 msgid "You may not delete another user's status."
 msgstr "Não pode apagar o estado de outro utilizador."
 
-#: actions/apistatusesretweet.php:76 actions/apistatusesretweets.php:72
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
+#. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Client exception thrown when referencing a non-existing notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
+#: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
+#: actions/atompubshowfavorite.php:82 actions/deletenotice.php:61
+#: actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Nota não foi encontrada."
 
 msgid "No such notice."
 msgstr "Nota não foi encontrada."
 
+#. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:84 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Não pode repetir a sua própria nota."
 
 msgid "Cannot repeat your own notice."
 msgstr "Não pode repetir a sua própria nota."
 
+#. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Já repetiu essa nota."
 
 msgid "Already repeated that notice."
 msgstr "Já repetiu essa nota."
 
-#: actions/apistatusesshow.php:139
+#. TRANS: Client error displayed calling an unsupported HTTP error in API status show.
+#. TRANS: Client exception thrown when using an unsupported HTTP method.
+#. TRANS: Client exception thrown using an unsupported HTTP method.
+#. TRANS: Client exception thrown when using an unsupported HTTP method.
+#. TRANS: Client error shown when using a non-supported HTTP method.
+#. TRANS: Client exception thrown when using an unsupported HTTP method.
+#: actions/apistatusesshow.php:118 actions/atompubfavoritefeed.php:103
+#: actions/atompubmembershipfeed.php:105 actions/atompubshowfavorite.php:117
+#: actions/atompubshowmembership.php:116
+#: actions/atompubshowsubscription.php:122
+#: actions/atompubsubscriptionfeed.php:109
+#, fuzzy
+msgid "HTTP method not supported."
+msgstr "Método da API não encontrado."
+
+#. TRANS: Exception thrown requesting an unsupported notice output format.
+#. TRANS: %s is the requested output format.
+#: actions/apistatusesshow.php:144
+#, fuzzy, php-format
+msgid "Unsupported format: %s"
+msgstr "Formato não suportado."
+
+#. TRANS: Client error displayed requesting a deleted status.
+#: actions/apistatusesshow.php:155
 msgid "Status deleted."
 msgstr "Estado apagado."
 
 msgid "Status deleted."
 msgstr "Estado apagado."
 
-#: actions/apistatusesshow.php:145
+#. TRANS: Client error displayed requesting a status with an invalid ID.
+#: actions/apistatusesshow.php:162
 msgid "No status with that ID found."
 msgstr "Não foi encontrado um estado com esse ID."
 
 msgid "No status with that ID found."
 msgstr "Não foi encontrado um estado com esse ID."
 
-#: actions/apistatusesupdate.php:222
+#. TRANS: Client error displayed when trying to delete a notice not using the Atom format.
+#: actions/apistatusesshow.php:227
+msgid "Can only delete using the Atom format."
+msgstr ""
+
+#. TRANS: Client error displayed when a user has no rights to delete notices of other users.
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/apistatusesshow.php:235 actions/deletenotice.php:78
+#, fuzzy
+msgid "Cannot delete this notice."
+msgstr "Nota não pode ser apagada."
+
+#. TRANS: Confirmation of notice deletion in API. %d is the ID (number) of the deleted notice.
+#: actions/apistatusesshow.php:249
+#, fuzzy, php-format
+msgid "Deleted notice %d"
+msgstr "Apagar nota"
+
+#. TRANS: Client error displayed when the parameter "status" is missing.
+#: actions/apistatusesupdate.php:221
 msgid "Client must provide a 'status' parameter with a value."
 msgstr "O cliente tem de fornecer um parâmetro 'status' com um valor."
 
 msgid "Client must provide a 'status' parameter with a value."
 msgstr "O cliente tem de fornecer um parâmetro 'status' com um valor."
 
-#: actions/apistatusesupdate.php:243 actions/newnotice.php:157
+#. TRANS: Client error displayed when the parameter "status" is missing.
+#. TRANS: %d is the maximum number of character for a notice.
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
 #: lib/mailhandler.php:60
 #: lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Demasiado longo. Tamanho máx. das notas é %d caracteres."
-
-#: actions/apistatusesupdate.php:284 actions/apiusershow.php:96
-msgid "Not found."
-msgstr "Não encontrado."
+#, fuzzy, php-format
+msgid "That's too long. Maximum notice size is %d character."
+msgid_plural "That's too long. Maximum notice size is %d characters."
+msgstr[0] "Demasiado longo. Tamanho máx. das notas é %d caracteres."
+msgstr[1] "Demasiado longo. Tamanho máx. das notas é %d caracteres."
 
 
-#: actions/apistatusesupdate.php:307 actions/newnotice.php:181
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr "Tamanho máx. das notas é %d caracteres, incluindo a URL do anexo."
+#. TRANS: Client error displayed when replying to a non-existing notice.
+#: actions/apistatusesupdate.php:284
+#, fuzzy
+msgid "Parent notice not found."
+msgstr "Método da API não encontrado."
 
 
-#: actions/apisubscriptions.php:233 actions/apisubscriptions.php:263
+#. TRANS: Client error displayed exceeding the maximum notice length.
+#. TRANS: %d is the maximum lenth for a notice.
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
+#, fuzzy, php-format
+msgid "Maximum notice size is %d character, including attachment URL."
+msgid_plural "Maximum notice size is %d characters, including attachment URL."
+msgstr[0] "Tamanho máx. das notas é %d caracteres, incluindo a URL do anexo."
+msgstr[1] "Tamanho máx. das notas é %d caracteres, incluindo a URL do anexo."
+
+#. TRANS: Client error displayed when requesting profiles of followers in an unsupported format.
+#. TRANS: Client error displayed when requesting IDs of followers in an unsupported format.
+#: actions/apisubscriptions.php:228 actions/apisubscriptions.php:258
 msgid "Unsupported format."
 msgstr "Formato não suportado."
 
 msgid "Unsupported format."
 msgstr "Formato não suportado."
 
-#: actions/apitimelinefavorites.php:110
+#. TRANS: Title for timeline of most recent favourite notices by a user.
+#. TRANS: %1$s is the StatusNet sitename, %2$s is a user nickname.
+#: actions/apitimelinefavorites.php:108
 #, php-format
 msgid "%1$s / Favorites from %2$s"
 msgstr "%1$s / Favoritas de %2$s"
 
 #, php-format
 msgid "%1$s / Favorites from %2$s"
 msgstr "%1$s / Favoritas de %2$s"
 
-#: actions/apitimelinefavorites.php:119
-#, php-format
-msgid "%1$s updates favorited by %2$s / %2$s."
+#. TRANS: Subtitle for timeline of most recent favourite notices by a user.
+#. TRANS: %1$s is the StatusNet sitename, %2$s is a user's full name,
+#. TRANS: %3$s is a user nickname.
+#: actions/apitimelinefavorites.php:120
+#, fuzzy, php-format
+msgid "%1$s updates favorited by %2$s / %3$s."
 msgstr "%1$s actualizações preferidas por %2$s / %2$s."
 
 msgstr "%1$s actualizações preferidas por %2$s / %2$s."
 
-#: actions/apitimelinementions.php:118
+#. TRANS: Server error displayed when generating an Atom feed fails.
+#. TRANS: %s is the error.
+#: actions/apitimelinegroup.php:134
+#, fuzzy, php-format
+msgid "Could not generate feed for group - %s"
+msgstr "Não foi possível actualizar o grupo."
+
+#. TRANS: Title for timeline of most recent mentions of a user.
+#. TRANS: %1$s is the StatusNet sitename, %2$s is a user nickname.
+#: actions/apitimelinementions.php:115
 #, php-format
 msgid "%1$s / Updates mentioning %2$s"
 msgstr "%1$s / Actualizações que mencionam %2$s"
 
 #, php-format
 msgid "%1$s / Updates mentioning %2$s"
 msgstr "%1$s / Actualizações que mencionam %2$s"
 
+#. TRANS: Subtitle for timeline of most recent mentions of a user.
+#. TRANS: %1$s is the StatusNet sitename, %2$s is a user nickname,
+#. TRANS: %3$s is a user's full name.
 #: actions/apitimelinementions.php:131
 #, php-format
 msgid "%1$s updates that reply to updates from %2$s / %3$s."
 msgstr "%1$s actualizações em resposta a actualizações de %2$s / %3$s."
 
 #: actions/apitimelinementions.php:131
 #, php-format
 msgid "%1$s updates that reply to updates from %2$s / %3$s."
 msgstr "%1$s actualizações em resposta a actualizações de %2$s / %3$s."
 
-#: actions/apitimelinepublic.php:197 actions/publicrss.php:103
+#. TRANS: Title for site timeline. %s is the StatusNet sitename.
+#: actions/apitimelinepublic.php:193 actions/publicrss.php:103
 #, php-format
 msgid "%s public timeline"
 msgstr "Notas públicas de %s"
 
 #, php-format
 msgid "%s public timeline"
 msgstr "Notas públicas de %s"
 
-#: actions/apitimelinepublic.php:202 actions/publicrss.php:105
+#. TRANS: Subtitle for site timeline. %s is the StatusNet sitename.
+#: actions/apitimelinepublic.php:199 actions/publicrss.php:105
 #, php-format
 msgid "%s updates from everyone!"
 msgstr "%s actualizações de todos!"
 
 #, php-format
 msgid "%s updates from everyone!"
 msgstr "%s actualizações de todos!"
 
-#: actions/apitimelineretweetedtome.php:111
+#. TRANS: Server error displayed calling unimplemented API method for 'retweeted by me'.
+#: actions/apitimelineretweetedbyme.php:71
+#, fuzzy
+msgid "Unimplemented."
+msgstr "Método não implementado."
+
+#. TRANS: Title for Atom feed "repeated to me". %s is the user nickname.
+#: actions/apitimelineretweetedtome.php:108
 #, php-format
 msgid "Repeated to %s"
 msgstr "Repetida para %s"
 
 #, php-format
 msgid "Repeated to %s"
 msgstr "Repetida para %s"
 
-#: actions/apitimelineretweetsofme.php:114
+#. TRANS: Title of list of repeated notices of the logged in user.
+#. TRANS: %s is the nickname of the logged in user.
+#: actions/apitimelineretweetsofme.php:112
 #, php-format
 msgid "Repeats of %s"
 msgstr "Repetições de %s"
 
 #, php-format
 msgid "Repeats of %s"
 msgstr "Repetições de %s"
 
-#: actions/apitimelinetag.php:105 actions/tag.php:67
+#. TRANS: Title for timeline with lastest notices with a given tag.
+#. TRANS: %s is the tag.
+#: actions/apitimelinetag.php:101 actions/tag.php:67
 #, php-format
 msgid "Notices tagged with %s"
 msgstr "Notas categorizadas com %s"
 
 #, php-format
 msgid "Notices tagged with %s"
 msgstr "Notas categorizadas com %s"
 
-#: actions/apitimelinetag.php:107 actions/tagrss.php:65
+#. TRANS: Subtitle for timeline with lastest notices with a given tag.
+#. TRANS: %1$s is the tag, $2$s is the StatusNet sitename.
+#: actions/apitimelinetag.php:105 actions/tagrss.php:65
 #, php-format
 msgid "Updates tagged with %1$s on %2$s!"
 msgstr "Actualizações categorizadas com %1$s em %2$s!"
 
 #, php-format
 msgid "Updates tagged with %1$s on %2$s!"
 msgstr "Actualizações categorizadas com %1$s em %2$s!"
 
-#: actions/apitrends.php:87
+#. TRANS: Client error displayed trying to add a notice to another user's timeline.
+#: actions/apitimelineuser.php:297
+#, fuzzy
+msgid "Only the user can add to their own timeline."
+msgstr "Só o próprio utilizador pode ler a sua caixa de correio."
+
+#. TRANS: Client error displayed when using another format than AtomPub.
+#: actions/apitimelineuser.php:304
+msgid "Only accept AtomPub for Atom feeds."
+msgstr ""
+
+#. TRANS: Client error displayed attempting to post an empty API notice.
+#: actions/apitimelineuser.php:311
+msgid "Atom post must not be empty."
+msgstr ""
+
+#. TRANS: Client error displayed attempting to post an API that is not well-formed XML.
+#: actions/apitimelineuser.php:317
+msgid "Atom post must be well-formed XML."
+msgstr ""
+
+#. TRANS: Client error displayed when not using an Atom entry.
+#: actions/apitimelineuser.php:323 actions/atompubfavoritefeed.php:228
+#: actions/atompubmembershipfeed.php:230
+#: actions/atompubsubscriptionfeed.php:236
+msgid "Atom post must be an Atom entry."
+msgstr ""
+
+#. TRANS: Client error displayed when not using the POST verb. Do not translate POST.
+#: actions/apitimelineuser.php:335
+msgid "Can only handle POST activities."
+msgstr ""
+
+#. TRANS: Client error displayed when using an unsupported activity object type.
+#. TRANS: %s is the unsupported activity object type.
+#: actions/apitimelineuser.php:346
+#, php-format
+msgid "Cannot handle activity object type \"%s\"."
+msgstr ""
+
+#. TRANS: Client error displayed when posting a notice without content through the API.
+#. TRANS: %d is the notice ID (number).
+#: actions/apitimelineuser.php:380
+#, fuzzy, php-format
+msgid "No content for notice %d."
+msgstr "Procurar no conteúdo das notas"
+
+#. TRANS: Client error displayed when using another format than AtomPub.
+#: actions/apitimelineuser.php:408
+#, fuzzy, php-format
+msgid "Notice with URI \"%s\" already exists."
+msgstr "Não existe nenhuma nota com essa identificação."
+
+#. TRANS: Server error for unfinished API method showTrends.
+#: actions/apitrends.php:85
 msgid "API method under construction."
 msgstr "Método da API em desenvolvimento."
 
 msgid "API method under construction."
 msgstr "Método da API em desenvolvimento."
 
+#. TRANS: Client error displayed when requesting user information for a non-existing user.
+#: actions/apiuserprofileimage.php:80 actions/apiusershow.php:94
+#, fuzzy
+msgid "User not found."
+msgstr "Método da API não encontrado."
+
+#. TRANS: Client exception thrown when requesting a favorite feed for a non-existing profile.
+#. TRANS: Client exception.
+#: actions/atompubfavoritefeed.php:69 actions/atompubmembershipfeed.php:71
+#: actions/atompubshowfavorite.php:75 actions/atompubshowmembership.php:72
+#: actions/subscribe.php:107
+msgid "No such profile."
+msgstr "Perfil não foi encontrado."
+
+#. TRANS: Client exception thrown when trying to set a favorite for another user.
+#. TRANS: Client exception thrown when trying to subscribe another user.
+#: actions/atompubfavoritefeed.php:217 actions/atompubsubscriptionfeed.php:225
+#, fuzzy
+msgid "Cannot add someone else's subscription."
+msgstr "Não foi possível inserir nova subscrição."
+
+#. TRANS: Client exception thrown when trying use an incorrect activity verb for the Atom pub method.
+#: actions/atompubfavoritefeed.php:240
+#, fuzzy
+msgid "Can only handle favorite activities."
+msgstr "Procurar no conteúdo das notas"
+
+#. TRANS: Client exception thrown when trying favorite an object that is not a notice.
+#: actions/atompubfavoritefeed.php:250 actions/atompubmembershipfeed.php:250
+#, fuzzy
+msgid "Can only fave notices."
+msgstr "Procurar no conteúdo das notas"
+
+#. TRANS: Client exception thrown when trying favorite a notice without content.
+#: actions/atompubfavoritefeed.php:259
+#, fuzzy
+msgid "Unknown note."
+msgstr "Desconhecida"
+
+#. TRANS: Client exception thrown when trying favorite an already favorited notice.
+#: actions/atompubfavoritefeed.php:267
+#, fuzzy
+msgid "Already a favorite."
+msgstr "Adicionar às favoritas"
+
+#. TRANS: Title for group membership feed.
+#. TRANS: %s is a username.
+#: actions/atompubmembershipfeed.php:144
+#, fuzzy, php-format
+msgid "%s group memberships"
+msgstr "Membros do grupo %s"
+
+#. TRANS: Client exception thrown when trying subscribe someone else to a group.
+#: actions/atompubmembershipfeed.php:219
+#, fuzzy
+msgid "Cannot add someone else's membership."
+msgstr "Não foi possível inserir nova subscrição."
+
+#. TRANS: Client error displayed when not using the POST verb.
+#. TRANS: Do not translate POST.
+#: actions/atompubmembershipfeed.php:242
+#, fuzzy
+msgid "Can only handle join activities."
+msgstr "Procurar no conteúdo das notas"
+
+#. TRANS: Client exception thrown when trying to subscribe to a non-existing group.
+#: actions/atompubmembershipfeed.php:259
+#, fuzzy
+msgid "Unknown group."
+msgstr "Desconhecida"
+
+#. TRANS: Client exception thrown when trying to subscribe to an already subscribed group.
+#: actions/atompubmembershipfeed.php:267
+#, fuzzy
+msgid "Already a member."
+msgstr "Todos os membros"
+
+#. TRANS: Client exception thrown when trying to subscribe to group while blocked from that group.
+#: actions/atompubmembershipfeed.php:275
+msgid "Blocked by admin."
+msgstr ""
+
+#. TRANS: Client exception thrown when referencing a non-existing favorite.
+#: actions/atompubshowfavorite.php:90
+#, fuzzy
+msgid "No such favorite."
+msgstr "Ficheiro não foi encontrado."
+
+#. TRANS: Client exception thrown when trying to remove a favorite notice of another user.
+#: actions/atompubshowfavorite.php:151
+#, fuzzy
+msgid "Cannot delete someone else's favorite."
+msgstr "Não foi possível eliminar o favorito."
+
+#. TRANS: Client exception thrown when referencing a non-existing group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
+#. TRANS: Client error when trying to delete a non-local group.
+#. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to update logo settings for a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed when trying to join a non-local group.
+#. TRANS: Client error displayed when trying to join a non-existing group.
+#. TRANS: Client error displayed when trying to leave a non-local group.
+#. TRANS: Client error displayed when trying to leave a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
+#. TRANS: Command exception text shown when a group is requested that does not exist.
+#. TRANS: Error text shown when trying to leave a group that does not exist.
+#: actions/atompubshowmembership.php:81 actions/blockedfromgroup.php:81
+#: actions/blockedfromgroup.php:89 actions/deletegroup.php:87
+#: actions/deletegroup.php:100 actions/editgroup.php:102
+#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/foafgroup.php:69
+#: actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:104
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:88 actions/joingroup.php:82
+#: actions/joingroup.php:95 actions/leavegroup.php:82
+#: actions/leavegroup.php:95 actions/makeadmin.php:86
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
+#: lib/command.php:380
+msgid "No such group."
+msgstr "Grupo não foi encontrado."
+
+#. TRANS: Client exception thrown when trying to show membership of a non-subscribed group
+#: actions/atompubshowmembership.php:91
+#, fuzzy
+msgid "Not a member."
+msgstr "Todos os membros"
+
+#. TRANS: Client exception thrown when deleting someone else's membership.
+#: actions/atompubshowmembership.php:151
+#, fuzzy
+msgid "Cannot delete someone else's membership."
+msgstr "Não foi possível apagar a auto-subscrição."
+
+#. TRANS: Client exception thrown when trying to display a subscription for a non-existing profile ID.
+#. TRANS: %d is the non-existing profile ID number.
+#: actions/atompubshowsubscription.php:72
+#: actions/atompubshowsubscription.php:83
+#: actions/atompubsubscriptionfeed.php:74
+#, fuzzy, php-format
+msgid "No such profile id: %d."
+msgstr "Perfil não foi encontrado."
+
+#. TRANS: Client exception thrown when trying to display a subscription for a non-subscribed profile ID.
+#. TRANS: %1$d is the non-existing subscriber ID number, $2$d is the ID of the profile that was not subscribed to.
+#: actions/atompubshowsubscription.php:94
+#, fuzzy, php-format
+msgid "Profile %1$d not subscribed to profile %2$d."
+msgstr "Não subscreveu esse perfil."
+
+#. TRANS: Client exception thrown when trying to delete a subscription of another user.
+#: actions/atompubshowsubscription.php:157
+#, fuzzy
+msgid "Cannot delete someone else's subscription."
+msgstr "Não foi possível apagar a auto-subscrição."
+
+#. TRANS: Client error displayed when not using the follow verb.
+#: actions/atompubsubscriptionfeed.php:248
+msgid "Can only handle Follow activities."
+msgstr ""
+
+#. TRANS: Client exception thrown when subscribing to an object that is not a person.
+#: actions/atompubsubscriptionfeed.php:256
+msgid "Can only follow people."
+msgstr ""
+
+#. TRANS: Client exception thrown when subscribing to a non-existing profile.
+#. TRANS: %s is the unknown profile ID.
+#: actions/atompubsubscriptionfeed.php:267
+#, fuzzy, php-format
+msgid "Unknown profile %s."
+msgstr "Tipo do ficheiro é desconhecido"
+
+#. TRANS: Client error displayed trying to subscribe to an already subscribed profile.
+#. TRANS: %s is the profile the user already has a subscription on.
+#: actions/atompubsubscriptionfeed.php:275
+#, fuzzy, php-format
+msgid "Already subscribed to %s."
+msgstr "Já subscrito!"
+
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Anexo não foi encontrado."
 
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Anexo não foi encontrado."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
-#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed when trying to change group logo settings without having a nickname.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
+#: actions/grouplogo.php:87 actions/groupmembers.php:76
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Nome de utilizador não definido."
 
 msgid "No nickname."
 msgstr "Nome de utilizador não definido."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Tamanho não definido."
 
 msgid "No size."
 msgstr "Tamanho não definido."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Tamanho inválido."
 
 msgid "Invalid size."
 msgstr "Tamanho inválido."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Avatar"
 
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Avatar"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr "Pode carregar o seu avatar pessoal. O tamanho máximo do ficheiro é %s."
 
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr "Pode carregar o seu avatar pessoal. O tamanho máximo do ficheiro é %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
-#: actions/grouplogo.php:181 actions/remotesubscribe.php:191
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#. TRANS: Server error displayed coming across a request from a user without a profile.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
+#: actions/grouplogo.php:185 actions/remotesubscribe.php:190
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Utilizador sem perfil correspondente."
 
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Utilizador sem perfil correspondente."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:254
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#. TRANS: Legend for group logo settings fieldset.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
+#: actions/grouplogo.php:263
 msgid "Avatar settings"
 msgstr "Configurações do avatar"
 
 msgid "Avatar settings"
 msgstr "Configurações do avatar"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:202 actions/grouplogo.php:262
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Uploaded original file in group logo form.
+#. TRANS: Header for originally uploaded file before a crop on the group logo page.
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
+#: actions/grouplogo.php:208 actions/grouplogo.php:272
 msgid "Original"
 msgstr "Original"
 
 msgid "Original"
 msgstr "Original"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:213 actions/grouplogo.php:274
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header for preview of to be displayed group logo.
+#. TRANS: Header for the cropped group logo on the group logo page.
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
+#: actions/grouplogo.php:220 actions/grouplogo.php:285
 msgid "Preview"
 msgstr "Antevisão"
 
 msgid "Preview"
 msgstr "Antevisão"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#. TRANS: Button text for user account deletion.
+#: actions/avatarsettings.php:155 actions/deleteaccount.php:319
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Apagar"
 
 msgid "Delete"
 msgstr "Apagar"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#. TRANS: Submit button to confirm upload of a user backup file for account restore.
+#: actions/avatarsettings.php:173 actions/restoreaccount.php:369
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Carregar"
 
 msgid "Upload"
 msgstr "Carregar"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Cortar"
 
 msgid "Crop"
 msgstr "Cortar"
 
-#: actions/avatarsettings.php:305
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Não foi carregado nenhum ficheiro."
 
 msgid "No file uploaded."
 msgstr "Não foi carregado nenhum ficheiro."
 
-#: actions/avatarsettings.php:332
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:345
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Escolha uma área quadrada da imagem para ser o seu avatar"
 
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Escolha uma área quadrada da imagem para ser o seu avatar"
 
-#: actions/avatarsettings.php:347 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#. TRANS: Server error displayed trying to crop an uploaded group logo that is no longer present.
+#: actions/avatarsettings.php:360 actions/grouplogo.php:394
 msgid "Lost our file data."
 msgstr "Perdi os dados do nosso ficheiro."
 
 msgid "Lost our file data."
 msgstr "Perdi os dados do nosso ficheiro."
 
-#: actions/avatarsettings.php:370
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:384
 msgid "Avatar updated."
 msgstr "Avatar actualizado."
 
 msgid "Avatar updated."
 msgstr "Avatar actualizado."
 
-#: actions/avatarsettings.php:373
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:388
 msgid "Failed updating avatar."
 msgstr "Falha ao actualizar avatar."
 
 msgid "Failed updating avatar."
 msgstr "Falha ao actualizar avatar."
 
-#: actions/avatarsettings.php:397
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:412
 msgid "Avatar deleted."
 msgstr "Avatar apagado."
 
 msgid "Avatar deleted."
 msgstr "Avatar apagado."
 
-#: actions/block.php:69
+#. TRANS: Title for backup account page.
+#. TRANS: Option in profile settings to create a backup of the account of the currently logged in user.
+#: actions/backupaccount.php:61 actions/profilesettings.php:467
+msgid "Backup account"
+msgstr ""
+
+#. TRANS: Client exception thrown when trying to backup an account while not logged in.
+#: actions/backupaccount.php:79
+#, fuzzy
+msgid "Only logged-in users can backup their account."
+msgstr "Só utilizadores com sessão iniciada podem repetir notas."
+
+#. TRANS: Client exception thrown when trying to backup an account without having backup rights.
+#: actions/backupaccount.php:84
+msgid "You may not backup your account."
+msgstr ""
+
+#. TRANS: Information displayed on the backup account page.
+#: actions/backupaccount.php:225
+msgid ""
+"You can backup your account data in <a href=\"http://activitystrea.ms/"
+"\">Activity Streams</a> format. This is an experimental feature and provides "
+"an incomplete backup; private account information like email and IM "
+"addresses is not backed up. Additionally, uploaded files and direct messages "
+"are not backed up."
+msgstr ""
+
+#. TRANS: Submit button to backup an account on the backup account page.
+#: actions/backupaccount.php:248
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Backup"
+msgstr "Fundo"
+
+#. TRANS: Title for submit button to backup an account on the backup account page.
+#: actions/backupaccount.php:252
+msgid "Backup your account"
+msgstr ""
+
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Já bloqueou esse utilizador."
 
 msgid "You already blocked that user."
 msgstr "Já bloqueou esse utilizador."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Bloquear utilizador"
 
 msgid "Block user"
 msgstr "Bloquear utilizador"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -896,16 +1638,15 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
-#: actions/deleteuser.php:152 actions/groupblock.php:178
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
+#: actions/deleteuser.php:154 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
 msgstr "Não"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 msgctxt "BUTTON"
 msgid "No"
 msgstr "Não"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
-#. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158
 msgid "Do not block this user"
 msgstr "Não bloquear este utilizador"
 
 msgid "Do not block this user"
 msgstr "Não bloquear este utilizador"
 
@@ -915,163 +1656,230 @@ msgstr "Não bloquear este utilizador"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
-#: actions/deleteuser.php:159 actions/groupblock.php:185
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
+#: actions/deleteuser.php:161 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
 msgstr "Sim"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
 msgctxt "BUTTON"
 msgid "Yes"
 msgstr "Sim"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Bloquear este utilizador"
 
 msgid "Block this user"
 msgstr "Bloquear este utilizador"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Não foi possível gravar informação do bloqueio."
 
 msgid "Failed to save block information."
 msgstr "Não foi possível gravar informação do bloqueio."
 
-#. TRANS: Client error when trying to delete a non-local group.
-#. TRANS: Client error when trying to delete a non-existing group.
-#. TRANS: Command exception text shown when a group is requested that does not exist.
-#. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
-#: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
-#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
-#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
-#: actions/groupmembers.php:83 actions/groupmembers.php:90
-#: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
-#: actions/joingroup.php:93 actions/leavegroup.php:82
-#: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
-#: lib/command.php:380
-msgid "No such group."
-msgstr "Grupo não foi encontrado."
-
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s perfis bloqueados"
 
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s perfis bloqueados"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "Perfis bloqueados de %1$s, página %2$d"
 
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "Perfis bloqueados de %1$s, página %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "Uma lista dos utilizadores com entrada bloqueada neste grupo."
 
 msgid "A list of the users blocked from joining this group."
 msgstr "Uma lista dos utilizadores com entrada bloqueada neste grupo."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Desbloquear utilizador do grupo"
 
 msgid "Unblock user from group"
 msgstr "Desbloquear utilizador do grupo"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Desbloquear"
 
 msgid "Unblock"
 msgstr "Desbloquear"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Desbloquear este utilizador"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
 msgid "Unblock this user"
 msgstr "Desbloquear este utilizador"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Publicar em %s"
 
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Publicar em %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Sem código de confimação."
 
 msgid "No confirmation code."
 msgstr "Sem código de confimação."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Código de confirmação não encontrado"
 
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Código de confirmação não encontrado"
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Esse código de confirmação não é para si!"
 
 msgid "That confirmation code is not for you!"
 msgstr "Esse código de confirmação não é para si!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Tipo do endereço %s não reconhecido."
 
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Tipo do endereço %s não reconhecido."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Esse endereço já tinha sido confirmado."
 
 msgid "That address has already been confirmed."
 msgstr "Esse endereço já tinha sido confirmado."
 
-#. TRANS: Server error thrown on database error updating e-mail preferences.
-#. TRANS: Server error thrown on database error removing a registered e-mail address.
-#. TRANS: Server error thrown on database error updating IM preferences.
-#. TRANS: Server error thrown on database error removing a registered IM address.
-#. TRANS: Server error thrown on database error updating SMS preferences.
-#. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
-#: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
-#: actions/profilesettings.php:283 actions/smssettings.php:308
-#: actions/smssettings.php:464
-msgid "Couldn't update user."
-msgstr "Não foi possível actualizar o utilizador."
-
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "Não foi possível apagar a confirmação do endereço electrónico."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
+msgstr "Não foi possível apagar a confirmação do mensageiro instantâneo."
 
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Confirmar endereço"
 
 msgid "Confirm address"
 msgstr "Confirmar endereço"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "O endereço \"%s\" foi confirmado para a sua conta."
 
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "O endereço \"%s\" foi confirmado para a sua conta."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Conversação"
 
 msgid "Conversation"
 msgstr "Conversação"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:229 lib/searchgroupnav.php:82
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#. TRANS: Label for user statistics.
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
+#: lib/profileaction.php:246 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Notas"
 
 msgid "Notices"
 msgstr "Notas"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client exception displayed trying to delete a user account while not logged in.
+#: actions/deleteaccount.php:71
+#, fuzzy
+msgid "Only logged-in users can delete their account."
+msgstr "Só utilizadores com sessão iniciada podem repetir notas."
+
+#. TRANS: Client exception displayed trying to delete a user account without have the rights to do that.
+#: actions/deleteaccount.php:77
+#, fuzzy
+msgid "You cannot delete your account."
+msgstr "Não pode apagar utilizadores."
+
+#. TRANS: Confirmation text for user deletion. The user has to type this exactly the same, including punctuation.
+#: actions/deleteaccount.php:160 actions/deleteaccount.php:297
+msgid "I am sure."
+msgstr ""
+
+#. TRANS: Notification for user about the text that must be input to be able to delete a user account.
+#. TRANS: %s is the text that needs to be input.
+#: actions/deleteaccount.php:164
+#, php-format
+msgid "You must write \"%s\" exactly in the box."
+msgstr ""
+
+#. TRANS: Confirmation that a user account has been deleted.
+#: actions/deleteaccount.php:206
+#, fuzzy
+msgid "Account deleted."
+msgstr "Avatar apagado."
+
+#. TRANS: Page title for page on which a user account can be deleted.
+#. TRANS: Option in profile settings to delete the account of the currently logged in user.
+#: actions/deleteaccount.php:228 actions/profilesettings.php:475
+#, fuzzy
+msgid "Delete account"
+msgstr "Criar uma conta"
+
+#. TRANS: Form text for user deletion form.
+#: actions/deleteaccount.php:279
+msgid ""
+"This will <strong>permanently delete</strong> your account data from this "
+"server."
+msgstr ""
+
+#. TRANS: Additional form text for user deletion form shown if a user has account backup rights.
+#. TRANS: %s is a URL to the backup page.
+#: actions/deleteaccount.php:285
+#, php-format
+msgid ""
+"You are strongly advised to <a href=\"%s\">back up your data</a> before "
+"deletion."
+msgstr ""
+
+#. TRANS: Field label for delete account confirmation entry.
+#. TRANS: Field label for password reset form where the password has to be typed again.
+#: actions/deleteaccount.php:300 actions/passwordsettings.php:112
+#: actions/recoverpassword.php:262 actions/register.php:440
+msgid "Confirm"
+msgstr "Confirmação"
+
+#. TRANS: Input title for the delete account field.
+#. TRANS: %s is the text that needs to be input.
+#: actions/deleteaccount.php:304
+#, fuzzy, php-format
+msgid "Enter \"%s\" to confirm that you want to delete your account."
+msgstr "Não pode apagar utilizadores."
+
+#. TRANS: Button title for user account deletion.
+#: actions/deleteaccount.php:323
+#, fuzzy
+msgid "Permanently delete your account"
+msgstr "Não pode apagar utilizadores."
+
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Tem de iniciar uma sessão para eliminar uma aplicação."
 
 msgid "You must be logged in to delete an application."
 msgstr "Tem de iniciar uma sessão para eliminar uma aplicação."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Aplicação não foi encontrada."
 
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Aplicação não foi encontrada."
 
-#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
+#. TRANS: Client error displayed trying to edit an application while not being its owner.
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "Não é o proprietário desta aplicação."
 
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "Não é o proprietário desta aplicação."
 
 #. TRANS: Client error text when there is a problem with the session token.
-#: actions/deleteapplication.php:102 actions/editapplication.php:127
-#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1353
+#: actions/deleteapplication.php:102 actions/editapplication.php:131
+#: actions/newapplication.php:112 actions/showapplication.php:118
+#: lib/action.php:1409
 msgid "There was a problem with your session token."
 msgstr "Ocorreu um problema com a sua sessão."
 
 msgid "There was a problem with your session token."
 msgstr "Ocorreu um problema com a sua sessão."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Apagar aplicação"
 
 msgid "Delete application"
 msgstr "Apagar aplicação"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1082,12 +1890,12 @@ msgstr ""
 "utilizadores em existência."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
 "utilizadores em existência."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Não apagar esta aplicação"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
 msgid "Do not delete this application"
 msgstr "Não apagar esta aplicação"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Apagar esta aplicação"
 
 msgid "Delete this application"
 msgstr "Apagar esta aplicação"
 
@@ -1098,8 +1906,10 @@ msgid "You must be logged in to delete a group."
 msgstr "Tem de iniciar uma sessão para deixar um grupo."
 
 #. TRANS: Client error when trying to delete a group without providing a nickname or ID for the group.
 msgstr "Tem de iniciar uma sessão para deixar um grupo."
 
 #. TRANS: Client error when trying to delete a group without providing a nickname or ID for the group.
-#: actions/deletegroup.php:94 actions/joingroup.php:88
-#: actions/leavegroup.php:88
+#. TRANS: Client error displayed when trying to join a group without providing a group name or group ID.
+#. TRANS: Client error displayed when trying to leave a group without providing a group name or group ID.
+#: actions/deletegroup.php:94 actions/joingroup.php:89
+#: actions/leavegroup.php:89
 msgid "No nickname or ID."
 msgstr "Nenhum utilizador ou ID."
 
 msgid "No nickname or ID."
 msgstr "Nenhum utilizador ou ID."
 
@@ -1123,13 +1933,14 @@ msgstr "Não foi possível actualizar o grupo."
 msgid "Deleted group %s"
 msgstr "%1$s deixou o grupo %2$s"
 
 msgid "Deleted group %s"
 msgstr "%1$s deixou o grupo %2$s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "Apagar utilizador"
 
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "Apagar utilizador"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 #, fuzzy
 msgid ""
 #: actions/deletegroup.php:206
 #, fuzzy
 msgid ""
@@ -1152,22 +1963,25 @@ msgstr "Não apagar esta nota"
 msgid "Delete this group"
 msgstr "Apagar este utilizador"
 
 msgid "Delete this group"
 msgstr "Apagar este utilizador"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to remove a favorite while not logged in.
+#. TRANS: Client error displayed when trying to mark a notice as favorite without being logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
-#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#. TRANS: Client error displayed when trying to change user options while not logged in.
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
+#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:71 lib/profileformaction.php:64
+#: lib/adminpanelaction.php:71 lib/profileformaction.php:63
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Não iniciou sessão."
 
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Não iniciou sessão."
 
-#: actions/deletenotice.php:74
-msgid "Can't delete this notice."
-msgstr "Nota não pode ser apagada."
-
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1175,37 +1989,51 @@ msgstr ""
 "Está prestes a apagar permamentemente uma nota. Esta acção não pode ser "
 "desfeita."
 
 "Está prestes a apagar permamentemente uma nota. Esta acção não pode ser "
 "desfeita."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Apagar nota"
 
 msgid "Delete notice"
 msgstr "Apagar nota"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Tem a certeza de que quer apagar esta nota?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
 msgid "Are you sure you want to delete this notice?"
 msgstr "Tem a certeza de que quer apagar esta nota?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Não apagar esta nota"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
 msgid "Do not delete this notice"
 msgstr "Não apagar esta nota"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:673
 msgid "Delete this notice"
 msgstr "Apagar esta nota"
 
 msgid "Delete this notice"
 msgstr "Apagar esta nota"
 
-#: actions/deleteuser.php:67
+#. TRANS: Client error displayed when trying to delete a user without having the right to delete users.
+#: actions/deleteuser.php:66
 msgid "You cannot delete users."
 msgstr "Não pode apagar utilizadores."
 
 msgid "You cannot delete users."
 msgstr "Não pode apagar utilizadores."
 
+#. TRANS: Client error displayed when trying to delete a non-local user.
 #: actions/deleteuser.php:74
 msgid "You can only delete local users."
 msgstr "Só pode apagar utilizadores locais."
 
 #: actions/deleteuser.php:74
 msgid "You can only delete local users."
 msgstr "Só pode apagar utilizadores locais."
 
-#: actions/deleteuser.php:110 actions/deleteuser.php:133
+#. TRANS: Title of delete user page.
+#: actions/deleteuser.php:110
+#, fuzzy
+msgctxt "TITLE"
 msgid "Delete user"
 msgstr "Apagar utilizador"
 
 msgid "Delete user"
 msgstr "Apagar utilizador"
 
-#: actions/deleteuser.php:136
+#. TRANS: Fieldset legend on delete user page.
+#: actions/deleteuser.php:134
+msgid "Delete user"
+msgstr "Apagar utilizador"
+
+#. TRANS: Information text to request if a user is certain that the described action has to be performed.
+#: actions/deleteuser.php:138
 msgid ""
 "Are you sure you want to delete this user? This will clear all data about "
 "the user from the database, without a backup."
 msgid ""
 "Are you sure you want to delete this user? This will clear all data about "
 "the user from the database, without a backup."
@@ -1213,80 +2041,106 @@ msgstr ""
 "Tem a certeza de que quer apagar este utilizador? Todos os dados do "
 "utilizador serão eliminados da base de dados, sem haver cópias."
 
 "Tem a certeza de que quer apagar este utilizador? Todos os dados do "
 "utilizador serão eliminados da base de dados, sem haver cópias."
 
+#. TRANS: Submit button title for 'No' when deleting a user.
+#: actions/deleteuser.php:158
+#, fuzzy
+msgid "Do not delete this user"
+msgstr "Não apagar esta nota"
+
 #. TRANS: Submit button title for 'Yes' when deleting a user.
 #. TRANS: Submit button title for 'Yes' when deleting a user.
-#: actions/deleteuser.php:163 lib/deleteuserform.php:77
+#. TRANS: Description of form for deleting a user.
+#: actions/deleteuser.php:165 lib/deleteuserform.php:75
 msgid "Delete this user"
 msgstr "Apagar este utilizador"
 
 #. TRANS: Message used as title for design settings for the site.
 #. TRANS: Link description in user account settings menu.
 msgid "Delete this user"
 msgstr "Apagar este utilizador"
 
 #. TRANS: Message used as title for design settings for the site.
 #. TRANS: Link description in user account settings menu.
-#: actions/designadminpanel.php:63 lib/accountsettingsaction.php:134
+#: actions/designadminpanel.php:60 lib/accountsettingsaction.php:134
 msgid "Design"
 msgstr "Estilo"
 
 msgid "Design"
 msgstr "Estilo"
 
-#: actions/designadminpanel.php:74
+#. TRANS: Instructions for design adminsitration panel.
+#: actions/designadminpanel.php:71
 msgid "Design settings for this StatusNet site"
 msgstr ""
 
 msgid "Design settings for this StatusNet site"
 msgstr ""
 
-#: actions/designadminpanel.php:332
+#. TRANS: Client error displayed when a logo URL does is not valid.
+#: actions/designadminpanel.php:327
 msgid "Invalid logo URL."
 msgstr "URL do logotipo inválida."
 
 msgid "Invalid logo URL."
 msgstr "URL do logotipo inválida."
 
-#: actions/designadminpanel.php:337
+#. TRANS: Client error displayed when an SSL logo URL is invalid.
+#: actions/designadminpanel.php:333
 #, fuzzy
 msgid "Invalid SSL logo URL."
 msgstr "URL do logotipo inválida."
 
 #, fuzzy
 msgid "Invalid SSL logo URL."
 msgstr "URL do logotipo inválida."
 
-#: actions/designadminpanel.php:341
+#. TRANS: Client error displayed when a theme is submitted through the form that is not in the theme list.
+#. TRANS: %s is the chosen unavailable theme.
+#: actions/designadminpanel.php:339
 #, php-format
 msgid "Theme not available: %s."
 msgstr "Tema não está disponível: %s."
 
 #, php-format
 msgid "Theme not available: %s."
 msgstr "Tema não está disponível: %s."
 
-#: actions/designadminpanel.php:445
+#. TRANS: Fieldset legend for form to change logo.
+#: actions/designadminpanel.php:437
 msgid "Change logo"
 msgstr "Alterar logotipo"
 
 msgid "Change logo"
 msgstr "Alterar logotipo"
 
-#: actions/designadminpanel.php:450
+#. TRANS: Field label for StatusNet site logo.
+#: actions/designadminpanel.php:444
 msgid "Site logo"
 msgstr "Logotipo do site"
 
 msgid "Site logo"
 msgstr "Logotipo do site"
 
-#: actions/designadminpanel.php:454
+#. TRANS: Field label for SSL StatusNet site logo.
+#: actions/designadminpanel.php:452
 #, fuzzy
 msgid "SSL logo"
 msgstr "Logotipo do site"
 
 #, fuzzy
 msgid "SSL logo"
 msgstr "Logotipo do site"
 
-#: actions/designadminpanel.php:466
+#. TRANS: Fieldset legend for form change StatusNet site's theme.
+#: actions/designadminpanel.php:467
 msgid "Change theme"
 msgstr "Alterar tema"
 
 msgid "Change theme"
 msgstr "Alterar tema"
 
-#: actions/designadminpanel.php:483
+#. TRANS: Field label for dropdown to choose site theme.
+#: actions/designadminpanel.php:485
 msgid "Site theme"
 msgstr "Tema do site"
 
 msgid "Site theme"
 msgstr "Tema do site"
 
-#: actions/designadminpanel.php:484
+#. TRANS: Title for field label for dropdown to choose site theme.
+#: actions/designadminpanel.php:487
 msgid "Theme for the site."
 msgstr "O tema para o site."
 
 msgid "Theme for the site."
 msgstr "O tema para o site."
 
-#: actions/designadminpanel.php:490
+#. TRANS: Field label for uploading a cutom theme.
+#: actions/designadminpanel.php:494
 msgid "Custom theme"
 msgstr "Tema personalizado"
 
 msgid "Custom theme"
 msgstr "Tema personalizado"
 
-#: actions/designadminpanel.php:494
+#. TRANS: Form instructions for uploading a cutom StatusNet theme.
+#: actions/designadminpanel.php:499
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr ""
 "Pode fazer o upload de um tema personalizado para o StatusNet, na forma de "
 "um arquivo .ZIP."
 
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr ""
 "Pode fazer o upload de um tema personalizado para o StatusNet, na forma de "
 "um arquivo .ZIP."
 
-#: actions/designadminpanel.php:509 lib/designsettings.php:101
+#. TRANS: Fieldset legend for theme background image.
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:515 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Alterar imagem de fundo"
 
 msgid "Change background image"
 msgstr "Alterar imagem de fundo"
 
-#: actions/designadminpanel.php:514 actions/designadminpanel.php:597
-#: lib/designsettings.php:178
+#. TRANS: Field label for background image on theme designer page.
+#. TRANS: Field label for background color selector.
+#. TRANS: Label on profile design page for setting a profile page background colour.
+#: actions/designadminpanel.php:521 actions/designadminpanel.php:609
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Fundo"
 
 msgid "Background"
 msgstr "Fundo"
 
-#: actions/designadminpanel.php:519
+#. TRANS: Form guide for background image upload form on theme designer page.
+#: actions/designadminpanel.php:527
 #, php-format
 msgid ""
 "You can upload a background image for the site. The maximum file size is %1"
 #, php-format
 msgid ""
 "You can upload a background image for the site. The maximum file size is %1"
@@ -1296,218 +2150,271 @@ msgstr ""
 "é %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
 "é %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:550 lib/designsettings.php:139
+#: actions/designadminpanel.php:558
 msgid "On"
 msgstr "Ligar"
 
 #. TRANS: Used as radio button label to not add a background image.
 msgid "On"
 msgstr "Ligar"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:567 lib/designsettings.php:155
+#: actions/designadminpanel.php:575
 msgid "Off"
 msgstr "Desligar"
 
 msgid "Off"
 msgstr "Desligar"
 
-#: actions/designadminpanel.php:568 lib/designsettings.php:156
+#. TRANS: Form guide for turning background image on or off on theme designer page.
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:577 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Ligar ou desligar a imagem de fundo."
 
 msgid "Turn background image on or off."
 msgstr "Ligar ou desligar a imagem de fundo."
 
-#: actions/designadminpanel.php:573 lib/designsettings.php:161
+#. TRANS: Checkbox label to title background image on theme designer page.
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:583 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Repetir imagem de fundo em mosaico"
 
 msgid "Tile background image"
 msgstr "Repetir imagem de fundo em mosaico"
 
-#: actions/designadminpanel.php:587 lib/designsettings.php:170
-msgid "Change colours"
+#. TRANS: Fieldset legend for theme colors.
+#: actions/designadminpanel.php:598
+#, fuzzy
+msgid "Change colors"
 msgstr "Alterar cores"
 
 msgstr "Alterar cores"
 
-#: actions/designadminpanel.php:610 lib/designsettings.php:191
+#. TRANS: Field label for content color selector.
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:623 lib/designsettings.php:197
 msgid "Content"
 msgstr "Conteúdo"
 
 msgid "Content"
 msgstr "Conteúdo"
 
-#: actions/designadminpanel.php:623 lib/designsettings.php:204
+#. TRANS: Field label for sidebar color selector.
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:637 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Barra"
 
 msgid "Sidebar"
 msgstr "Barra"
 
-#: actions/designadminpanel.php:636 lib/designsettings.php:217
+#. TRANS: Field label for text color selector.
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:651 lib/designsettings.php:225
 msgid "Text"
 msgstr "Texto"
 
 msgid "Text"
 msgstr "Texto"
 
-#: actions/designadminpanel.php:649 lib/designsettings.php:230
+#. TRANS: Field label for link color selector.
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:665 lib/designsettings.php:239
 msgid "Links"
 msgstr "Links"
 
 msgid "Links"
 msgstr "Links"
 
-#: actions/designadminpanel.php:674
+#. TRANS: Fieldset legend for advanced theme design settings.
+#: actions/designadminpanel.php:691
 msgid "Advanced"
 msgstr "Avançado"
 
 msgid "Advanced"
 msgstr "Avançado"
 
-#: actions/designadminpanel.php:678
+#. TRANS: Field label for custom CSS.
+#: actions/designadminpanel.php:696
 msgid "Custom CSS"
 msgstr "CSS personalizado"
 
 msgid "Custom CSS"
 msgstr "CSS personalizado"
 
-#: actions/designadminpanel.php:699 lib/designsettings.php:247
+#. TRANS: Button text for resetting theme settings.
+#: actions/designadminpanel.php:718
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Use defaults"
 msgstr "Usar predefinições"
 
 msgid "Use defaults"
 msgstr "Usar predefinições"
 
-#: actions/designadminpanel.php:700 lib/designsettings.php:248
+#. TRANS: Title for button for resetting theme settings.
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:720 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Repor estilos predefinidos"
 
 msgid "Restore default designs"
 msgstr "Repor estilos predefinidos"
 
-#: actions/designadminpanel.php:706 lib/designsettings.php:254
+#. TRANS: Title for button for resetting theme settings.
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:728 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Repor predefinição"
 
 msgid "Reset back to default"
 msgstr "Repor predefinição"
 
-#. TRANS: Submit button title.
-#: actions/designadminpanel.php:708 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/pathsadminpanel.php:396
-#: actions/profilesettings.php:174 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
-#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:226
-#: actions/tagother.php:154 actions/useradminpanel.php:295
-#: lib/applicationeditform.php:357 lib/designsettings.php:256
-#: lib/groupeditform.php:202
-msgid "Save"
-msgstr "Gravar"
-
-#: actions/designadminpanel.php:709 lib/designsettings.php:257
+#. TRANS: Title for button for saving theme settings.
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:736 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Gravar o estilo"
 
 msgid "Save design"
 msgstr "Gravar o estilo"
 
-#: actions/disfavor.php:81
+#. TRANS: Client error displayed when trying to remove favorite status for a notice that is not a favorite.
+#: actions/disfavor.php:83
 msgid "This notice is not a favorite!"
 msgstr "Esta nota não é uma favorita!"
 
 msgid "This notice is not a favorite!"
 msgstr "Esta nota não é uma favorita!"
 
-#: actions/disfavor.php:94
+#. TRANS: Title for page on which favorites can be added.
+#: actions/disfavor.php:98
 msgid "Add to favorites"
 msgstr "Adicionar às favoritas"
 
 msgid "Add to favorites"
 msgstr "Adicionar às favoritas"
 
-#: actions/doc.php:158
-#, php-format
-msgid "No such document \"%s\""
+#. TRANS: Client exception thrown when requesting a document from the documentation that does not exist.
+#. TRANS: %s is the non-existing document.
+#: actions/doc.php:155
+#, fuzzy, php-format
+msgid "No such document \"%s\"."
 msgstr "Documento \"%s\" não foi encontrado"
 
 msgstr "Documento \"%s\" não foi encontrado"
 
-#: actions/editapplication.php:54
-msgid "Edit Application"
-msgstr "Editar Aplicação"
+#. TRANS: Title for "Edit application" form.
+#. TRANS: Form legend.
+#: actions/editapplication.php:54 lib/applicationeditform.php:129
+msgid "Edit application"
+msgstr "Editar aplicação"
 
 
+#. TRANS: Client error displayed trying to edit an application while not logged in.
 #: actions/editapplication.php:66
 msgid "You must be logged in to edit an application."
 msgstr "Tem de iniciar uma sessão para editar uma aplicação."
 
 #: actions/editapplication.php:66
 msgid "You must be logged in to edit an application."
 msgstr "Tem de iniciar uma sessão para editar uma aplicação."
 
-#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
-#: actions/showapplication.php:87
+#. TRANS: Client error displayed trying to edit an application that does not exist.
+#: actions/editapplication.php:83 actions/showapplication.php:87
 msgid "No such application."
 msgstr "Aplicação não foi encontrada."
 
 msgid "No such application."
 msgstr "Aplicação não foi encontrada."
 
-#: actions/editapplication.php:161
+#. TRANS: Instructions for "Edit application" form.
+#: actions/editapplication.php:167
 msgid "Use this form to edit your application."
 msgstr "Use este formulário para editar a sua aplicação."
 
 msgid "Use this form to edit your application."
 msgstr "Use este formulário para editar a sua aplicação."
 
-#: actions/editapplication.php:177 actions/newapplication.php:159
+#. TRANS: Validation error shown when not providing a name in the "Edit application" form.
+#. TRANS: Validation error shown when not providing a name in the "New application" form.
+#: actions/editapplication.php:184 actions/newapplication.php:164
 msgid "Name is required."
 msgstr "Nome é obrigatório."
 
 msgid "Name is required."
 msgstr "Nome é obrigatório."
 
-#: actions/editapplication.php:180 actions/newapplication.php:165
-msgid "Name is too long (max 255 chars)."
+#. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
+#. TRANS: Validation error shown when providing too long a name in the "New application" form.
+#: actions/editapplication.php:188 actions/newapplication.php:172
+#, fuzzy
+msgid "Name is too long (maximum 255 characters)."
 msgstr "Nome é demasiado longo (máx. 255 caracteres)."
 
 msgstr "Nome é demasiado longo (máx. 255 caracteres)."
 
-#: actions/editapplication.php:183 actions/newapplication.php:162
+#. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
+#. TRANS: Validation error shown when providing a name for an application that already exists in the "New application" form.
+#: actions/editapplication.php:192 actions/newapplication.php:168
 msgid "Name already in use. Try another one."
 msgstr "Nome já é usado. Tente outro."
 
 msgid "Name already in use. Try another one."
 msgstr "Nome já é usado. Tente outro."
 
-#: actions/editapplication.php:186 actions/newapplication.php:168
+#. TRANS: Validation error shown when not providing a description in the "Edit application" form.
+#. TRANS: Validation error shown when not providing a description in the "New application" form.
+#: actions/editapplication.php:196 actions/newapplication.php:176
 msgid "Description is required."
 msgstr "Descrição é obrigatória."
 
 msgid "Description is required."
 msgstr "Descrição é obrigatória."
 
-#: actions/editapplication.php:194
+#. TRANS: Validation error shown when providing too long a source URL in the "Edit application" form.
+#: actions/editapplication.php:209
 msgid "Source URL is too long."
 msgstr "URL de origem é demasiado longa."
 
 msgid "Source URL is too long."
 msgstr "URL de origem é demasiado longa."
 
-#: actions/editapplication.php:200 actions/newapplication.php:185
+#. TRANS: Validation error shown when providing an invalid source URL in the "Edit application" form.
+#. TRANS: Validation error shown when providing an invalid source URL in the "New application" form.
+#: actions/editapplication.php:216 actions/newapplication.php:199
 msgid "Source URL is not valid."
 msgstr "A URL de origem é inválida."
 
 msgid "Source URL is not valid."
 msgstr "A URL de origem é inválida."
 
-#: actions/editapplication.php:203 actions/newapplication.php:188
+#. TRANS: Validation error shown when not providing an organisation in the "Edit application" form.
+#. TRANS: Validation error shown when not providing an organisation in the "New application" form.
+#: actions/editapplication.php:220 actions/newapplication.php:203
 msgid "Organization is required."
 msgstr "Organização é obrigatória."
 
 msgid "Organization is required."
 msgstr "Organização é obrigatória."
 
-#: actions/editapplication.php:206 actions/newapplication.php:191
-msgid "Organization is too long (max 255 chars)."
+#. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
+#: actions/editapplication.php:224 actions/newapplication.php:207
+#, fuzzy
+msgid "Organization is too long (maximum 255 characters)."
 msgstr "Organização é demasiado longa (máx. 255 caracteres)."
 
 msgstr "Organização é demasiado longa (máx. 255 caracteres)."
 
-#: actions/editapplication.php:209 actions/newapplication.php:194
+#. TRANS: Form validation error show when an organisation name has not been provided in the edit application form.
+#. TRANS: Form validation error show when an organisation name has not been provided in the new application form.
+#: actions/editapplication.php:228 actions/newapplication.php:211
 msgid "Organization homepage is required."
 msgstr "Página da organização é obrigatória."
 
 msgid "Organization homepage is required."
 msgstr "Página da organização é obrigatória."
 
-#: actions/editapplication.php:218 actions/newapplication.php:206
+#. TRANS: Validation error shown when providing too long a callback URL in the "Edit application" form.
+#. TRANS: Validation error shown when providing too long a callback URL in the "New application" form.
+#: actions/editapplication.php:239 actions/newapplication.php:225
 msgid "Callback is too long."
 msgstr "Callback é demasiado longo."
 
 msgid "Callback is too long."
 msgstr "Callback é demasiado longo."
 
-#: actions/editapplication.php:225 actions/newapplication.php:215
+#. TRANS: Validation error shown when providing an invalid callback URL in the "Edit application" form.
+#. TRANS: Validation error shown when providing an invalid callback URL in the "New application" form.
+#: actions/editapplication.php:247 actions/newapplication.php:235
 msgid "Callback URL is not valid."
 msgstr "A URL de callback é inválida."
 
 msgid "Callback URL is not valid."
 msgstr "A URL de callback é inválida."
 
-#: actions/editapplication.php:261
+#. TRANS: Server error occuring when an application could not be updated from the "Edit application" form.
+#: actions/editapplication.php:284
 msgid "Could not update application."
 msgstr "Não foi possível actualizar a aplicação."
 
 msgid "Could not update application."
 msgstr "Não foi possível actualizar a aplicação."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Editar grupo %s"
 
 #, php-format
 msgid "Edit %s group"
 msgstr "Editar grupo %s"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed when trying to create a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Tem de iniciar uma sessão para criar o grupo."
 
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Tem de iniciar uma sessão para criar o grupo."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
-#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#. TRANS: Client error displayed when trying to change group logo settings while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:112
 msgid "You must be an admin to edit the group."
 msgstr "Tem de ser administrador para editar o grupo."
 
 msgid "You must be an admin to edit the group."
 msgstr "Tem de ser administrador para editar o grupo."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Use este formulário para editar o grupo."
 
 msgid "Use this form to edit the group."
 msgstr "Use este formulário para editar o grupo."
 
-#: actions/editgroup.php:205 actions/newgroup.php:145
-#, php-format
-msgid "description is too long (max %d chars)."
-msgstr "descrição é demasiada extensa (máx. %d caracteres)."
-
-#: actions/editgroup.php:228 actions/newgroup.php:168
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#. TRANS: %s is the invalid alias.
+#: actions/editgroup.php:239 actions/newgroup.php:187
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Nome alternativo inválido: \"%s\""
 
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Nome alternativo inválido: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:272
 msgid "Could not update group."
 msgstr "Não foi possível actualizar o grupo."
 
 msgid "Could not update group."
 msgstr "Não foi possível actualizar o grupo."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:279 classes/User_group.php:538
 msgid "Could not create aliases."
 msgstr "Não foi possível criar os nomes alternativos."
 
 msgid "Could not create aliases."
 msgstr "Não foi possível criar os nomes alternativos."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:296
 msgid "Options saved."
 msgstr "Opções gravadas."
 
 #. TRANS: Title for e-mail settings.
 msgid "Options saved."
 msgstr "Opções gravadas."
 
 #. TRANS: Title for e-mail settings.
-#: actions/emailsettings.php:61
+#: actions/emailsettings.php:59
 msgid "Email settings"
 msgstr "Configurações do correio electrónico"
 
 #. TRANS: E-mail settings page instructions.
 #. TRANS: %%site.name%% is the name of the site.
 msgid "Email settings"
 msgstr "Configurações do correio electrónico"
 
 #. TRANS: E-mail settings page instructions.
 #. TRANS: %%site.name%% is the name of the site.
-#: actions/emailsettings.php:76
+#: actions/emailsettings.php:73
 #, php-format
 msgid "Manage how you get email from %%site.name%%."
 msgstr "Defina como receberá mensagens electrónicas de %%site.name%%."
 
 #. TRANS: Form legend for e-mail settings form.
 #. TRANS: Field label for e-mail address input in e-mail settings form.
 #, php-format
 msgid "Manage how you get email from %%site.name%%."
 msgstr "Defina como receberá mensagens electrónicas de %%site.name%%."
 
 #. TRANS: Form legend for e-mail settings form.
 #. TRANS: Field label for e-mail address input in e-mail settings form.
-#: actions/emailsettings.php:106 actions/emailsettings.php:132
+#: actions/emailsettings.php:103 actions/emailsettings.php:129
 msgid "Email address"
 msgstr "Endereço de correio electrónico"
 
 #. TRANS: Form note in e-mail settings form.
 msgid "Email address"
 msgstr "Endereço de correio electrónico"
 
 #. TRANS: Form note in e-mail settings form.
-#: actions/emailsettings.php:112
+#: actions/emailsettings.php:109
 msgid "Current confirmed email address."
 msgstr "Endereço de correio já confirmado."
 
 msgid "Current confirmed email address."
 msgstr "Endereço de correio já confirmado."
 
@@ -1516,14 +2423,15 @@ msgstr "Endereço de correio já confirmado."
 #. TRANS: Button label to remove a confirmed IM address.
 #. TRANS: Button label to remove a confirmed SMS address.
 #. TRANS: Button label for removing a set sender SMS e-mail address to post notices from.
 #. TRANS: Button label to remove a confirmed IM address.
 #. TRANS: Button label to remove a confirmed SMS address.
 #. TRANS: Button label for removing a set sender SMS e-mail address to post notices from.
-#: actions/emailsettings.php:115 actions/emailsettings.php:162
-#: actions/imsettings.php:116 actions/smssettings.php:124
-#: actions/smssettings.php:180
+#: actions/emailsettings.php:112 actions/emailsettings.php:179
+#: actions/imsettings.php:112 actions/smssettings.php:120
+#: actions/smssettings.php:176
 msgctxt "BUTTON"
 msgid "Remove"
 msgstr "Remover"
 
 msgctxt "BUTTON"
 msgid "Remove"
 msgstr "Remover"
 
-#: actions/emailsettings.php:122
+#. TRANS: Form note in e-mail settings form.
+#: actions/emailsettings.php:119
 msgid ""
 "Awaiting confirmation on this address. Check your inbox (and spam box!) for "
 "a message with further instructions."
 msgid ""
 "Awaiting confirmation on this address. Check your inbox (and spam box!) for "
 "a message with further instructions."
@@ -1531,22 +2439,12 @@ msgstr ""
 "A aguardar a confirmação deste endereço. Procure na sua caixa de entrada (ou "
 "na caixa de spam!) uma mensagem com mais instruções."
 
 "A aguardar a confirmação deste endereço. Procure na sua caixa de entrada (ou "
 "na caixa de spam!) uma mensagem com mais instruções."
 
-#. TRANS: Button label to cancel an e-mail address confirmation procedure.
-#. TRANS: Button label to cancel an IM address confirmation procedure.
-#. TRANS: Button label to cancel a SMS address confirmation procedure.
-#. TRANS: Button label in the "Edit application" form.
-#: actions/emailsettings.php:127 actions/imsettings.php:131
-#: actions/smssettings.php:137 lib/applicationeditform.php:351
-msgctxt "BUTTON"
-msgid "Cancel"
-msgstr "Cancelar"
-
 #. TRANS: Instructions for e-mail address input form. Do not translate
 #. TRANS: "example.org". It is one of the domain names reserved for
 #. TRANS: use in examples by http://www.rfc-editor.org/rfc/rfc2606.txt.
 #. TRANS: Any other domain may be owned by a legitimate person or
 #. TRANS: organization.
 #. TRANS: Instructions for e-mail address input form. Do not translate
 #. TRANS: "example.org". It is one of the domain names reserved for
 #. TRANS: use in examples by http://www.rfc-editor.org/rfc/rfc2606.txt.
 #. TRANS: Any other domain may be owned by a legitimate person or
 #. TRANS: organization.
-#: actions/emailsettings.php:139
+#: actions/emailsettings.php:136
 msgid "Email address, like \"UserName@example.org\""
 msgstr ""
 "Endereço de correio electrónico, por ex. \"nomedeutilizador@exemplo.pt\""
 msgid "Email address, like \"UserName@example.org\""
 msgstr ""
 "Endereço de correio electrónico, por ex. \"nomedeutilizador@exemplo.pt\""
@@ -1554,122 +2452,131 @@ msgstr ""
 #. TRANS: Button label for adding an e-mail address in e-mail settings form.
 #. TRANS: Button label for adding an IM address in IM settings form.
 #. TRANS: Button label for adding a SMS phone number in SMS settings form.
 #. TRANS: Button label for adding an e-mail address in e-mail settings form.
 #. TRANS: Button label for adding an IM address in IM settings form.
 #. TRANS: Button label for adding a SMS phone number in SMS settings form.
-#: actions/emailsettings.php:143 actions/imsettings.php:151
-#: actions/smssettings.php:162
+#: actions/emailsettings.php:140 actions/imsettings.php:147
+#: actions/smssettings.php:158
 msgctxt "BUTTON"
 msgid "Add"
 msgstr "Adicionar"
 
 #. TRANS: Form legend for incoming e-mail settings form.
 #. TRANS: Form legend for incoming SMS settings form.
 msgctxt "BUTTON"
 msgid "Add"
 msgstr "Adicionar"
 
 #. TRANS: Form legend for incoming e-mail settings form.
 #. TRANS: Form legend for incoming SMS settings form.
-#: actions/emailsettings.php:151 actions/smssettings.php:171
+#: actions/emailsettings.php:148 actions/smssettings.php:167
 msgid "Incoming email"
 msgstr "Correio recebido"
 
 msgid "Incoming email"
 msgstr "Correio recebido"
 
+#. TRANS: Checkbox label in e-mail preferences form.
+#: actions/emailsettings.php:154
+msgid "I want to post notices by email."
+msgstr "Quero publicar notas por correio electrónico."
+
 #. TRANS: Form instructions for incoming e-mail form in e-mail settings.
 #. TRANS: Form instructions for incoming SMS e-mail address form in SMS settings.
 #. TRANS: Form instructions for incoming e-mail form in e-mail settings.
 #. TRANS: Form instructions for incoming SMS e-mail address form in SMS settings.
-#: actions/emailsettings.php:159 actions/smssettings.php:178
+#: actions/emailsettings.php:176 actions/smssettings.php:174
 msgid "Send email to this address to post new notices."
 msgstr "Envie mensagens electrónicas para este endereço para publicar notas."
 
 msgid "Send email to this address to post new notices."
 msgstr "Envie mensagens electrónicas para este endereço para publicar notas."
 
-#. TRANS: Instructions for incoming e-mail address input form.
+#. TRANS: Instructions for incoming e-mail address input form, when an address has already been assigned.
 #. TRANS: Instructions for incoming SMS e-mail address input form.
 #. TRANS: Instructions for incoming SMS e-mail address input form.
-#: actions/emailsettings.php:168 actions/smssettings.php:186
+#: actions/emailsettings.php:185 actions/smssettings.php:182
 msgid "Make a new email address for posting to; cancels the old one."
 msgstr "Crie um endereço electrónico novo para publicações; cancela o antigo."
 
 msgid "Make a new email address for posting to; cancels the old one."
 msgstr "Crie um endereço electrónico novo para publicações; cancela o antigo."
 
+#. TRANS: Instructions for incoming e-mail address input form.
+#: actions/emailsettings.php:189
+msgid ""
+"To send notices via email, we need to create a unique email address for you "
+"on this server:"
+msgstr ""
+
 #. TRANS: Button label for adding an e-mail address to send notices from.
 #. TRANS: Button label for adding an SMS e-mail address to send notices from.
 #. TRANS: Button label for adding an e-mail address to send notices from.
 #. TRANS: Button label for adding an SMS e-mail address to send notices from.
-#: actions/emailsettings.php:172 actions/smssettings.php:189
+#: actions/emailsettings.php:195 actions/smssettings.php:185
 msgctxt "BUTTON"
 msgid "New"
 msgstr "Novo"
 
 #. TRANS: Form legend for e-mail preferences form.
 msgctxt "BUTTON"
 msgid "New"
 msgstr "Novo"
 
 #. TRANS: Form legend for e-mail preferences form.
-#: actions/emailsettings.php:178
+#: actions/emailsettings.php:204
 msgid "Email preferences"
 msgstr "Preferências de correio electrónico"
 
 #. TRANS: Checkbox label in e-mail preferences form.
 msgid "Email preferences"
 msgstr "Preferências de correio electrónico"
 
 #. TRANS: Checkbox label in e-mail preferences form.
-#: actions/emailsettings.php:184
+#: actions/emailsettings.php:212
 msgid "Send me notices of new subscriptions through email."
 msgstr "Enviem-me notificação electrónica das novas subscrições."
 
 #. TRANS: Checkbox label in e-mail preferences form.
 msgid "Send me notices of new subscriptions through email."
 msgstr "Enviem-me notificação electrónica das novas subscrições."
 
 #. TRANS: Checkbox label in e-mail preferences form.
-#: actions/emailsettings.php:190
+#: actions/emailsettings.php:218
 msgid "Send me email when someone adds my notice as a favorite."
 msgstr ""
 "Enviem-me notificação electrónica quando uma nota minha é adicionada às "
 "favoritas."
 
 #. TRANS: Checkbox label in e-mail preferences form.
 msgid "Send me email when someone adds my notice as a favorite."
 msgstr ""
 "Enviem-me notificação electrónica quando uma nota minha é adicionada às "
 "favoritas."
 
 #. TRANS: Checkbox label in e-mail preferences form.
-#: actions/emailsettings.php:197
+#: actions/emailsettings.php:225
 msgid "Send me email when someone sends me a private message."
 msgstr ""
 "Enviem-me notificação electrónica quando me enviarem uma mensagem privada."
 
 #. TRANS: Checkbox label in e-mail preferences form.
 msgid "Send me email when someone sends me a private message."
 msgstr ""
 "Enviem-me notificação electrónica quando me enviarem uma mensagem privada."
 
 #. TRANS: Checkbox label in e-mail preferences form.
-#: actions/emailsettings.php:203
+#: actions/emailsettings.php:231
 msgid "Send me email when someone sends me an \"@-reply\"."
 msgstr ""
 "Enviem-me notificação electrónica quando me enviarem uma \"resposta-@\"."
 
 #. TRANS: Checkbox label in e-mail preferences form.
 msgid "Send me email when someone sends me an \"@-reply\"."
 msgstr ""
 "Enviem-me notificação electrónica quando me enviarem uma \"resposta-@\"."
 
 #. TRANS: Checkbox label in e-mail preferences form.
-#: actions/emailsettings.php:209
+#: actions/emailsettings.php:237
 msgid "Allow friends to nudge me and send me an email."
 msgstr "Permitir que amigos me toquem e enviem mensagens electrónicas."
 
 #. TRANS: Checkbox label in e-mail preferences form.
 msgid "Allow friends to nudge me and send me an email."
 msgstr "Permitir que amigos me toquem e enviem mensagens electrónicas."
 
 #. TRANS: Checkbox label in e-mail preferences form.
-#: actions/emailsettings.php:216
-msgid "I want to post notices by email."
-msgstr "Quero publicar notas por correio electrónico."
-
-#. TRANS: Checkbox label in e-mail preferences form.
-#: actions/emailsettings.php:223
+#: actions/emailsettings.php:243
 msgid "Publish a MicroID for my email address."
 msgstr "Publicar um MicroID para o meu endereço electrónico."
 
 #. TRANS: Confirmation message for successful e-mail preferences save.
 msgid "Publish a MicroID for my email address."
 msgstr "Publicar um MicroID para o meu endereço electrónico."
 
 #. TRANS: Confirmation message for successful e-mail preferences save.
-#: actions/emailsettings.php:338
+#: actions/emailsettings.php:361
 msgid "Email preferences saved."
 msgstr "Preferências de correio electrónico foram gravadas."
 
 #. TRANS: Message given saving e-mail address without having provided one.
 msgid "Email preferences saved."
 msgstr "Preferências de correio electrónico foram gravadas."
 
 #. TRANS: Message given saving e-mail address without having provided one.
-#: actions/emailsettings.php:357
+#: actions/emailsettings.php:380
 msgid "No email address."
 msgstr "Sem endereço de correio electrónico."
 
 #. TRANS: Message given saving e-mail address that cannot be normalised.
 msgid "No email address."
 msgstr "Sem endereço de correio electrónico."
 
 #. TRANS: Message given saving e-mail address that cannot be normalised.
-#: actions/emailsettings.php:365
-msgid "Cannot normalize that email address"
+#: actions/emailsettings.php:388
+#, fuzzy
+msgid "Cannot normalize that email address."
 msgstr "Não é possível normalizar esse endereço electrónico"
 
 #. TRANS: Message given saving e-mail address that not valid.
 msgstr "Não é possível normalizar esse endereço electrónico"
 
 #. TRANS: Message given saving e-mail address that not valid.
-#: actions/emailsettings.php:370 actions/register.php:208
+#: actions/emailsettings.php:393 actions/register.php:212
 #: actions/siteadminpanel.php:144
 msgid "Not a valid email address."
 msgstr "Correio electrónico é inválido."
 
 #. TRANS: Message given saving e-mail address that is already set.
 #: actions/siteadminpanel.php:144
 msgid "Not a valid email address."
 msgstr "Correio electrónico é inválido."
 
 #. TRANS: Message given saving e-mail address that is already set.
-#: actions/emailsettings.php:374
+#: actions/emailsettings.php:397
 msgid "That is already your email address."
 msgstr "Esse já é o seu endereço electrónico."
 
 #. TRANS: Message given saving e-mail address that is already set for another user.
 msgid "That is already your email address."
 msgstr "Esse já é o seu endereço electrónico."
 
 #. TRANS: Message given saving e-mail address that is already set for another user.
-#: actions/emailsettings.php:378
+#: actions/emailsettings.php:401
 msgid "That email address already belongs to another user."
 msgstr "Esse endereço electrónico já pertence a outro utilizador."
 
 #. TRANS: Server error thrown on database error adding e-mail confirmation code.
 #. TRANS: Server error thrown on database error adding IM confirmation code.
 #. TRANS: Server error thrown on database error adding SMS confirmation code.
 msgid "That email address already belongs to another user."
 msgstr "Esse endereço electrónico já pertence a outro utilizador."
 
 #. TRANS: Server error thrown on database error adding e-mail confirmation code.
 #. TRANS: Server error thrown on database error adding IM confirmation code.
 #. TRANS: Server error thrown on database error adding SMS confirmation code.
-#: actions/emailsettings.php:395 actions/imsettings.php:351
-#: actions/smssettings.php:373
-msgid "Couldn't insert confirmation code."
+#: actions/emailsettings.php:418 actions/imsettings.php:343
+#: actions/smssettings.php:365
+#, fuzzy
+msgid "Could not insert confirmation code."
 msgstr "Não foi possível inserir o código de confirmação."
 
 #. TRANS: Message given saving valid e-mail address that is to be confirmed.
 msgstr "Não foi possível inserir o código de confirmação."
 
 #. TRANS: Message given saving valid e-mail address that is to be confirmed.
-#: actions/emailsettings.php:402
+#: actions/emailsettings.php:425
 msgid ""
 "A confirmation code was sent to the email address you added. Check your "
 "inbox (and spam box!) for the code and instructions on how to use it."
 msgid ""
 "A confirmation code was sent to the email address you added. Check your "
 "inbox (and spam box!) for the code and instructions on how to use it."
@@ -1681,80 +2588,98 @@ msgstr ""
 #. TRANS: Message given canceling e-mail address confirmation that is not pending.
 #. TRANS: Message given canceling IM address confirmation that is not pending.
 #. TRANS: Message given canceling SMS phone number confirmation that is not pending.
 #. TRANS: Message given canceling e-mail address confirmation that is not pending.
 #. TRANS: Message given canceling IM address confirmation that is not pending.
 #. TRANS: Message given canceling SMS phone number confirmation that is not pending.
-#: actions/emailsettings.php:423 actions/imsettings.php:386
-#: actions/smssettings.php:408
+#: actions/emailsettings.php:445 actions/imsettings.php:377
+#: actions/smssettings.php:399
 msgid "No pending confirmation to cancel."
 msgstr "Nenhuma confirmação pendente para cancelar."
 
 #. TRANS: Message given canceling e-mail address confirmation for the wrong e-mail address.
 msgid "No pending confirmation to cancel."
 msgstr "Nenhuma confirmação pendente para cancelar."
 
 #. TRANS: Message given canceling e-mail address confirmation for the wrong e-mail address.
-#: actions/emailsettings.php:428
+#: actions/emailsettings.php:450
 msgid "That is the wrong email address."
 msgstr "Esse endereço de correio electrónico está errado."
 
 msgid "That is the wrong email address."
 msgstr "Esse endereço de correio electrónico está errado."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:459 actions/smssettings.php:413
+#, fuzzy
+msgid "Could not delete email confirmation."
+msgstr "Não foi possível apagar a confirmação do endereço electrónico."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
-#: actions/emailsettings.php:442
+#: actions/emailsettings.php:464
 msgid "Email confirmation cancelled."
 msgstr "Confirmação de correio electrónico cancelada."
 
 #. TRANS: Message given trying to remove an e-mail address that is not
 #. TRANS: registered for the active user.
 msgid "Email confirmation cancelled."
 msgstr "Confirmação de correio electrónico cancelada."
 
 #. TRANS: Message given trying to remove an e-mail address that is not
 #. TRANS: registered for the active user.
-#: actions/emailsettings.php:462
+#: actions/emailsettings.php:483
 msgid "That is not your email address."
 msgstr "Esse não é o seu endereço electrónico."
 
 #. TRANS: Message given after successfully removing a registered e-mail address.
 msgid "That is not your email address."
 msgstr "Esse não é o seu endereço electrónico."
 
 #. TRANS: Message given after successfully removing a registered e-mail address.
-#: actions/emailsettings.php:483
+#: actions/emailsettings.php:504
 msgid "The email address was removed."
 msgstr "O endereço de correio electrónico foi removido."
 
 msgid "The email address was removed."
 msgstr "O endereço de correio electrónico foi removido."
 
-#: actions/emailsettings.php:497 actions/smssettings.php:568
+#. TRANS: Form validation error displayed when trying to remove an incoming e-mail address while no address has been set.
+#: actions/emailsettings.php:518 actions/smssettings.php:555
 msgid "No incoming email address."
 msgstr "Sem endereço electrónico de entrada."
 
 #. TRANS: Server error thrown on database error removing incoming e-mail address.
 #. TRANS: Server error thrown on database error adding incoming e-mail address.
 msgid "No incoming email address."
 msgstr "Sem endereço electrónico de entrada."
 
 #. TRANS: Server error thrown on database error removing incoming e-mail address.
 #. TRANS: Server error thrown on database error adding incoming e-mail address.
-#: actions/emailsettings.php:508 actions/emailsettings.php:532
-#: actions/smssettings.php:578 actions/smssettings.php:602
-msgid "Couldn't update user record."
+#: actions/emailsettings.php:530 actions/emailsettings.php:554
+#: actions/smssettings.php:565 actions/smssettings.php:588
+#, fuzzy
+msgid "Could not update user record."
 msgstr "Não foi possível actualizar o registo do utilizador."
 
 #. TRANS: Message given after successfully removing an incoming e-mail address.
 msgstr "Não foi possível actualizar o registo do utilizador."
 
 #. TRANS: Message given after successfully removing an incoming e-mail address.
-#: actions/emailsettings.php:512 actions/smssettings.php:581
+#: actions/emailsettings.php:534 actions/smssettings.php:568
 msgid "Incoming email address removed."
 msgstr "Endereço electrónico de entrada foi removido."
 
 #. TRANS: Message given after successfully adding an incoming e-mail address.
 msgid "Incoming email address removed."
 msgstr "Endereço electrónico de entrada foi removido."
 
 #. TRANS: Message given after successfully adding an incoming e-mail address.
-#: actions/emailsettings.php:536 actions/smssettings.php:605
+#: actions/emailsettings.php:558 actions/smssettings.php:591
 msgid "New incoming email address added."
 msgstr "Adicionado endereço electrónico de entrada novo."
 
 msgid "New incoming email address added."
 msgstr "Adicionado endereço electrónico de entrada novo."
 
-#: actions/favor.php:79
+#. TRANS: Client error displayed when trying to mark a notice as favorite that already is a favorite.
+#: actions/favor.php:80
 msgid "This notice is already a favorite!"
 msgstr "Esta nota já é uma favorita!"
 
 msgid "This notice is already a favorite!"
 msgstr "Esta nota já é uma favorita!"
 
-#: actions/favor.php:92 lib/disfavorform.php:144
+#. TRANS: Page title for page on which favorite notices can be unfavourited.
+#: actions/favor.php:95
 msgid "Disfavor favorite"
 msgstr "Retirar das favoritas"
 
 msgid "Disfavor favorite"
 msgstr "Retirar das favoritas"
 
-#: actions/favorited.php:65 lib/popularnoticesection.php:91
+#. TRANS: Page title for first page of favorited notices.
+#. TRANS: Title for favourited notices section.
+#: actions/favorited.php:65 lib/popularnoticesection.php:62
 #: lib/publicgroupnav.php:93
 msgid "Popular notices"
 msgstr "Notas populares"
 
 #: lib/publicgroupnav.php:93
 msgid "Popular notices"
 msgstr "Notas populares"
 
-#: actions/favorited.php:67
+#. TRANS: Page title for all but first page of favorited notices.
+#. TRANS: %d is the page number being displayed.
+#: actions/favorited.php:69
 #, php-format
 msgid "Popular notices, page %d"
 msgstr "Notas populares, página %d"
 
 #, php-format
 msgid "Popular notices, page %d"
 msgstr "Notas populares, página %d"
 
-#: actions/favorited.php:79
+#. TRANS: Description on page displaying favorited notices.
+#: actions/favorited.php:81
 msgid "The most popular notices on the site right now."
 msgstr "As notas mais populares agora."
 
 msgid "The most popular notices on the site right now."
 msgstr "As notas mais populares agora."
 
-#: actions/favorited.php:150
+#. TRANS: Text displayed instead of a list when a site does not yet have any favourited notices.
+#: actions/favorited.php:149
 msgid "Favorite notices appear on this page but no one has favorited one yet."
 msgstr ""
 "As notas favoritas aparecem nesta página, mas ninguém elegeu nenhuma ainda."
 
 msgid "Favorite notices appear on this page but no one has favorited one yet."
 msgstr ""
 "As notas favoritas aparecem nesta página, mas ninguém elegeu nenhuma ainda."
 
+#. TRANS: Additional text displayed instead of a list when a site does not yet have any favourited notices for logged in users.
 #: actions/favorited.php:153
 msgid ""
 "Be the first to add a notice to your favorites by clicking the fave button "
 #: actions/favorited.php:153
 msgid ""
 "Be the first to add a notice to your favorites by clicking the fave button "
@@ -1763,7 +2688,9 @@ msgstr ""
 "Seja a primeira pessoa a adicionar uma nota às favoritas, clicando o botão "
 "de marcação correspondente a uma nota de que goste."
 
 "Seja a primeira pessoa a adicionar uma nota às favoritas, clicando o botão "
 "de marcação correspondente a uma nota de que goste."
 
-#: actions/favorited.php:156
+#. TRANS: Additional text displayed instead of a list when a site does not yet have any favourited notices for not logged in users.
+#. TRANS: %%action.register%% is a registration link. "[link text](link)" is Mark Down. Do not change the formatting.
+#: actions/favorited.php:158
 #, php-format
 msgid ""
 "Why not [register an account](%%action.register%%) and be the first to add a "
 #, php-format
 msgid ""
 "Why not [register an account](%%action.register%%) and be the first to add a "
@@ -1772,45 +2699,62 @@ msgstr ""
 "Podia [registar uma conta](%%action.register%%) e ser o primeiro a adicionar "
 "uma nota às favoritas!"
 
 "Podia [registar uma conta](%%action.register%%) e ser o primeiro a adicionar "
 "uma nota às favoritas!"
 
-#: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#. TRANS: Title of RSS feed with favourite notices of a user.
+#. TRANS: %s is a user's nickname.
+#. TRANS: Title for first page of favourite notices of a user.
+#. TRANS: %s is the user for whom the favourite notices are displayed.
+#. TRANS: Tooltip for personal group navigation menu option when logged in for viewing own favourited notices.
+#: actions/favoritesrss.php:111 actions/showfavorites.php:76
+#: lib/personalgroupnav.php:122
 #, php-format
 msgid "%s's favorite notices"
 msgstr "Notas favoritas de %s"
 
 #, php-format
 msgid "%s's favorite notices"
 msgstr "Notas favoritas de %s"
 
-#: actions/favoritesrss.php:115
+#. TRANS: Desciption of RSS feed with favourite notices of a user.
+#. TRANS: %1$s is a user's nickname, %2$s is the name of the StatusNet site.
+#: actions/favoritesrss.php:117
 #, php-format
 msgid "Updates favored by %1$s on %2$s!"
 msgstr "Actualizações marcadas por %1$s em %2$s!"
 
 #, php-format
 msgid "Updates favored by %1$s on %2$s!"
 msgstr "Actualizações marcadas por %1$s em %2$s!"
 
+#. TRANS: Page title for first page of featured users.
+#. TRANS: Title for featured users section.
 #: actions/featured.php:69 lib/featureduserssection.php:87
 #: lib/publicgroupnav.php:89
 msgid "Featured users"
 msgstr "Utilizadores em destaque"
 
 #: actions/featured.php:69 lib/featureduserssection.php:87
 #: lib/publicgroupnav.php:89
 msgid "Featured users"
 msgstr "Utilizadores em destaque"
 
-#: actions/featured.php:71
+#. TRANS: Page title for all but first page of featured users.
+#. TRANS: %d is the page number being displayed.
+#: actions/featured.php:73
 #, php-format
 msgid "Featured users, page %d"
 msgstr "utilizadores em destaque, página %d"
 
 #, php-format
 msgid "Featured users, page %d"
 msgstr "utilizadores em destaque, página %d"
 
-#: actions/featured.php:99
-#, php-format
-msgid "A selection of some great users on %s"
+#. TRANS: Description on page displaying featured users.
+#: actions/featured.php:102
+#, fuzzy, php-format
+msgid "A selection of some great users on %s."
 msgstr "Uma selecção dos melhores utilizadores no %s"
 
 msgstr "Uma selecção dos melhores utilizadores no %s"
 
-#: actions/file.php:34
+#. TRANS: Client error displayed when no notice ID was given trying do display a file.
+#: actions/file.php:36
 msgid "No notice ID."
 msgstr "Sem identificação de nota."
 
 msgid "No notice ID."
 msgstr "Sem identificação de nota."
 
-#: actions/file.php:38
+#. TRANS: Client error displayed when an invalid notice ID was given trying do display a file.
+#: actions/file.php:41
 msgid "No notice."
 msgstr "Sem nota."
 
 msgid "No notice."
 msgstr "Sem nota."
 
-#: actions/file.php:42
+#. TRANS: Client error displayed when trying do display a file for a notice without a file attachement.
+#: actions/file.php:46
 msgid "No attachments."
 msgstr "Sem anexos."
 
 msgid "No attachments."
 msgstr "Sem anexos."
 
-#: actions/file.php:51
+#. TRANS: Client error displayed when trying do display a file for a notice with file attachements
+#. TRANS: that could not be found.
+#: actions/file.php:58
 msgid "No uploaded attachments."
 msgstr "Sem anexos carregados."
 
 msgid "No uploaded attachments."
 msgstr "Sem anexos carregados."
 
@@ -1822,7 +2766,7 @@ msgstr "Não esperava esta resposta!"
 msgid "User being listened to does not exist."
 msgstr "O utilizador que está a escutar não existe."
 
 msgid "User being listened to does not exist."
 msgstr "O utilizador que está a escutar não existe."
 
-#: actions/finishremotesubscribe.php:87 actions/remotesubscribe.php:59
+#: actions/finishremotesubscribe.php:87 actions/remotesubscribe.php:58
 msgid "You can use the local subscription!"
 msgstr "Pode usar a subscrição local!"
 
 msgid "You can use the local subscription!"
 msgstr "Pode usar a subscrição local!"
 
@@ -1870,19 +2814,25 @@ msgstr "Não pode atribuir funções aos utilizadores neste site."
 msgid "User already has this role."
 msgstr "O utilizador já tem esta função."
 
 msgid "User already has this role."
 msgstr "O utilizador já tem esta função."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
+#. TRANS: Client error displayed when trying to change user options without specifying a user to work on.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Não foi especificado um perfil."
 
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Não foi especificado um perfil."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
-#: actions/unsubscribe.php:84 lib/profileformaction.php:86
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#. TRANS: Client error displayed when trying to change user options without specifying an existing user to work on.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
+#: actions/unsubscribe.php:84 lib/profileformaction.php:87
 msgid "No profile with that ID."
 msgstr "Não foi encontrado um perfil com essa identificação."
 
 msgid "No profile with that ID."
 msgstr "Não foi encontrado um perfil com essa identificação."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Não foi especificado um grupo."
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Não foi especificado um grupo."
@@ -1948,20 +2898,19 @@ msgstr ""
 "Personalize o aspecto do seu grupo com uma imagem de fundo e uma paleta de "
 "cores à sua escolha."
 
 "Personalize o aspecto do seu grupo com uma imagem de fundo e uma paleta de "
 "cores à sua escolha."
 
-#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
-msgid "Couldn't update your design."
-msgstr "Não foi possível actualizar o estilo."
-
-#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:222
 msgid "Design preferences saved."
 msgstr "Preferências de estilo foram gravadas."
 
 msgid "Design preferences saved."
 msgstr "Preferências de estilo foram gravadas."
 
-#: actions/grouplogo.php:142 actions/grouplogo.php:195
+#. TRANS: Title for group logo settings page.
+#. TRANS: Group logo form legend.
+#: actions/grouplogo.php:145 actions/grouplogo.php:200
 msgid "Group logo"
 msgstr "Logotipo do grupo"
 
 msgid "Group logo"
 msgstr "Logotipo do grupo"
 
-#: actions/grouplogo.php:153
+#. TRANS: Instructions for group logo page.
+#. TRANS: %s is the maximum file size for that site.
+#: actions/grouplogo.php:157
 #, php-format
 msgid ""
 "You can upload a logo image for your group. The maximum file size is %s."
 #, php-format
 msgid ""
 "You can upload a logo image for your group. The maximum file size is %s."
@@ -1969,15 +2918,28 @@ msgstr ""
 "Pode carregar uma imagem para logotipo do seu grupo. O tamanho máximo do "
 "ficheiro é %s."
 
 "Pode carregar uma imagem para logotipo do seu grupo. O tamanho máximo do "
 "ficheiro é %s."
 
-#: actions/grouplogo.php:365
+#. TRANS: Submit button for uploading a group logo.
+#: actions/grouplogo.php:244
+msgid "Upload"
+msgstr "Carregar"
+
+#. TRANS: Button text for cropping an uploaded group logo.
+#: actions/grouplogo.php:301
+msgid "Crop"
+msgstr "Cortar"
+
+#. TRANS: Form instructions on the group logo page.
+#: actions/grouplogo.php:379
 msgid "Pick a square area of the image to be the logo."
 msgstr "Escolha uma área quadrada da imagem para ser o logotipo."
 
 msgid "Pick a square area of the image to be the logo."
 msgstr "Escolha uma área quadrada da imagem para ser o logotipo."
 
-#: actions/grouplogo.php:399
+#. TRANS: Form success message after updating a group logo.
+#: actions/grouplogo.php:414
 msgid "Logo updated."
 msgstr "Logotipo actualizado."
 
 msgid "Logo updated."
 msgstr "Logotipo actualizado."
 
-#: actions/grouplogo.php:401
+#. TRANS: Form failure message after failing to update a group logo.
+#: actions/grouplogo.php:417
 msgid "Failed updating logo."
 msgstr "Não foi possível actualizar o logotipo."
 
 msgid "Failed updating logo."
 msgstr "Não foi possível actualizar o logotipo."
 
@@ -2031,22 +2993,15 @@ msgctxt "TOOLTIP"
 msgid "Make this user an admin"
 msgstr "Tornar este utilizador um gestor"
 
 msgid "Make this user an admin"
 msgstr "Tornar este utilizador um gestor"
 
-#. TRANS: Message is used as link title. %s is a user nickname.
-#. TRANS: Title in atom group notice feed. %s is a group name.
-#. TRANS: Title in atom user notice feed. %s is a user name.
-#: actions/grouprss.php:139 actions/userrss.php:94
-#: lib/atomgroupnoticefeed.php:63 lib/atomusernoticefeed.php:68
-#, php-format
-msgid "%s timeline"
-msgstr "Notas de %s"
-
 #. TRANS: Message is used as link description. %1$s is a username, %2$s is a site name.
 #: actions/grouprss.php:142
 #, php-format
 msgid "Updates from members of %1$s on %2$s!"
 msgstr "Actualizações dos membros de %1$s em %2$s!"
 
 #. TRANS: Message is used as link description. %1$s is a username, %2$s is a site name.
 #: actions/grouprss.php:142
 #, php-format
 msgid "Updates from members of %1$s on %2$s!"
 msgstr "Actualizações dos membros de %1$s em %2$s!"
 
-#: actions/groups.php:62 lib/profileaction.php:223 lib/profileaction.php:249
+#. TRANS: Label for user statistics.
+#. TRANS: H2 text for user group membership statistics.
+#: actions/groups.php:62 lib/profileaction.php:239 lib/profileaction.php:290
 #: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
 msgid "Groups"
 msgstr "Grupos"
 #: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
 msgid "Groups"
 msgstr "Grupos"
@@ -2071,7 +3026,7 @@ msgstr ""
 "encontra nenhum grupo de que gosta? Tente [pesquisar um grupo](%%action."
 "groupsearch%%) ou [crie o seu!](%%action.newgroup%%)"
 
 "encontra nenhum grupo de que gosta? Tente [pesquisar um grupo](%%action."
 "groupsearch%%) ou [crie o seu!](%%action.newgroup%%)"
 
-#: actions/groups.php:107 actions/usergroups.php:126 lib/groupeditform.php:122
+#: actions/groups.php:107 actions/usergroups.php:126 lib/groupeditform.php:115
 msgid "Create a new group"
 msgstr "Criar um grupo novo"
 
 msgid "Create a new group"
 msgstr "Criar um grupo novo"
 
@@ -2111,27 +3066,30 @@ msgstr ""
 "Podia [registar uma conta](%%action.register%%) e [criar o grupo](%%action."
 "newgroup%%) você mesmo!"
 
 "Podia [registar uma conta](%%action.register%%) e [criar o grupo](%%action."
 "newgroup%%) você mesmo!"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Só um gestor pode desbloquear membros de um grupo."
 
 msgid "Only an admin can unblock group members."
 msgstr "Só um gestor pode desbloquear membros de um grupo."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "Acesso do utilizador ao grupo não foi bloqueado."
 
 msgid "User is not blocked from group."
 msgstr "Acesso do utilizador ao grupo não foi bloqueado."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Erro ao remover o bloqueio."
 
 #. TRANS: Title for instance messaging settings.
 msgid "Error removing the block."
 msgstr "Erro ao remover o bloqueio."
 
 #. TRANS: Title for instance messaging settings.
-#: actions/imsettings.php:60
+#: actions/imsettings.php:58
 msgid "IM settings"
 msgstr "Configurações do IM"
 
 #. TRANS: Instant messaging settings page instructions.
 #. TRANS: [instant messages] is link text, "(%%doc.im%%)" is the link.
 #. TRANS: the order and formatting of link text and link should remain unchanged.
 msgid "IM settings"
 msgstr "Configurações do IM"
 
 #. TRANS: Instant messaging settings page instructions.
 #. TRANS: [instant messages] is link text, "(%%doc.im%%)" is the link.
 #. TRANS: the order and formatting of link text and link should remain unchanged.
-#: actions/imsettings.php:74
+#: actions/imsettings.php:71
 #, php-format
 msgid ""
 "You can send and receive notices through Jabber/GTalk [instant messages](%%"
 #, php-format
 msgid ""
 "You can send and receive notices through Jabber/GTalk [instant messages](%%"
@@ -2141,23 +3099,23 @@ msgstr ""
 "Jabber/GTalk. Configure o seu endereço e outras definições abaixo."
 
 #. TRANS: Message given in the IM settings if XMPP is not enabled on the site.
 "Jabber/GTalk. Configure o seu endereço e outras definições abaixo."
 
 #. TRANS: Message given in the IM settings if XMPP is not enabled on the site.
-#: actions/imsettings.php:94
+#: actions/imsettings.php:90
 msgid "IM is not available."
 msgstr "MI não está disponível."
 
 #. TRANS: Form legend for IM settings form.
 #. TRANS: Field label for IM address input in IM settings form.
 msgid "IM is not available."
 msgstr "MI não está disponível."
 
 #. TRANS: Form legend for IM settings form.
 #. TRANS: Field label for IM address input in IM settings form.
-#: actions/imsettings.php:106 actions/imsettings.php:136
+#: actions/imsettings.php:102 actions/imsettings.php:132
 msgid "IM address"
 msgstr "Endereço IM"
 
 msgid "IM address"
 msgstr "Endereço IM"
 
-#: actions/imsettings.php:113
+#: actions/imsettings.php:109
 msgid "Current confirmed Jabber/GTalk address."
 msgstr "Endereço do Jabber/GTalk já confirmado."
 
 #. TRANS: Form note in IM settings form.
 #. TRANS: %s is the IM address set for the site.
 msgid "Current confirmed Jabber/GTalk address."
 msgstr "Endereço do Jabber/GTalk já confirmado."
 
 #. TRANS: Form note in IM settings form.
 #. TRANS: %s is the IM address set for the site.
-#: actions/imsettings.php:124
+#: actions/imsettings.php:120
 #, php-format
 msgid ""
 "Awaiting confirmation on this address. Check your Jabber/GTalk account for a "
 #, php-format
 msgid ""
 "Awaiting confirmation on this address. Check your Jabber/GTalk account for a "
@@ -2172,7 +3130,7 @@ msgstr ""
 #. TRANS: Do not translate "example.org". It is one of the domain names reserved for use in examples by
 #. TRANS: http://www.rfc-editor.org/rfc/rfc2606.txt. Any other domain may be owned by a legitimate
 #. TRANS: person or organization.
 #. TRANS: Do not translate "example.org". It is one of the domain names reserved for use in examples by
 #. TRANS: http://www.rfc-editor.org/rfc/rfc2606.txt. Any other domain may be owned by a legitimate
 #. TRANS: person or organization.
-#: actions/imsettings.php:143
+#: actions/imsettings.php:139
 #, php-format
 msgid ""
 "Jabber or GTalk address, like \"UserName@example.org\". First, make sure to "
 #, php-format
 msgid ""
 "Jabber or GTalk address, like \"UserName@example.org\". First, make sure to "
@@ -2183,63 +3141,63 @@ msgstr ""
 "MI ou no GTalk."
 
 #. TRANS: Form legend for IM preferences form.
 "MI ou no GTalk."
 
 #. TRANS: Form legend for IM preferences form.
-#: actions/imsettings.php:158
+#: actions/imsettings.php:154
 msgid "IM preferences"
 msgstr "Preferências de MI"
 
 #. TRANS: Checkbox label in IM preferences form.
 msgid "IM preferences"
 msgstr "Preferências de MI"
 
 #. TRANS: Checkbox label in IM preferences form.
-#: actions/imsettings.php:163
+#: actions/imsettings.php:159
 msgid "Send me notices through Jabber/GTalk."
 msgstr "Enviar-me notas via Jabber/GTalk."
 
 #. TRANS: Checkbox label in IM preferences form.
 msgid "Send me notices through Jabber/GTalk."
 msgstr "Enviar-me notas via Jabber/GTalk."
 
 #. TRANS: Checkbox label in IM preferences form.
-#: actions/imsettings.php:169
+#: actions/imsettings.php:165
 msgid "Post a notice when my Jabber/GTalk status changes."
 msgstr "Publicar uma nota quando o meu estado no Jabber/GTalk se altera."
 
 #. TRANS: Checkbox label in IM preferences form.
 msgid "Post a notice when my Jabber/GTalk status changes."
 msgstr "Publicar uma nota quando o meu estado no Jabber/GTalk se altera."
 
 #. TRANS: Checkbox label in IM preferences form.
-#: actions/imsettings.php:175
+#: actions/imsettings.php:171
 msgid "Send me replies through Jabber/GTalk from people I'm not subscribed to."
 msgstr "Enviar-me via Jabber/GTalk respostas de pessoas que não subscrevo."
 
 #. TRANS: Checkbox label in IM preferences form.
 msgid "Send me replies through Jabber/GTalk from people I'm not subscribed to."
 msgstr "Enviar-me via Jabber/GTalk respostas de pessoas que não subscrevo."
 
 #. TRANS: Checkbox label in IM preferences form.
-#: actions/imsettings.php:182
+#: actions/imsettings.php:178
 msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Publicar um MicroID para o meu endereço Jabber/GTalk."
 
 #. TRANS: Confirmation message for successful IM preferences save.
 msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Publicar um MicroID para o meu endereço Jabber/GTalk."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:283 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Preferências gravadas."
 
 #. TRANS: Message given saving IM address without having provided one.
 msgid "Preferences saved."
 msgstr "Preferências gravadas."
 
 #. TRANS: Message given saving IM address without having provided one.
-#: actions/imsettings.php:312
+#: actions/imsettings.php:304
 msgid "No Jabber ID."
 msgstr "Não introduziu o Jabber ID."
 
 #. TRANS: Message given saving IM address that cannot be normalised.
 msgid "No Jabber ID."
 msgstr "Não introduziu o Jabber ID."
 
 #. TRANS: Message given saving IM address that cannot be normalised.
-#: actions/imsettings.php:320
+#: actions/imsettings.php:312
 msgid "Cannot normalize that Jabber ID"
 msgstr "Não é possível normalizar esse Jabber ID"
 
 #. TRANS: Message given saving IM address that not valid.
 msgid "Cannot normalize that Jabber ID"
 msgstr "Não é possível normalizar esse Jabber ID"
 
 #. TRANS: Message given saving IM address that not valid.
-#: actions/imsettings.php:325
+#: actions/imsettings.php:317
 msgid "Not a valid Jabber ID"
 msgstr "Jabber ID não é válido"
 
 #. TRANS: Message given saving IM address that is already set.
 msgid "Not a valid Jabber ID"
 msgstr "Jabber ID não é válido"
 
 #. TRANS: Message given saving IM address that is already set.
-#: actions/imsettings.php:329
+#: actions/imsettings.php:321
 msgid "That is already your Jabber ID."
 msgstr "Esse já é o seu Jabber ID."
 
 #. TRANS: Message given saving IM address that is already set for another user.
 msgid "That is already your Jabber ID."
 msgstr "Esse já é o seu Jabber ID."
 
 #. TRANS: Message given saving IM address that is already set for another user.
-#: actions/imsettings.php:333
+#: actions/imsettings.php:325
 msgid "Jabber ID already belongs to another user."
 msgstr "O Jabber ID introduzido já pertence a outro utilizador."
 
 #. TRANS: Message given saving valid IM address that is to be confirmed.
 #. TRANS: %s is the IM address set for the site.
 msgid "Jabber ID already belongs to another user."
 msgstr "O Jabber ID introduzido já pertence a outro utilizador."
 
 #. TRANS: Message given saving valid IM address that is to be confirmed.
 #. TRANS: %s is the IM address set for the site.
-#: actions/imsettings.php:361
+#: actions/imsettings.php:353
 #, php-format
 msgid ""
 "A confirmation code was sent to the IM address you added. You must approve %"
 #, php-format
 msgid ""
 "A confirmation code was sent to the IM address you added. You must approve %"
@@ -2249,28 +3207,29 @@ msgstr ""
 "aprovar que %s envie mensagens para si."
 
 #. TRANS: Message given canceling IM address confirmation for the wrong IM address.
 "aprovar que %s envie mensagens para si."
 
 #. TRANS: Message given canceling IM address confirmation for the wrong IM address.
-#: actions/imsettings.php:391
+#: actions/imsettings.php:382
 msgid "That is the wrong IM address."
 msgstr "Esse endereço de mensagens instantâneas está errado."
 
 #. TRANS: Server error thrown on database error canceling IM address confirmation.
 msgid "That is the wrong IM address."
 msgstr "Esse endereço de mensagens instantâneas está errado."
 
 #. TRANS: Server error thrown on database error canceling IM address confirmation.
-#: actions/imsettings.php:400
-msgid "Couldn't delete IM confirmation."
+#: actions/imsettings.php:391
+#, fuzzy
+msgid "Could not delete IM confirmation."
 msgstr "Não foi possível apagar a confirmação do mensageiro instantâneo."
 
 #. TRANS: Message given after successfully canceling IM address confirmation.
 msgstr "Não foi possível apagar a confirmação do mensageiro instantâneo."
 
 #. TRANS: Message given after successfully canceling IM address confirmation.
-#: actions/imsettings.php:405
+#: actions/imsettings.php:396
 msgid "IM confirmation cancelled."
 msgstr "Confirmação do mensageiro instantâneo cancelada."
 
 #. TRANS: Message given trying to remove an IM address that is not
 #. TRANS: registered for the active user.
 msgid "IM confirmation cancelled."
 msgstr "Confirmação do mensageiro instantâneo cancelada."
 
 #. TRANS: Message given trying to remove an IM address that is not
 #. TRANS: registered for the active user.
-#: actions/imsettings.php:427
+#: actions/imsettings.php:417
 msgid "That is not your Jabber ID."
 msgstr "Esse não é o seu Jabber ID."
 
 #. TRANS: Message given after successfully removing a registered IM address.
 msgid "That is not your Jabber ID."
 msgstr "Esse não é o seu Jabber ID."
 
 #. TRANS: Message given after successfully removing a registered IM address.
-#: actions/imsettings.php:450
+#: actions/imsettings.php:440
 msgid "The IM address was removed."
 msgstr "O endereço do mensageiro instantâneo foi removido."
 
 msgid "The IM address was removed."
 msgstr "O endereço do mensageiro instantâneo foi removido."
 
@@ -2290,52 +3249,83 @@ msgstr ""
 "Esta é a sua caixa de entrada, que apresenta as mensagens privadas que "
 "recebeu."
 
 "Esta é a sua caixa de entrada, que apresenta as mensagens privadas que "
 "recebeu."
 
-#: actions/invite.php:39
+#. TRANS: Client error displayed when trying to sent invites while they have been disabled.
+#: actions/invite.php:40
 msgid "Invites have been disabled."
 msgstr "Convites foram desabilitados."
 
 msgid "Invites have been disabled."
 msgstr "Convites foram desabilitados."
 
-#: actions/invite.php:41
+#. TRANS: Client error displayed when trying to sent invites while not logged in.
+#. TRANS: %s is the StatusNet site name.
+#: actions/invite.php:44
 #, php-format
 msgid "You must be logged in to invite other users to use %s."
 msgstr ""
 "Tem de iniciar uma sessão para convidar outros utilizadores a usarem o site %"
 "s."
 
 #, php-format
 msgid "You must be logged in to invite other users to use %s."
 msgstr ""
 "Tem de iniciar uma sessão para convidar outros utilizadores a usarem o site %"
 "s."
 
-#: actions/invite.php:72
-#, php-format
-msgid "Invalid email address: %s"
+#. TRANS: Form validation message when providing an e-mail address that does not validate.
+#. TRANS: %s is an invalid e-mail address.
+#: actions/invite.php:77
+#, fuzzy, php-format
+msgid "Invalid email address: %s."
 msgstr "Endereço electrónico inválido: %s"
 
 msgstr "Endereço electrónico inválido: %s"
 
-#: actions/invite.php:110
-msgid "Invitation(s) sent"
+#. TRANS: Page title when invitations have been sent.
+#: actions/invite.php:116
+#, fuzzy
+msgid "Invitations sent"
 msgstr "Convite(s) enviado(s)"
 
 msgstr "Convite(s) enviado(s)"
 
-#: actions/invite.php:112
+#. TRANS: Page title when inviting potential users.
+#: actions/invite.php:119
 msgid "Invite new users"
 msgstr "Convidar novos utilizadores"
 
 msgid "Invite new users"
 msgstr "Convidar novos utilizadores"
 
-#: actions/invite.php:128
-msgid "You are already subscribed to these users:"
-msgstr "Já subscreveu estes utilizadores:"
-
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:131 actions/invite.php:139 lib/command.php:426
-#, php-format
+#. TRANS: Message displayed inviting users to use a StatusNet site while the inviting user
+#. TRANS: is already subscribed to one or more users with the given e-mail address(es).
+#. TRANS: Plural form is based on the number of reported already subscribed e-mail addresses.
+#. TRANS: Followed by a bullet list.
+#: actions/invite.php:139
+#, fuzzy
+msgid "You are already subscribed to this user:"
+msgid_plural "You are already subscribed to these users:"
+msgstr[0] "Já subscreveu estes utilizadores:"
+msgstr[1] "Já subscreveu estes utilizadores:"
+
+#. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
+#. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
-#: actions/invite.php:136
-msgid ""
+#. TRANS: Message displayed inviting users to use a StatusNet site while the invited user
+#. TRANS: already uses a this StatusNet site. Plural form is based on the number of
+#. TRANS: reported already present people. Followed by a bullet list.
+#: actions/invite.php:153
+#, fuzzy
+msgid "This person is already a user and you were automatically subscribed:"
+msgid_plural ""
 "These people are already users and you were automatically subscribed to them:"
 "These people are already users and you were automatically subscribed to them:"
-msgstr ""
+msgstr[0] ""
+"Estas pessoas já são utilizadores e foram automaticamente subscritos por si:"
+msgstr[1] ""
 "Estas pessoas já são utilizadores e foram automaticamente subscritos por si:"
 
 "Estas pessoas já são utilizadores e foram automaticamente subscritos por si:"
 
-#: actions/invite.php:144
-msgid "Invitation(s) sent to the following people:"
-msgstr "Convite(s) enviado(s) para as seguintes pessoas:"
-
-#: actions/invite.php:150
+#. TRANS: Message displayed inviting users to use a StatusNet site. Plural form is
+#. TRANS: based on the number of invitations sent. Followed by a bullet list of
+#. TRANS: e-mail addresses to which invitations were sent.
+#: actions/invite.php:167
+#, fuzzy
+msgid "Invitation sent to the following person:"
+msgid_plural "Invitations sent to the following people:"
+msgstr[0] "Convite(s) enviado(s) para as seguintes pessoas:"
+msgstr[1] "Convite(s) enviado(s) para as seguintes pessoas:"
+
+#. TRANS: Generic message displayed after sending out one or more invitations to
+#. TRANS: people to join a StatusNet site.
+#: actions/invite.php:177
 msgid ""
 "You will be notified when your invitees accept the invitation and register "
 "on the site. Thanks for growing the community!"
 msgid ""
 "You will be notified when your invitees accept the invitation and register "
 "on the site. Thanks for growing the community!"
@@ -2343,42 +3333,53 @@ msgstr ""
 "Receberá uma notificação quando os seus convidados aceitarem o convite e se "
 "registarem no site. Obrigado por aumentar a comunidade!"
 
 "Receberá uma notificação quando os seus convidados aceitarem o convite e se "
 "registarem no site. Obrigado por aumentar a comunidade!"
 
-#: actions/invite.php:162
+#. TRANS: Form instructions.
+#: actions/invite.php:190
 msgid ""
 "Use this form to invite your friends and colleagues to use this service."
 msgstr ""
 "Use este formulário para convidar amigos e colegas a usar este serviço."
 
 msgid ""
 "Use this form to invite your friends and colleagues to use this service."
 msgstr ""
 "Use este formulário para convidar amigos e colegas a usar este serviço."
 
-#: actions/invite.php:187
+#. TRANS: Field label for a list of e-mail addresses.
+#: actions/invite.php:217
 msgid "Email addresses"
 msgstr "Endereços de correio electrónico"
 
 msgid "Email addresses"
 msgstr "Endereços de correio electrónico"
 
-#: actions/invite.php:189
+#. TRANS: Tooltip for field label for a list of e-mail addresses.
+#: actions/invite.php:220
 msgid "Addresses of friends to invite (one per line)"
 msgstr "Endereços dos amigos a convidar (um por linha)"
 
 msgid "Addresses of friends to invite (one per line)"
 msgstr "Endereços dos amigos a convidar (um por linha)"
 
-#: actions/invite.php:192
+#. TRANS: Field label for a personal message to send to invitees.
+#: actions/invite.php:224
 msgid "Personal message"
 msgstr "Mensagem pessoal"
 
 msgid "Personal message"
 msgstr "Mensagem pessoal"
 
-#: actions/invite.php:194
+#. TRANS: Tooltip for field label for a personal message to send to invitees.
+#: actions/invite.php:227
 msgid "Optionally add a personal message to the invitation."
 msgstr "Pode optar por acrescentar uma mensagem pessoal ao convite"
 
 #. TRANS: Send button for inviting friends
 msgid "Optionally add a personal message to the invitation."
 msgstr "Pode optar por acrescentar uma mensagem pessoal ao convite"
 
 #. TRANS: Send button for inviting friends
-#: actions/invite.php:198
+#: actions/invite.php:231
 msgctxt "BUTTON"
 msgid "Send"
 msgstr "Enviar"
 
 msgctxt "BUTTON"
 msgid "Send"
 msgstr "Enviar"
 
-#. TRANS: Subject for invitation email. Note that 'them' is correct as a gender-neutral singular 3rd-person pronoun in English.
-#: actions/invite.php:228
+#. TRANS: Subject for invitation email. Note that 'them' is correct as a gender-neutral
+#. TRANS: singular 3rd-person pronoun in English. %1$s is the inviting user, $2$s is
+#. TRANS: the StatusNet sitename.
+#: actions/invite.php:263
 #, php-format
 msgid "%1$s has invited you to join them on %2$s"
 msgstr "%1$s convidou-o a juntar-se a ele no %2$s"
 
 #, php-format
 msgid "%1$s has invited you to join them on %2$s"
 msgstr "%1$s convidou-o a juntar-se a ele no %2$s"
 
-#. TRANS: Body text for invitation email. Note that 'them' is correct as a gender-neutral singular 3rd-person pronoun in English.
-#: actions/invite.php:231
+#. TRANS: Body text for invitation email. Note that 'them' is correct as a gender-neutral
+#. TRANS: singular 3rd-person pronoun in English. %1$s is the inviting user, %2$s is the
+#. TRANS: StatusNet sitename, %3$s is the site URL, %4$s is the personal message from the
+#. TRANS: inviting user, %s%5 a link to the timeline for the inviting user, %s$6 is a link
+#. TRANS: to register with the StatusNet site.
+#: actions/invite.php:270
 #, php-format
 msgid ""
 "%1$s has invited you to join them on %2$s (%3$s).\n"
 #, php-format
 msgid ""
 "%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2434,130 +3435,145 @@ msgstr ""
 "\n"
 "Sinceramente, %2$s\n"
 
 "\n"
 "Sinceramente, %2$s\n"
 
-#: actions/joingroup.php:60
+#. TRANS: Client error displayed when trying to join a group while not logged in.
+#: actions/joingroup.php:59
 msgid "You must be logged in to join a group."
 msgstr "Tem de iniciar uma sessão para se juntar a um grupo."
 
 msgid "You must be logged in to join a group."
 msgstr "Tem de iniciar uma sessão para se juntar a um grupo."
 
-#: actions/joingroup.php:141
-#, php-format
+#. TRANS: Title for join group page after joining.
+#: actions/joingroup.php:147
+#, fuzzy, php-format
+msgctxt "TITLE"
 msgid "%1$s joined group %2$s"
 msgstr "%1$s juntou-se ao grupo %2$s"
 
 msgid "%1$s joined group %2$s"
 msgstr "%1$s juntou-se ao grupo %2$s"
 
-#: actions/leavegroup.php:60
+#. TRANS: Client error displayed when trying to leave a group while not logged in.
+#: actions/leavegroup.php:59
 msgid "You must be logged in to leave a group."
 msgstr "Tem de iniciar uma sessão para deixar um grupo."
 
 msgid "You must be logged in to leave a group."
 msgstr "Tem de iniciar uma sessão para deixar um grupo."
 
+#. TRANS: Client error displayed when trying to join a group while already a member.
 #. TRANS: Error text shown when trying to leave an existing group the user is not a member of.
 #. TRANS: Error text shown when trying to leave an existing group the user is not a member of.
-#: actions/leavegroup.php:100 lib/command.php:386
+#: actions/leavegroup.php:103 lib/command.php:386
 msgid "You are not a member of that group."
 msgstr "Não é um membro desse grupo."
 
 msgid "You are not a member of that group."
 msgstr "Não é um membro desse grupo."
 
-#: actions/leavegroup.php:137
-#, php-format
+#. TRANS: Title for leave group page after leaving.
+#: actions/leavegroup.php:142
+#, fuzzy, php-format
+msgctxt "TITLE"
 msgid "%1$s left group %2$s"
 msgstr "%1$s deixou o grupo %2$s"
 
 #. TRANS: User admin panel title
 msgid "%1$s left group %2$s"
 msgstr "%1$s deixou o grupo %2$s"
 
 #. TRANS: User admin panel title
-#: actions/licenseadminpanel.php:56
+#: actions/licenseadminpanel.php:55
 msgctxt "TITLE"
 msgid "License"
 msgstr ""
 
 msgctxt "TITLE"
 msgid "License"
 msgstr ""
 
-#: actions/licenseadminpanel.php:67
+#: actions/licenseadminpanel.php:65
 msgid "License for this StatusNet site"
 msgstr ""
 
 msgid "License for this StatusNet site"
 msgstr ""
 
-#: actions/licenseadminpanel.php:139
+#: actions/licenseadminpanel.php:134
 msgid "Invalid license selection."
 msgstr ""
 
 msgid "Invalid license selection."
 msgstr ""
 
-#: actions/licenseadminpanel.php:149
+#: actions/licenseadminpanel.php:144
 msgid ""
 "You must specify the owner of the content when using the All Rights Reserved "
 "license."
 msgstr ""
 
 msgid ""
 "You must specify the owner of the content when using the All Rights Reserved "
 "license."
 msgstr ""
 
-#: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#: actions/licenseadminpanel.php:151
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "Texto de boas-vindas inválido. Tamanho máx. é 255 caracteres."
 
 
-#: actions/licenseadminpanel.php:168
+#: actions/licenseadminpanel.php:163
 msgid "Invalid license URL."
 msgstr ""
 
 msgid "Invalid license URL."
 msgstr ""
 
-#: actions/licenseadminpanel.php:171
+#: actions/licenseadminpanel.php:166
 msgid "Invalid license image URL."
 msgstr ""
 
 msgid "Invalid license image URL."
 msgstr ""
 
-#: actions/licenseadminpanel.php:179
+#: actions/licenseadminpanel.php:174
 msgid "License URL must be blank or a valid URL."
 msgstr ""
 
 msgid "License URL must be blank or a valid URL."
 msgstr ""
 
-#: actions/licenseadminpanel.php:187
+#: actions/licenseadminpanel.php:182
 msgid "License image must be blank or valid URL."
 msgstr ""
 
 msgid "License image must be blank or valid URL."
 msgstr ""
 
-#: actions/licenseadminpanel.php:239
+#: actions/licenseadminpanel.php:232
 msgid "License selection"
 msgstr ""
 
 msgid "License selection"
 msgstr ""
 
-#: actions/licenseadminpanel.php:245
+#: actions/licenseadminpanel.php:238
 msgid "Private"
 msgstr "Privado"
 
 msgid "Private"
 msgstr "Privado"
 
-#: actions/licenseadminpanel.php:246
+#: actions/licenseadminpanel.php:239
 msgid "All Rights Reserved"
 msgstr ""
 
 msgid "All Rights Reserved"
 msgstr ""
 
-#: actions/licenseadminpanel.php:247
+#: actions/licenseadminpanel.php:240
 msgid "Creative Commons"
 msgstr ""
 
 msgid "Creative Commons"
 msgstr ""
 
-#: actions/licenseadminpanel.php:252
+#: actions/licenseadminpanel.php:245
 msgid "Type"
 msgstr ""
 
 msgid "Type"
 msgstr ""
 
-#: actions/licenseadminpanel.php:254
+#: actions/licenseadminpanel.php:247
 msgid "Select license"
 msgstr ""
 
 msgid "Select license"
 msgstr ""
 
-#: actions/licenseadminpanel.php:268
+#: actions/licenseadminpanel.php:261
 msgid "License details"
 msgstr ""
 
 msgid "License details"
 msgstr ""
 
-#: actions/licenseadminpanel.php:274
+#: actions/licenseadminpanel.php:267
 msgid "Owner"
 msgstr ""
 
 msgid "Owner"
 msgstr ""
 
-#: actions/licenseadminpanel.php:275
+#: actions/licenseadminpanel.php:268
 msgid "Name of the owner of the site's content (if applicable)."
 msgstr ""
 
 msgid "Name of the owner of the site's content (if applicable)."
 msgstr ""
 
-#: actions/licenseadminpanel.php:283
+#: actions/licenseadminpanel.php:276
 msgid "License Title"
 msgstr ""
 
 msgid "License Title"
 msgstr ""
 
-#: actions/licenseadminpanel.php:284
+#: actions/licenseadminpanel.php:277
 msgid "The title of the license."
 msgstr ""
 
 msgid "The title of the license."
 msgstr ""
 
-#: actions/licenseadminpanel.php:292
+#: actions/licenseadminpanel.php:285
 msgid "License URL"
 msgstr ""
 
 msgid "License URL"
 msgstr ""
 
-#: actions/licenseadminpanel.php:293
+#: actions/licenseadminpanel.php:286
 msgid "URL for more information about the license."
 msgstr ""
 
 msgid "URL for more information about the license."
 msgstr ""
 
-#: actions/licenseadminpanel.php:300
+#: actions/licenseadminpanel.php:293
 msgid "License Image URL"
 msgstr ""
 
 msgid "License Image URL"
 msgstr ""
 
-#: actions/licenseadminpanel.php:301
+#: actions/licenseadminpanel.php:294
 msgid "URL for an image to display with the license."
 msgstr ""
 
 msgid "URL for an image to display with the license."
 msgstr ""
 
-#: actions/licenseadminpanel.php:319
+#. TRANS: Submit button title.
+#: actions/licenseadminpanel.php:311 actions/sessionsadminpanel.php:199
+#: actions/siteadminpanel.php:292 actions/snapshotadminpanel.php:245
+#: actions/tagother.php:154 lib/applicationeditform.php:357
+msgid "Save"
+msgstr "Gravar"
+
+#: actions/licenseadminpanel.php:311
 msgid "Save license settings"
 msgstr ""
 
 msgid "Save license settings"
 msgstr ""
 
@@ -2573,7 +3589,7 @@ msgstr "Nome de utilizador ou senha incorrectos."
 msgid "Error setting user. You are probably not authorized."
 msgstr "Erro ao preparar o utilizador. Provavelmente não está autorizado."
 
 msgid "Error setting user. You are probably not authorized."
 msgstr "Erro ao preparar o utilizador. Provavelmente não está autorizado."
 
-#: actions/login.php:210 actions/login.php:263 lib/logingroupnav.php:79
+#: actions/login.php:210 actions/login.php:263
 msgid "Login"
 msgstr "Entrar"
 
 msgid "Login"
 msgstr "Entrar"
 
@@ -2581,11 +3597,11 @@ msgstr "Entrar"
 msgid "Login to site"
 msgstr "Iniciar sessão no site"
 
 msgid "Login to site"
 msgstr "Iniciar sessão no site"
 
-#: actions/login.php:258 actions/register.php:485
+#: actions/login.php:258 actions/register.php:490
 msgid "Remember me"
 msgstr "Lembrar-me neste computador"
 
 msgid "Remember me"
 msgstr "Lembrar-me neste computador"
 
-#: actions/login.php:259 actions/register.php:487
+#: actions/login.php:259 actions/register.php:492
 msgid "Automatically login in the future; not for shared computers!"
 msgstr ""
 "De futuro, iniciar sessão automaticamente. Não usar em computadores "
 msgid "Automatically login in the future; not for shared computers!"
 msgstr ""
 "De futuro, iniciar sessão automaticamente. Não usar em computadores "
@@ -2636,77 +3652,92 @@ msgstr "Não é possível tornar %1$s administrador do grupo %2$s."
 msgid "No current status."
 msgstr "Sem estado actual."
 
 msgid "No current status."
 msgstr "Sem estado actual."
 
+#. TRANS: This is the title of the form for adding a new application.
 #: actions/newapplication.php:52
 #: actions/newapplication.php:52
-msgid "New Application"
+#, fuzzy
+msgid "New application"
 msgstr "Aplicação Nova"
 
 msgstr "Aplicação Nova"
 
+#. TRANS: Client error displayed trying to add a new application while not logged in.
 #: actions/newapplication.php:64
 msgid "You must be logged in to register an application."
 msgstr "Tem de iniciar uma sessão para registar uma aplicação."
 
 #: actions/newapplication.php:64
 msgid "You must be logged in to register an application."
 msgstr "Tem de iniciar uma sessão para registar uma aplicação."
 
-#: actions/newapplication.php:143
+#. TRANS: Form instructions for registering a new application.
+#: actions/newapplication.php:147
 msgid "Use this form to register a new application."
 msgstr "Use este formulário para registar uma nova aplicação."
 
 msgid "Use this form to register a new application."
 msgstr "Use este formulário para registar uma nova aplicação."
 
-#: actions/newapplication.php:176
+#. TRANS: Validation error shown when not providing a source URL in the "New application" form.
+#: actions/newapplication.php:189
 msgid "Source URL is required."
 msgstr "É necessária a URL de origem."
 
 msgid "Source URL is required."
 msgstr "É necessária a URL de origem."
 
-#: actions/newapplication.php:258 actions/newapplication.php:267
+#. TRANS: Server error displayed when an application could not be registered in the database through the "New application" form.
+#: actions/newapplication.php:279 actions/newapplication.php:289
 msgid "Could not create application."
 msgstr "Não foi possível criar a aplicação."
 
 msgid "Could not create application."
 msgstr "Não foi possível criar a aplicação."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Grupo novo"
 
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Grupo novo"
 
-#: actions/newgroup.php:110
+#. TRANS: Client exception thrown when a user tries to create a group while banned.
+#: actions/newgroup.php:73 classes/User_group.php:485
+#, fuzzy
+msgid "You are not allowed to create groups on this site."
+msgstr "Não é membro deste grupo."
+
+#. TRANS: Form instructions for group create form.
+#: actions/newgroup.php:117
 msgid "Use this form to create a new group."
 msgstr "Use este formulário para criar um grupo novo."
 
 msgid "Use this form to create a new group."
 msgstr "Use este formulário para criar um grupo novo."
 
-#: actions/newmessage.php:71 actions/newmessage.php:231
+#. TRANS: Group create form validation error.
+#: actions/newgroup.php:199
+#, fuzzy
+msgid "Alias cannot be the same as nickname."
+msgstr "Um nome alternativo não pode ser igual ao nome do utilizador."
+
+#: actions/newmessage.php:71 actions/newmessage.php:234
 msgid "New message"
 msgstr "Mensagem nova"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
 msgid "New message"
 msgstr "Mensagem nova"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:161 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Não pode enviar uma mensagem a este utilizador."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 msgid "You can't send a message to this user."
 msgstr "Não pode enviar uma mensagem a este utilizador."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
-#: actions/newmessage.php:144 actions/newnotice.php:138 lib/command.php:478
-#: lib/command.php:579
+#: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Sem conteúdo!"
 
 msgid "No content!"
 msgstr "Sem conteúdo!"
 
-#: actions/newmessage.php:150
-#, php-format
-msgid "That's too long. Max message size is %d chars."
-msgstr "Demasiado longo. Tamanho máx. das mensagens é %d caracteres."
-
-#: actions/newmessage.php:158
+#: actions/newmessage.php:161
 msgid "No recipient specified."
 msgstr "Não especificou um destinatário."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
 msgid "No recipient specified."
 msgstr "Não especificou um destinatário."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:164 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr "Não auto-envie uma mensagem; basta lê-la baixinho a si próprio."
 
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr "Não auto-envie uma mensagem; basta lê-la baixinho a si próprio."
 
-#: actions/newmessage.php:181
+#: actions/newmessage.php:184
 msgid "Message sent"
 msgstr "Mensagem enviada"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
 msgid "Message sent"
 msgstr "Mensagem enviada"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:185 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Mensagem directa para %s foi enviada."
 
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Mensagem directa para %s foi enviada."
 
-#: actions/newmessage.php:210 actions/newnotice.php:261
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Erro do Ajax"
 
 msgid "Ajax Error"
 msgstr "Erro do Ajax"
 
@@ -2714,7 +3745,7 @@ msgstr "Erro do Ajax"
 msgid "New notice"
 msgstr "Nota nova"
 
 msgid "New notice"
 msgstr "Nota nova"
 
-#: actions/newnotice.php:227
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Nota publicada"
 
 msgid "Notice posted"
 msgstr "Nota publicada"
 
@@ -2765,8 +3796,10 @@ msgid "Updates matching search term \"%1$s\" on %2$s!"
 msgstr "Actualizações que contêm o termo \"%1$s\" em %2$s!"
 
 #: actions/nudge.php:85
 msgstr "Actualizações que contêm o termo \"%1$s\" em %2$s!"
 
 #: actions/nudge.php:85
+#, fuzzy
 msgid ""
 msgid ""
-"This user doesn't allow nudges or hasn't confirmed or set their email yet."
+"This user doesn't allow nudges or hasn't confirmed or set their email "
+"address yet."
 msgstr ""
 "Este utilizador não aceita toques ou ainda não confirmou ou forneceu um "
 "correio electrónico."
 msgstr ""
 "Este utilizador não aceita toques ou ainda não confirmou ou forneceu um "
 "correio electrónico."
@@ -2779,73 +3812,97 @@ msgstr "Toque enviado"
 msgid "Nudge sent!"
 msgstr "Toque enviado!"
 
 msgid "Nudge sent!"
 msgstr "Toque enviado!"
 
-#: actions/oauthappssettings.php:59
+#. TRANS: Message displayed to an anonymous user trying to view OAuth application list.
+#: actions/oauthappssettings.php:60
 msgid "You must be logged in to list your applications."
 msgstr "Tem de iniciar uma sessão para listar as suas aplicações."
 
 msgid "You must be logged in to list your applications."
 msgstr "Tem de iniciar uma sessão para listar as suas aplicações."
 
-#: actions/oauthappssettings.php:74
+#. TRANS: Page title for OAuth applications
+#: actions/oauthappssettings.php:76
 msgid "OAuth applications"
 msgstr "Aplicações OAuth"
 
 msgid "OAuth applications"
 msgstr "Aplicações OAuth"
 
-#: actions/oauthappssettings.php:85
+#. TRANS: Page instructions for OAuth applications
+#: actions/oauthappssettings.php:88
 msgid "Applications you have registered"
 msgstr "Aplicações que registou"
 
 msgid "Applications you have registered"
 msgstr "Aplicações que registou"
 
-#: actions/oauthappssettings.php:135
+#. TRANS: Empty list message on page with OAuth applications.
+#: actions/oauthappssettings.php:141
 #, php-format
 msgid "You have not registered any applications yet."
 msgstr "Ainda não registou nenhuma aplicação."
 
 #, php-format
 msgid "You have not registered any applications yet."
 msgstr "Ainda não registou nenhuma aplicação."
 
-#: actions/oauthconnectionssettings.php:72
+#. TRANS: Title for OAuth connection settings.
+#: actions/oauthconnectionssettings.php:71
 msgid "Connected applications"
 msgstr "Aplicações ligadas"
 
 msgid "Connected applications"
 msgstr "Aplicações ligadas"
 
+#. TRANS: Instructions for OAuth connection settings.
 #: actions/oauthconnectionssettings.php:83
 #: actions/oauthconnectionssettings.php:83
-msgid "You have allowed the following applications to access your account."
+msgid "The following connections exist for your account."
 msgstr ""
 
 msgstr ""
 
-#: actions/oauthconnectionssettings.php:175
+#. TRANS: Client error when trying to revoke access for an application while not being a user of it.
+#: actions/oauthconnectionssettings.php:168
 msgid "You are not a user of that application."
 msgstr "Não é utilizador dessa aplicação."
 
 msgid "You are not a user of that application."
 msgstr "Não é utilizador dessa aplicação."
 
-#: actions/oauthconnectionssettings.php:186
-#, php-format
-msgid "Unable to revoke access for app: %s."
+#. TRANS: Client error when revoking access has failed for some reason.
+#. TRANS: %s is the application ID revoking access failed for.
+#: actions/oauthconnectionssettings.php:183
+#, fuzzy, php-format
+msgid "Unable to revoke access for application: %s."
 msgstr "Não foi possível retirar acesso da aplicação: %s"
 
 msgstr "Não foi possível retirar acesso da aplicação: %s"
 
-#: actions/oauthconnectionssettings.php:198
+#. TRANS: Success message after revoking access for an application.
+#. TRANS: %1$s is the application name, %2$s is the first part of the user token.
+#: actions/oauthconnectionssettings.php:202
+#, php-format
+msgid ""
+"You have successfully revoked access for %1$s and the access token starting "
+"with %2$s."
+msgstr ""
+
+#. TRANS: Empty list message when no applications have been authorised yet.
+#: actions/oauthconnectionssettings.php:213
 msgid "You have not authorized any applications to use your account."
 msgstr "Não permitiu que nenhuma aplicação use a sua conta."
 
 msgid "You have not authorized any applications to use your account."
 msgstr "Não permitiu que nenhuma aplicação use a sua conta."
 
-#: actions/oauthconnectionssettings.php:211
-msgid "Developers can edit the registration settings for their applications "
+#. TRANS: Note for developers in the OAuth connection settings form.
+#. TRANS: This message contains a Markdown link. Do not separate "](".
+#. TRANS: %s is the URL to the OAuth settings.
+#: actions/oauthconnectionssettings.php:233
+#, php-format
+msgid ""
+"Are you a developer? [Register an OAuth client application](%s) to use with "
+"this instance of StatusNet."
 msgstr ""
 msgstr ""
-"Programadores podem editar as configurações de inscrição das suas aplicações "
 
 #: actions/oembed.php:80 actions/shownotice.php:100
 msgid "Notice has no profile."
 msgstr "Nota não tem perfil."
 
 
 #: actions/oembed.php:80 actions/shownotice.php:100
 msgid "Notice has no profile."
 msgstr "Nota não tem perfil."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "Estado de %1$s em %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "Estado de %1$s em %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:168
 #, php-format
 msgid "Content type %s not supported."
 msgstr "O tipo de conteúdo %s não é suportado."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
 #, php-format
 msgid "Content type %s not supported."
 msgstr "O tipo de conteúdo %s não é suportado."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:172
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "Só URLs %s sobre HTTP simples, por favor."
 
 #. TRANS: Client error on an API request with an unsupported data format.
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "Só URLs %s sobre HTTP simples, por favor."
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
-#: lib/apiaction.php:1227 lib/apiaction.php:1356
+#: actions/oembed.php:193 actions/oembed.php:212 lib/apiaction.php:1206
+#: lib/apiaction.php:1233 lib/apiaction.php:1362
 msgid "Not a supported data format."
 msgstr "Formato de dados não suportado."
 
 msgid "Not a supported data format."
 msgstr "Formato de dados não suportado."
 
@@ -2857,36 +3914,46 @@ msgstr "Pesquisa de Pessoas"
 msgid "Notice Search"
 msgstr "Pesquisa de Notas"
 
 msgid "Notice Search"
 msgstr "Pesquisa de Notas"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Outras configurações"
 
 msgid "Other settings"
 msgstr "Outras configurações"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Gerir várias outras opções."
 
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Gerir várias outras opções."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (serviço gratuito)"
 
 msgid " (free service)"
 msgstr " (serviço gratuito)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "Encurtar URLs com"
 
 msgid "Shorten URLs with"
 msgstr "Encurtar URLs com"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Serviço de encurtamento que será usado automaticamente"
 
 msgid "Automatic shortening service to use."
 msgstr "Serviço de encurtamento que será usado automaticamente"
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Ver estilos para o perfil"
 
 msgid "View profile designs"
 msgstr "Ver estilos para o perfil"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Mostrar ou esconder estilos para o perfil."
 
 msgid "Show or hide profile designs."
 msgstr "Mostrar ou esconder estilos para o perfil."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "Serviço de encurtamento de URLs demasiado extenso (máx. 50 caracteres)"
 
 #: actions/otp.php:69
 msgstr "Serviço de encurtamento de URLs demasiado extenso (máx. 50 caracteres)"
 
 #: actions/otp.php:69
@@ -2932,7 +3999,8 @@ msgstr "Modificar senha"
 msgid "Change your password."
 msgstr "Modificar a sua senha."
 
 msgid "Change your password."
 msgstr "Modificar a sua senha."
 
-#: actions/passwordsettings.php:96 actions/recoverpassword.php:231
+#. TRANS: Fieldset legend for password reset form.
+#: actions/passwordsettings.php:96 actions/recoverpassword.php:251
 msgid "Password change"
 msgstr "Mudança da senha"
 
 msgid "Password change"
 msgstr "Mudança da senha"
 
@@ -2940,7 +4008,8 @@ msgstr "Mudança da senha"
 msgid "Old password"
 msgstr "Antiga"
 
 msgid "Old password"
 msgstr "Antiga"
 
-#: actions/passwordsettings.php:108 actions/recoverpassword.php:235
+#. TRANS: Field label for password reset form.
+#: actions/passwordsettings.php:108 actions/recoverpassword.php:256
 msgid "New password"
 msgstr "Nova"
 
 msgid "New password"
 msgstr "Nova"
 
@@ -2948,12 +4017,7 @@ msgstr "Nova"
 msgid "6 or more characters"
 msgstr "6 ou mais caracteres"
 
 msgid "6 or more characters"
 msgstr "6 ou mais caracteres"
 
-#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:440
-msgid "Confirm"
-msgstr "Confirmação"
-
-#: actions/passwordsettings.php:113 actions/recoverpassword.php:240
+#: actions/passwordsettings.php:113
 msgid "Same as password above"
 msgstr "Repita a senha nova"
 
 msgid "Same as password above"
 msgstr "Repita a senha nova"
 
@@ -2961,11 +4025,11 @@ msgstr "Repita a senha nova"
 msgid "Change"
 msgstr "Modificar"
 
 msgid "Change"
 msgstr "Modificar"
 
-#: actions/passwordsettings.php:154 actions/register.php:237
+#: actions/passwordsettings.php:154 actions/register.php:238
 msgid "Password must be 6 or more characters."
 msgstr "Senha tem de ter 6 ou mais caracteres."
 
 msgid "Password must be 6 or more characters."
 msgstr "Senha tem de ter 6 ou mais caracteres."
 
-#: actions/passwordsettings.php:157 actions/register.php:240
+#: actions/passwordsettings.php:157 actions/register.php:241
 msgid "Passwords don't match."
 msgstr "Senhas não coincidem."
 
 msgid "Passwords don't match."
 msgstr "Senhas não coincidem."
 
@@ -2977,183 +4041,300 @@ msgstr "Senha antiga incorrecta."
 msgid "Error saving user; invalid."
 msgstr "Erro ao guardar utilizador; inválido."
 
 msgid "Error saving user; invalid."
 msgstr "Erro ao guardar utilizador; inválido."
 
-#: actions/passwordsettings.php:186 actions/recoverpassword.php:381
+#: actions/passwordsettings.php:186
 msgid "Can't save new password."
 msgstr "Não é possível guardar a nova senha."
 
 msgid "Can't save new password."
 msgstr "Não é possível guardar a nova senha."
 
-#: actions/passwordsettings.php:192 actions/recoverpassword.php:211
+#. TRANS: Title for password recovery page in password saved mode.
+#: actions/passwordsettings.php:192 actions/recoverpassword.php:229
 msgid "Password saved."
 msgstr "Senha gravada."
 
 msgid "Password saved."
 msgstr "Senha gravada."
 
+#. TRANS: Title for Paths admin panel.
 #. TRANS: Menu item for site administration
 #. TRANS: Menu item for site administration
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:371
+#: actions/pathsadminpanel.php:58 lib/adminpanelaction.php:371
 msgid "Paths"
 msgstr "Localizações"
 
 msgid "Paths"
 msgstr "Localizações"
 
-#: actions/pathsadminpanel.php:70
+#. TRANS: Form instructions for Path admin panel.
+#: actions/pathsadminpanel.php:69
 msgid "Path and server settings for this StatusNet site"
 msgstr ""
 
 msgid "Path and server settings for this StatusNet site"
 msgstr ""
 
-#: actions/pathsadminpanel.php:158
+#. TRANS: Client error in Paths admin panel.
+#. TRANS: %s is the directory that could not be read from.
+#: actions/pathsadminpanel.php:155
 #, php-format
 msgid "Theme directory not readable: %s."
 msgstr "Sem acesso de leitura do directório do tema: %s."
 
 #, php-format
 msgid "Theme directory not readable: %s."
 msgstr "Sem acesso de leitura do directório do tema: %s."
 
-#: actions/pathsadminpanel.php:164
+#. TRANS: Client error in Paths admin panel.
+#. TRANS: %s is the avatar directory that could not be written to.
+#: actions/pathsadminpanel.php:163
 #, php-format
 msgid "Avatar directory not writable: %s."
 msgstr "Sem acesso de escrita no directório do avatar: %s."
 
 #, php-format
 msgid "Avatar directory not writable: %s."
 msgstr "Sem acesso de escrita no directório do avatar: %s."
 
-#: actions/pathsadminpanel.php:170
+#. TRANS: Client error in Paths admin panel.
+#. TRANS: %s is the background directory that could not be written to.
+#: actions/pathsadminpanel.php:171
 #, php-format
 msgid "Background directory not writable: %s."
 msgstr "Sem acesso de escrita no directório do fundo: %s."
 
 #, php-format
 msgid "Background directory not writable: %s."
 msgstr "Sem acesso de escrita no directório do fundo: %s."
 
-#: actions/pathsadminpanel.php:178
+#. TRANS: Client error in Paths admin panel.
+#. TRANS: %s is the locales directory that could not be read from.
+#: actions/pathsadminpanel.php:181
 #, php-format
 msgid "Locales directory not readable: %s."
 msgstr "Sem acesso de leitura ao directório das línguas: %s."
 
 #, php-format
 msgid "Locales directory not readable: %s."
 msgstr "Sem acesso de leitura ao directório das línguas: %s."
 
-#: actions/pathsadminpanel.php:184
+#. TRANS: Client error in Paths admin panel.
+#. TRANS: %s is the SSL server URL that is too long.
+#: actions/pathsadminpanel.php:189
 msgid "Invalid SSL server. The maximum length is 255 characters."
 msgstr "Servidor SSL inválido. O tamanho máximo é 255 caracteres."
 
 msgid "Invalid SSL server. The maximum length is 255 characters."
 msgstr "Servidor SSL inválido. O tamanho máximo é 255 caracteres."
 
+#. TRANS: Fieldset legend in Paths admin panel.
 #: actions/pathsadminpanel.php:235 actions/siteadminpanel.php:58
 msgid "Site"
 msgstr "Site"
 
 #: actions/pathsadminpanel.php:235 actions/siteadminpanel.php:58
 msgid "Site"
 msgstr "Site"
 
-#: actions/pathsadminpanel.php:239 actions/pathsadminpanel.php:265
-#: actions/pathsadminpanel.php:314 actions/pathsadminpanel.php:343
+#. TRANS: Field label in Paths admin panel.
+#: actions/pathsadminpanel.php:241 actions/pathsadminpanel.php:279
+#: actions/pathsadminpanel.php:370 actions/pathsadminpanel.php:425
 msgid "Server"
 msgstr "Servidor"
 
 msgid "Server"
 msgstr "Servidor"
 
-#: actions/pathsadminpanel.php:239
+#: actions/pathsadminpanel.php:242
 msgid "Site's server hostname."
 msgstr "Nome do servidor do site."
 
 msgid "Site's server hostname."
 msgstr "Nome do servidor do site."
 
-#: actions/pathsadminpanel.php:243 actions/pathsadminpanel.php:269
-#: actions/pathsadminpanel.php:318 actions/pathsadminpanel.php:347
+#. TRANS: Field label in Paths admin panel.
+#: actions/pathsadminpanel.php:248 actions/pathsadminpanel.php:288
+#: actions/pathsadminpanel.php:379 actions/pathsadminpanel.php:434
 msgid "Path"
 msgstr "Localização"
 
 msgid "Path"
 msgstr "Localização"
 
-#: actions/pathsadminpanel.php:243
-msgid "Site path"
+#: actions/pathsadminpanel.php:249
+#, fuzzy
+msgid "Site path."
 msgstr "Localização do site"
 
 msgstr "Localização do site"
 
-#: actions/pathsadminpanel.php:247
+#. TRANS: Field label in Paths admin panel.
+#: actions/pathsadminpanel.php:255
 #, fuzzy
 #, fuzzy
-msgid "Locale Directory"
+msgid "Locale directory"
 msgstr "Directório do tema"
 
 msgstr "Directório do tema"
 
-#: actions/pathsadminpanel.php:247
-msgid "Directory path to locales"
+#: actions/pathsadminpanel.php:256
+#, fuzzy
+msgid "Directory path to locales."
 msgstr "Localização do directório das línguas"
 
 msgstr "Localização do directório das línguas"
 
-#: actions/pathsadminpanel.php:251
+#. TRANS: Checkbox label in Paths admin panel.
+#: actions/pathsadminpanel.php:263
 msgid "Fancy URLs"
 msgstr "URLs bonitas"
 
 msgid "Fancy URLs"
 msgstr "URLs bonitas"
 
-#: actions/pathsadminpanel.php:253
+#: actions/pathsadminpanel.php:265
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr "Usar URLs bonitas (mais legíveis e memoráveis)"
 
 msgid "Use fancy (more readable and memorable) URLs?"
 msgstr "Usar URLs bonitas (mais legíveis e memoráveis)"
 
-#: actions/pathsadminpanel.php:260
+#: actions/pathsadminpanel.php:272
 msgid "Theme"
 msgstr "Tema"
 
 msgid "Theme"
 msgstr "Tema"
 
-#: actions/pathsadminpanel.php:265
+#. TRANS: Tooltip for field label in Paths admin panel.
+#: actions/pathsadminpanel.php:281
 #, fuzzy
 #, fuzzy
-msgid "Server for themes"
+msgid "Server for themes."
 msgstr "O tema para o site."
 
 msgstr "O tema para o site."
 
-#: actions/pathsadminpanel.php:269
-msgid "Web path to themes"
+#. TRANS: Tooltip for field label in Paths admin panel.
+#: actions/pathsadminpanel.php:290
+msgid "Web path to themes."
 msgstr ""
 
 msgstr ""
 
-#: actions/pathsadminpanel.php:273 actions/pathsadminpanel.php:322
-#: actions/pathsadminpanel.php:351 actions/pathsadminpanel.php:380
+#. TRANS: Field label in Paths admin panel.
+#: actions/pathsadminpanel.php:297 actions/pathsadminpanel.php:388
+#: actions/pathsadminpanel.php:443 actions/pathsadminpanel.php:495
 msgid "SSL server"
 msgstr "Servidor SSL"
 
 msgid "SSL server"
 msgstr "Servidor SSL"
 
-#: actions/pathsadminpanel.php:273
-msgid "SSL server for themes (default: SSL server)"
+#. TRANS: Tooltip for field label in Paths admin panel.
+#: actions/pathsadminpanel.php:299
+msgid "SSL server for themes (default: SSL server)."
 msgstr ""
 
 msgstr ""
 
-#: actions/pathsadminpanel.php:277 actions/pathsadminpanel.php:326
-#: actions/pathsadminpanel.php:355
+#. TRANS: Field label in Paths admin panel.
+#: actions/pathsadminpanel.php:306 actions/pathsadminpanel.php:397
+#: actions/pathsadminpanel.php:452
 #, fuzzy
 msgid "SSL path"
 msgstr "Localização do site"
 
 #, fuzzy
 msgid "SSL path"
 msgstr "Localização do site"
 
-#: actions/pathsadminpanel.php:277
-msgid "SSL path to themes (default: /theme/)"
+#. TRANS: Tooltip for field label in Paths admin panel.
+#: actions/pathsadminpanel.php:308
+msgid "SSL path to themes (default: /theme/)."
 msgstr ""
 
 msgstr ""
 
-#: actions/pathsadminpanel.php:281 actions/pathsadminpanel.php:330
-#: actions/pathsadminpanel.php:359
+#. TRANS: Field label in Paths admin panel.
+#: actions/pathsadminpanel.php:315 actions/pathsadminpanel.php:406
+#: actions/pathsadminpanel.php:461
 #, fuzzy
 msgid "Directory"
 msgstr "Directório do tema"
 
 #, fuzzy
 msgid "Directory"
 msgstr "Directório do tema"
 
-#: actions/pathsadminpanel.php:281
+#. TRANS: Tooltip for field label in Paths admin panel.
+#: actions/pathsadminpanel.php:317
 #, fuzzy
 #, fuzzy
-msgid "Directory where themes are located"
+msgid "Directory where themes are located."
 msgstr "Localização do directório das línguas"
 
 msgstr "Localização do directório das línguas"
 
-#: actions/pathsadminpanel.php:288
+#. TRANS: Fieldset legend in Paths admin panel.
+#: actions/pathsadminpanel.php:326
 msgid "Avatars"
 msgstr "Avatares"
 
 msgid "Avatars"
 msgstr "Avatares"
 
-#: actions/pathsadminpanel.php:293
+#. TRANS: Field label in Paths admin panel.
+#: actions/pathsadminpanel.php:333
 msgid "Avatar server"
 msgstr "Servidor do avatar"
 
 msgid "Avatar server"
 msgstr "Servidor do avatar"
 
-#: actions/pathsadminpanel.php:297
+#. TRANS: Tooltip for field label in Paths admin panel.
+#: actions/pathsadminpanel.php:335
+#, fuzzy
+msgid "Server for avatars."
+msgstr "O tema para o site."
+
+#. TRANS: Field label in Paths admin panel.
+#: actions/pathsadminpanel.php:342
 msgid "Avatar path"
 msgstr "Localização do avatar"
 
 msgid "Avatar path"
 msgstr "Localização do avatar"
 
-#: actions/pathsadminpanel.php:301
+#. TRANS: Tooltip for field label in Paths admin panel.
+#: actions/pathsadminpanel.php:344
+#, fuzzy
+msgid "Web path to avatars."
+msgstr "Falha ao actualizar avatar."
+
+#. TRANS: Field label in Paths admin panel.
+#: actions/pathsadminpanel.php:351
 msgid "Avatar directory"
 msgstr "Directório do avatar"
 
 msgid "Avatar directory"
 msgstr "Directório do avatar"
 
-#: actions/pathsadminpanel.php:310
+#. TRANS: Tooltip for field label in Paths admin panel.
+#: actions/pathsadminpanel.php:353
+#, fuzzy
+msgid "Directory where avatars are located."
+msgstr "Localização do directório das línguas"
+
+#. TRANS: Fieldset legend in Paths admin panel.
+#: actions/pathsadminpanel.php:364
 msgid "Backgrounds"
 msgstr "Fundos"
 
 msgid "Backgrounds"
 msgstr "Fundos"
 
+#. TRANS: Tooltip for field label in Paths admin panel.
+#: actions/pathsadminpanel.php:372
+#, fuzzy
+msgid "Server for backgrounds."
+msgstr "O tema para o site."
+
+#. TRANS: Tooltip for field label in Paths admin panel.
+#: actions/pathsadminpanel.php:381
+msgid "Web path to backgrounds."
+msgstr ""
+
+#. TRANS: Tooltip for field label in Paths admin panel.
+#: actions/pathsadminpanel.php:390
+msgid "Server for backgrounds on SSL pages."
+msgstr ""
+
+#. TRANS: Tooltip for field label in Paths admin panel.
+#: actions/pathsadminpanel.php:399
+msgid "Web path to backgrounds on SSL pages."
+msgstr ""
+
+#. TRANS: Tooltip for field label in Paths admin panel.
+#: actions/pathsadminpanel.php:408
+#, fuzzy
+msgid "Directory where backgrounds are located."
+msgstr "Localização do directório das línguas"
+
+#. TRANS: Fieldset legens in Paths admin panel.
 #. TRANS: DT element label in attachment list.
 #. TRANS: DT element label in attachment list.
-#: actions/pathsadminpanel.php:339 lib/attachmentlist.php:85
+#: actions/pathsadminpanel.php:419 lib/attachmentlist.php:99
 msgid "Attachments"
 msgstr "Anexos"
 
 msgid "Attachments"
 msgstr "Anexos"
 
-#: actions/pathsadminpanel.php:366
+#. TRANS: Tooltip for field label in Paths admin panel.
+#: actions/pathsadminpanel.php:427
+#, fuzzy
+msgid "Server for attachments."
+msgstr "O tema para o site."
+
+#. TRANS: Tooltip for field label in Paths admin panel.
+#: actions/pathsadminpanel.php:436
+#, fuzzy
+msgid "Web path to attachments."
+msgstr "Sem anexos."
+
+#. TRANS: Tooltip for field label in Paths admin panel.
+#: actions/pathsadminpanel.php:445
+#, fuzzy
+msgid "Server for attachments on SSL pages."
+msgstr "O tema para o site."
+
+#. TRANS: Tooltip for field label in Paths admin panel.
+#: actions/pathsadminpanel.php:454
+msgid "Web path to attachments on SSL pages."
+msgstr ""
+
+#. TRANS: Tooltip for field label in Paths admin panel.
+#: actions/pathsadminpanel.php:463
+#, fuzzy
+msgid "Directory where attachments are located."
+msgstr "Localização do directório das línguas"
+
+#. TRANS: Fieldset legend in Paths admin panel.
+#: actions/pathsadminpanel.php:472
 msgid "SSL"
 msgstr "SSL"
 
 msgid "SSL"
 msgstr "SSL"
 
-#: actions/pathsadminpanel.php:370 actions/snapshotadminpanel.php:202
+#. TRANS: Drop down option in Paths admin panel (option for "When to use SSL").
+#: actions/pathsadminpanel.php:477 actions/snapshotadminpanel.php:202
 msgid "Never"
 msgstr "Nunca"
 
 msgid "Never"
 msgstr "Nunca"
 
-#: actions/pathsadminpanel.php:371
+#. TRANS: Drop down option in Paths admin panel (option for "When to use SSL").
+#: actions/pathsadminpanel.php:479
 msgid "Sometimes"
 msgstr "Às vezes"
 
 msgid "Sometimes"
 msgstr "Às vezes"
 
-#: actions/pathsadminpanel.php:372
+#. TRANS: Drop down option in Paths admin panel (option for "When to use SSL").
+#: actions/pathsadminpanel.php:481
 msgid "Always"
 msgstr "Sempre"
 
 msgid "Always"
 msgstr "Sempre"
 
-#: actions/pathsadminpanel.php:374
+#: actions/pathsadminpanel.php:485
 msgid "Use SSL"
 msgstr "Usar SSL"
 
 msgid "Use SSL"
 msgstr "Usar SSL"
 
-#: actions/pathsadminpanel.php:375
-msgid "When to use SSL"
+#. TRANS: Tooltip for field label in Paths admin panel.
+#: actions/pathsadminpanel.php:487
+#, fuzzy
+msgid "When to use SSL."
 msgstr "Quando usar SSL"
 
 msgstr "Quando usar SSL"
 
-#: actions/pathsadminpanel.php:381
-msgid "Server to direct SSL requests to"
+#. TRANS: Tooltip for field label in Paths admin panel.
+#: actions/pathsadminpanel.php:497
+#, fuzzy
+msgid "Server to direct SSL requests to."
 msgstr "Servidor para onde encaminhar pedidos SSL"
 
 msgstr "Servidor para onde encaminhar pedidos SSL"
 
-#: actions/pathsadminpanel.php:397
+#. TRANS: Button title text to store form data in the Paths admin panel.
+#: actions/pathsadminpanel.php:514
 msgid "Save paths"
 msgstr "Gravar localizações"
 
 msgid "Save paths"
 msgstr "Gravar localizações"
 
@@ -3191,142 +4372,195 @@ msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’.
 msgstr ""
 "A licença ‘%1$s’ da nota não é compatível com a licença ‘%2$s’ do site."
 
 msgstr ""
 "A licença ‘%1$s’ da nota não é compatível com a licença ‘%2$s’ do site."
 
-#: actions/profilesettings.php:60
+#. TRANS: Page title for profile settings.
+#: actions/profilesettings.php:59
 msgid "Profile settings"
 msgstr "Configurações do perfil"
 
 msgid "Profile settings"
 msgstr "Configurações do perfil"
 
-#: actions/profilesettings.php:71
+#. TRANS: Usage instructions for profile settings.
+#: actions/profilesettings.php:70
 msgid ""
 "You can update your personal profile info here so people know more about you."
 msgstr ""
 "Pode actualizar aqui a informação do seu perfil pessoal, para que as pessoas "
 "saibam mais sobre si."
 
 msgid ""
 "You can update your personal profile info here so people know more about you."
 msgstr ""
 "Pode actualizar aqui a informação do seu perfil pessoal, para que as pessoas "
 "saibam mais sobre si."
 
-#: actions/profilesettings.php:99
+#. TRANS: Profile settings form legend.
+#: actions/profilesettings.php:98
 msgid "Profile information"
 msgstr "Informação do perfil"
 
 msgid "Profile information"
 msgstr "Informação do perfil"
 
-#: actions/profilesettings.php:108 lib/groupeditform.php:154
-msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+#. TRANS: Tooltip for field label in form for profile settings.
+#: actions/profilesettings.php:109 actions/register.php:433
+#: lib/groupeditform.php:146
+#, fuzzy
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1-64 letras minúsculas ou números, sem pontuação ou espaços"
 
 msgstr "1-64 letras minúsculas ou números, sem pontuação ou espaços"
 
-#: actions/profilesettings.php:111 actions/register.php:455
-#: actions/showgroup.php:256 actions/tagother.php:104
-#: lib/groupeditform.php:157 lib/userprofile.php:150
+#. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
+#. TRANS: DT for full name in a profile.
+#: actions/profilesettings.php:113 actions/register.php:455
+#: actions/showgroup.php:252 actions/tagother.php:104
+#: lib/groupeditform.php:149 lib/userprofile.php:156
 msgid "Full name"
 msgstr "Nome completo"
 
 msgid "Full name"
 msgstr "Nome completo"
 
+#. TRANS: Field label in form for profile settings.
 #. TRANS: Form input field label.
 #. TRANS: Form input field label.
-#: actions/profilesettings.php:115 actions/register.php:460
-#: lib/applicationeditform.php:236 lib/groupeditform.php:161
+#: actions/profilesettings.php:118 actions/register.php:460
+#: lib/applicationeditform.php:236 lib/groupeditform.php:153
 msgid "Homepage"
 msgstr "Página pessoal"
 
 msgid "Homepage"
 msgstr "Página pessoal"
 
-#: actions/profilesettings.php:117 actions/register.php:462
-msgid "URL of your homepage, blog, or profile on another site"
+#. TRANS: Tooltip for field label in form for profile settings.
+#: actions/profilesettings.php:121
+#, fuzzy
+msgid "URL of your homepage, blog, or profile on another site."
 msgstr "URL da sua página pessoal, blogue ou perfil noutro site na internet"
 
 msgstr "URL da sua página pessoal, blogue ou perfil noutro site na internet"
 
-#: actions/profilesettings.php:122 actions/register.php:468
-#, php-format
-msgid "Describe yourself and your interests in %d chars"
-msgstr "Descreva-se e aos seus interesses (máx. 140 caracteres)"
+#. TRANS: Tooltip for field label in form for profile settings. Plural
+#. TRANS: is decided by the number of characters available for the
+#. TRANS: biography (%d).
+#: actions/profilesettings.php:129 actions/register.php:471
+#, fuzzy, php-format
+msgid "Describe yourself and your interests in %d character"
+msgid_plural "Describe yourself and your interests in %d characters"
+msgstr[0] "Descreva-se e aos seus interesses (máx. 140 caracteres)"
+msgstr[1] "Descreva-se e aos seus interesses (máx. 140 caracteres)"
 
 
-#: actions/profilesettings.php:125 actions/register.php:471
+#. TRANS: Tooltip for field label in form for profile settings.
+#: actions/profilesettings.php:135 actions/register.php:476
 msgid "Describe yourself and your interests"
 msgstr "Descreva-se e aos seus interesses"
 
 msgid "Describe yourself and your interests"
 msgstr "Descreva-se e aos seus interesses"
 
-#: actions/profilesettings.php:127 actions/register.php:473
+#. TRANS: Text area label in form for profile settings where users can provide.
+#. TRANS: their biography.
+#: actions/profilesettings.php:139 actions/register.php:478
 msgid "Bio"
 msgstr "Biografia"
 
 msgid "Bio"
 msgstr "Biografia"
 
-#: actions/profilesettings.php:132 actions/register.php:478
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
-#: lib/userprofile.php:165
+#. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
+#. TRANS: DT for location in a profile.
+#: actions/profilesettings.php:145 actions/register.php:483
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:172
+#: lib/userprofile.php:172
 msgid "Location"
 msgstr "Localidade"
 
 msgid "Location"
 msgstr "Localidade"
 
-#: actions/profilesettings.php:134 actions/register.php:480
+#. TRANS: Tooltip for field label in form for profile settings.
+#: actions/profilesettings.php:148 actions/register.php:485
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Onde está, por ex. \"Cidade, Região, País\""
 
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr "Onde está, por ex. \"Cidade, Região, País\""
 
-#: actions/profilesettings.php:138
+#. TRANS: Checkbox label in form for profile settings.
+#: actions/profilesettings.php:153
 msgid "Share my current location when posting notices"
 msgstr "Compartilhar a minha localização presente ao publicar notas"
 
 msgid "Share my current location when posting notices"
 msgstr "Compartilhar a minha localização presente ao publicar notas"
 
-#: actions/profilesettings.php:145 actions/tagother.php:149
+#. TRANS: Field label in form for profile settings.
+#. TRANS: DT for tags in a profile.
+#: actions/profilesettings.php:161 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
-#: lib/subscriptionlist.php:108 lib/userprofile.php:210
+#: lib/subscriptionlist.php:108 lib/userprofile.php:220
 msgid "Tags"
 msgstr "Categorias"
 
 msgid "Tags"
 msgstr "Categorias"
 
-#: actions/profilesettings.php:147
+#. TRANS: Tooltip for field label in form for profile settings.
+#: actions/profilesettings.php:164
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 "Categorias para si (letras, números, -, ., _), separadas por vírgulas ou "
 "espaços"
 
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
 "Categorias para si (letras, números, -, ., _), separadas por vírgulas ou "
 "espaços"
 
-#: actions/profilesettings.php:151
+#. TRANS: Dropdownlist label in form for profile settings.
+#: actions/profilesettings.php:169
 msgid "Language"
 msgstr "Língua"
 
 msgid "Language"
 msgstr "Língua"
 
-#: actions/profilesettings.php:152
+#. TRANS: Tooltip for dropdown list label in form for profile settings.
+#: actions/profilesettings.php:171
 msgid "Preferred language"
 msgstr "Língua preferida"
 
 msgid "Preferred language"
 msgstr "Língua preferida"
 
-#: actions/profilesettings.php:161
+#. TRANS: Dropdownlist label in form for profile settings.
+#: actions/profilesettings.php:181
 msgid "Timezone"
 msgstr "Fuso horário"
 
 msgid "Timezone"
 msgstr "Fuso horário"
 
-#: actions/profilesettings.php:162
+#. TRANS: Tooltip for dropdown list label in form for profile settings.
+#: actions/profilesettings.php:183
 msgid "What timezone are you normally in?"
 msgstr "Em que fuso horário se encontra normalmente?"
 
 msgid "What timezone are you normally in?"
 msgstr "Em que fuso horário se encontra normalmente?"
 
-#: actions/profilesettings.php:167
+#. TRANS: Checkbox label in form for profile settings.
+#: actions/profilesettings.php:189
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr "Subscrever automaticamente quem me subscreva (óptimo para não-humanos)"
 
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr "Subscrever automaticamente quem me subscreva (óptimo para não-humanos)"
 
-#: actions/profilesettings.php:228 actions/register.php:230
-#, php-format
-msgid "Bio is too long (max %d chars)."
-msgstr "Biografia demasiado extensa (máx. %d caracteres)."
+#. TRANS: Validation error in form for profile settings.
+#. TRANS: Plural form is used based on the maximum number of allowed
+#. TRANS: characters for the biography (%d).
+#: actions/profilesettings.php:258 actions/register.php:229
+#, fuzzy, php-format
+msgid "Bio is too long (maximum %d character)."
+msgid_plural "Bio is too long (maximum %d characters)."
+msgstr[0] "Biografia demasiado extensa (máx. %d caracteres)."
+msgstr[1] "Biografia demasiado extensa (máx. %d caracteres)."
 
 
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
+#. TRANS: Validation error in form for profile settings.
+#: actions/profilesettings.php:269 actions/siteadminpanel.php:151
 msgid "Timezone not selected."
 msgstr "Fuso horário não foi seleccionado."
 
 msgid "Timezone not selected."
 msgstr "Fuso horário não foi seleccionado."
 
-#: actions/profilesettings.php:241
-msgid "Language is too long (max 50 chars)."
+#. TRANS: Validation error in form for profile settings.
+#: actions/profilesettings.php:277
+#, fuzzy
+msgid "Language is too long (maximum 50 characters)."
 msgstr "Língua é demasiado extensa (máx. 50 caracteres)."
 
 msgstr "Língua é demasiado extensa (máx. 50 caracteres)."
 
-#: actions/profilesettings.php:253 actions/tagother.php:178
+#. TRANS: Validation error in form for profile settings.
+#. TRANS: %s is an invalid tag.
+#: actions/profilesettings.php:291 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Categoria inválida: \"%s\""
 
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Categoria inválida: \"%s\""
 
-#: actions/profilesettings.php:306
-msgid "Couldn't update user for autosubscribe."
+#. TRANS: Server error thrown when user profile settings could not be updated to
+#. TRANS: automatically subscribe to any subscriber.
+#: actions/profilesettings.php:347
+#, fuzzy
+msgid "Could not update user for autosubscribe."
 msgstr "Não foi possível actualizar o utilizador para subscrição automática."
 
 msgstr "Não foi possível actualizar o utilizador para subscrição automática."
 
-#: actions/profilesettings.php:363
-msgid "Couldn't save location prefs."
+#. TRANS: Server error thrown when user profile location preference settings could not be updated.
+#: actions/profilesettings.php:405
+#, fuzzy
+msgid "Could not save location prefs."
 msgstr "Não foi possível gravar as preferências de localização."
 
 msgstr "Não foi possível gravar as preferências de localização."
 
-#: actions/profilesettings.php:375
-msgid "Couldn't save profile."
-msgstr "Não foi possível gravar o perfil."
-
-#: actions/profilesettings.php:383
-msgid "Couldn't save tags."
+#. TRANS: Server error thrown when user profile settings tags could not be saved.
+#: actions/profilesettings.php:427 actions/tagother.php:200
+msgid "Could not save tags."
 msgstr "Não foi possível gravar as categorias."
 
 msgstr "Não foi possível gravar as categorias."
 
+#. TRANS: Confirmation shown when user profile settings are saved.
 #. TRANS: Message after successful saving of administrative settings.
 #. TRANS: Message after successful saving of administrative settings.
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:138
+#: actions/profilesettings.php:436 lib/adminpanelaction.php:138
 msgid "Settings saved."
 msgstr "Configurações gravadas."
 
 msgid "Settings saved."
 msgstr "Configurações gravadas."
 
+#. TRANS: Option in profile settings to restore the account of the currently logged in user from a backup.
+#. TRANS: Page title for page where a user account can be restored from backup.
+#: actions/profilesettings.php:483 actions/restoreaccount.php:60
+#, fuzzy
+msgid "Restore account"
+msgstr "Criar uma conta"
+
 #: actions/public.php:83
 #, php-format
 msgid "Beyond the page limit (%s)."
 #: actions/public.php:83
 #, php-format
 msgid "Beyond the page limit (%s)."
@@ -3402,25 +4636,38 @@ msgstr ""
 "wikipedia.org/wiki/Micro-blogging) baseado no programa de Software Livre "
 "[StatusNet](http://status.net/)."
 
 "wikipedia.org/wiki/Micro-blogging) baseado no programa de Software Livre "
 "[StatusNet](http://status.net/)."
 
+#. TRANS: Title for public tag cloud.
 #: actions/publictagcloud.php:57
 msgid "Public tag cloud"
 msgstr "Nuvem de categorias pública"
 
 #: actions/publictagcloud.php:57
 msgid "Public tag cloud"
 msgstr "Nuvem de categorias pública"
 
-#: actions/publictagcloud.php:63
-#, php-format
-msgid "These are most popular recent tags on %s "
+#. TRANS: Instructions (more used like an explanation/header).
+#. TRANS: %s is the StatusNet sitename.
+#: actions/publictagcloud.php:65
+#, fuzzy, php-format
+msgid "These are most popular recent tags on %s"
 msgstr "Estas são as categorias recentes mais populares em %s "
 
 msgstr "Estas são as categorias recentes mais populares em %s "
 
-#: actions/publictagcloud.php:69
+#. TRANS: This message contains a Markdown URL. The link description is between
+#. TRANS: square brackets, and the link between parentheses. Do not separate "]("
+#. TRANS: and do not change the URL part.
+#: actions/publictagcloud.php:74
 #, php-format
 msgid "No one has posted a notice with a [hashtag](%%doc.tags%%) yet."
 msgstr "Ainda ninguém publicou uma nota com uma [categoria](%%doc.tags%%)."
 
 #, php-format
 msgid "No one has posted a notice with a [hashtag](%%doc.tags%%) yet."
 msgstr "Ainda ninguém publicou uma nota com uma [categoria](%%doc.tags%%)."
 
-#: actions/publictagcloud.php:72
+#. TRANS: Message shown to a logged in user for the public tag cloud
+#. TRANS: while no tags exist yet. "One" refers to the non-existing hashtag.
+#: actions/publictagcloud.php:79
 msgid "Be the first to post one!"
 msgstr "Seja a primeira pessoa a publicar uma!"
 
 msgid "Be the first to post one!"
 msgstr "Seja a primeira pessoa a publicar uma!"
 
-#: actions/publictagcloud.php:75
+#. TRANS: Message shown to a anonymous user for the public tag cloud
+#. TRANS: while no tags exist yet. "One" refers to the non-existing hashtag.
+#. TRANS: This message contains a Markdown URL. The link description is between
+#. TRANS: square brackets, and the link between parentheses. Do not separate "]("
+#. TRANS: and do not change the URL part.
+#: actions/publictagcloud.php:87
 #, php-format
 msgid ""
 "Why not [register an account](%%action.register%%) and be the first to post "
 #, php-format
 msgid ""
 "Why not [register an account](%%action.register%%) and be the first to post "
@@ -3429,41 +4676,49 @@ msgstr ""
 "Podia [registar uma conta](%%action.register%%) e ser a primeira pessoa a "
 "publicar uma!"
 
 "Podia [registar uma conta](%%action.register%%) e ser a primeira pessoa a "
 "publicar uma!"
 
-#: actions/publictagcloud.php:134
+#: actions/publictagcloud.php:146
 msgid "Tag cloud"
 msgstr "Nuvem de categorias"
 
 msgid "Tag cloud"
 msgstr "Nuvem de categorias"
 
-#: actions/recoverpassword.php:36
+#. TRANS: Client error displayed trying to recover password while already logged in.
+#: actions/recoverpassword.php:37
 msgid "You are already logged in!"
 msgstr "Já tem uma sessão iniciada!"
 
 msgid "You are already logged in!"
 msgstr "Já tem uma sessão iniciada!"
 
-#: actions/recoverpassword.php:62
+#. TRANS: Client error displayed when password recovery code is not correct.
+#: actions/recoverpassword.php:64
 msgid "No such recovery code."
 msgstr "Código de recuperação não foi encontrado."
 
 msgid "No such recovery code."
 msgstr "Código de recuperação não foi encontrado."
 
-#: actions/recoverpassword.php:66
+#. TRANS: Client error displayed when no proper password recovery code was submitted.
+#: actions/recoverpassword.php:69
 msgid "Not a recovery code."
 msgstr "Não é um código de recuperação."
 
 msgid "Not a recovery code."
 msgstr "Não é um código de recuperação."
 
-#: actions/recoverpassword.php:73
+#. TRANS: Server error displayed trying to recover password without providing a user.
+#: actions/recoverpassword.php:77
 msgid "Recovery code for unknown user."
 msgstr "Código de recuperação para um utilizador desconhecido."
 
 msgid "Recovery code for unknown user."
 msgstr "Código de recuperação para um utilizador desconhecido."
 
-#: actions/recoverpassword.php:86
+#. TRANS: Server error displayed removing a password recovery code from the database.
+#: actions/recoverpassword.php:91
 msgid "Error with confirmation code."
 msgstr "Erro no código de confirmação."
 
 msgid "Error with confirmation code."
 msgstr "Erro no código de confirmação."
 
-#: actions/recoverpassword.php:97
+#. TRANS: Client error displayed trying to recover password with too old a recovery code.
+#: actions/recoverpassword.php:103
 msgid "This confirmation code is too old. Please start again."
 msgstr "Este código de confirmação é demasiado antigo. Por favor, recomece."
 
 msgid "This confirmation code is too old. Please start again."
 msgstr "Este código de confirmação é demasiado antigo. Por favor, recomece."
 
-#: actions/recoverpassword.php:111
+#. TRANS: Server error displayed when updating a user's e-mail address in the database fails while recovering a password.
+#: actions/recoverpassword.php:118
 msgid "Could not update user with confirmed email address."
 msgstr ""
 "Não foi possivel actualizar o utilizador com um correio electrónico "
 "confirmado."
 
 msgid "Could not update user with confirmed email address."
 msgstr ""
 "Não foi possivel actualizar o utilizador com um correio electrónico "
 "confirmado."
 
-#: actions/recoverpassword.php:152
+#. TRANS: Page notice for password recovery page.
+#: actions/recoverpassword.php:160
 msgid ""
 "If you have forgotten or lost your password, you can get a new one sent to "
 "the email address you have stored in your account."
 msgid ""
 "If you have forgotten or lost your password, you can get a new one sent to "
 "the email address you have stored in your account."
@@ -3471,69 +4726,102 @@ msgstr ""
 "Se perdeu ou se esqueceu da sua senha, podemos enviar-lhe uma nova para o "
 "correio electrónico registado na sua conta."
 
 "Se perdeu ou se esqueceu da sua senha, podemos enviar-lhe uma nova para o "
 "correio electrónico registado na sua conta."
 
-#: actions/recoverpassword.php:158
-msgid "You have been identified. Enter a new password below. "
-msgstr "Identificação positiva. Introduza abaixo uma senha nova. "
+#: actions/recoverpassword.php:167
+msgid "You have been identified. Enter a new password below."
+msgstr "Identificação positiva. Introduza abaixo uma senha nova."
 
 
-#: actions/recoverpassword.php:188
+#. TRANS: Fieldset legend for password recovery page.
+#: actions/recoverpassword.php:198
 msgid "Password recovery"
 msgstr "Recuperação da senha"
 
 msgid "Password recovery"
 msgstr "Recuperação da senha"
 
-#: actions/recoverpassword.php:191
+#. TRANS: Field label on password recovery page.
+#: actions/recoverpassword.php:202
 msgid "Nickname or email address"
 msgstr "Utilizador ou endereço de correio electrónico"
 
 msgid "Nickname or email address"
 msgstr "Utilizador ou endereço de correio electrónico"
 
-#: actions/recoverpassword.php:193
+#. TRANS: Title for field label on password recovery page.
+#: actions/recoverpassword.php:205
 msgid "Your nickname on this server, or your registered email address."
 msgstr ""
 "O seu utilizador neste servidor, ou o seu correio electrónico registado."
 
 msgid "Your nickname on this server, or your registered email address."
 msgstr ""
 "O seu utilizador neste servidor, ou o seu correio electrónico registado."
 
-#: actions/recoverpassword.php:199 actions/recoverpassword.php:200
+#. TRANS: Field label on password recovery page.
+#: actions/recoverpassword.php:212
+msgid "Recover"
+msgstr "Recuperar"
+
+#. TRANS: Button text on password recovery page.
+#: actions/recoverpassword.php:214
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Recover"
 msgstr "Recuperar"
 
 msgid "Recover"
 msgstr "Recuperar"
 
-#: actions/recoverpassword.php:208
+#. TRANS: Title for password recovery page in password reset mode.
+#: actions/recoverpassword.php:223
 msgid "Reset password"
 msgstr "Reiniciar senha"
 
 msgid "Reset password"
 msgstr "Reiniciar senha"
 
-#: actions/recoverpassword.php:209
+#. TRANS: Title for password recovery page in password recover mode.
+#: actions/recoverpassword.php:225
 msgid "Recover password"
 msgstr "Recuperar senha"
 
 msgid "Recover password"
 msgstr "Recuperar senha"
 
-#: actions/recoverpassword.php:210 actions/recoverpassword.php:335
+#. TRANS: Title for password recovery page in email sent mode.
+#. TRANS: Subject for password recovery e-mail.
+#: actions/recoverpassword.php:227 actions/recoverpassword.php:366
 msgid "Password recovery requested"
 msgstr "Solicitada recuperação da senha"
 
 msgid "Password recovery requested"
 msgstr "Solicitada recuperação da senha"
 
-#: actions/recoverpassword.php:213
+#. TRANS: Title for password recovery page when an unknown action has been specified.
+#: actions/recoverpassword.php:232
 msgid "Unknown action"
 msgstr "Acção desconhecida"
 
 msgid "Unknown action"
 msgstr "Acção desconhecida"
 
-#: actions/recoverpassword.php:236
-msgid "6 or more characters, and don't forget it!"
+#. TRANS: Title for field label for password reset form.
+#: actions/recoverpassword.php:258
+#, fuzzy
+msgid "6 or more characters, and do not forget it!"
 msgstr "6 ou mais caracteres, e não a esqueça!"
 
 msgstr "6 ou mais caracteres, e não a esqueça!"
 
-#: actions/recoverpassword.php:243
+#. TRANS: Ttile for field label for password reset form where the password has to be typed again.
+#: actions/recoverpassword.php:264 actions/register.php:441
+#, fuzzy
+msgid "Same as password above."
+msgstr "Repita a senha nova"
+
+#. TRANS: Button text for password reset form.
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: actions/recoverpassword.php:268 lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Reset"
 msgstr "Reiniciar"
 
 msgid "Reset"
 msgstr "Reiniciar"
 
-#: actions/recoverpassword.php:252
+#. TRANS: Form instructions for password recovery form.
+#: actions/recoverpassword.php:278
 msgid "Enter a nickname or email address."
 msgstr "Introduza um utilizador ou um endereço de correio electrónico."
 
 msgid "Enter a nickname or email address."
 msgstr "Introduza um utilizador ou um endereço de correio electrónico."
 
-#: actions/recoverpassword.php:282
+#. TRANS: Information on password recovery form if no known username or e-mail address was specified.
+#: actions/recoverpassword.php:309
 msgid "No user with that email address or username."
 msgstr ""
 "Não existe nenhum utilizador com esse correio electrónico nem com esse nome."
 
 msgid "No user with that email address or username."
 msgstr ""
 "Não existe nenhum utilizador com esse correio electrónico nem com esse nome."
 
-#: actions/recoverpassword.php:299
+#. TRANS: Client error displayed on password recovery form if a user does not have a registered e-mail address.
+#: actions/recoverpassword.php:327
 msgid "No registered email address for that user."
 msgstr "Nenhum endereço de email registado para esse utilizador."
 
 msgid "No registered email address for that user."
 msgstr "Nenhum endereço de email registado para esse utilizador."
 
-#: actions/recoverpassword.php:313
+#. TRANS: Server error displayed if e-mail address confirmation fails in the database on the password recovery form.
+#: actions/recoverpassword.php:342
 msgid "Error saving address confirmation."
 msgstr "Erro ao guardar confirmação do endereço."
 
 msgid "Error saving address confirmation."
 msgstr "Erro ao guardar confirmação do endereço."
 
-#: actions/recoverpassword.php:338
+#. TRANS: User notification after an e-mail with instructions was sent from the password recovery form.
+#: actions/recoverpassword.php:370
 msgid ""
 "Instructions for recovering your password have been sent to the email "
 "address registered to your account."
 msgid ""
 "Instructions for recovering your password have been sent to the email "
 "address registered to your account."
@@ -3541,27 +4829,39 @@ msgstr ""
 "Instruções para recuperação da sua senha foram enviadas para o correio "
 "electrónico registado na sua conta."
 
 "Instruções para recuperação da sua senha foram enviadas para o correio "
 "electrónico registado na sua conta."
 
-#: actions/recoverpassword.php:357
+#. TRANS: Client error displayed when trying to reset as password without providing a user.
+#: actions/recoverpassword.php:391
 msgid "Unexpected password reset."
 msgstr "Reinício inesperado da senha."
 
 msgid "Unexpected password reset."
 msgstr "Reinício inesperado da senha."
 
-#: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#. TRANS: Reset password form validation error message.
+#: actions/recoverpassword.php:400
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "Senha tem de ter 6 ou mais caracteres."
 
 msgstr "Senha tem de ter 6 ou mais caracteres."
 
-#: actions/recoverpassword.php:369
+#. TRANS: Reset password form validation error message.
+#: actions/recoverpassword.php:405
 msgid "Password and confirmation do not match."
 msgstr "A senha e a confirmação não coincidem."
 
 msgid "Password and confirmation do not match."
 msgstr "A senha e a confirmação não coincidem."
 
-#: actions/recoverpassword.php:388 actions/register.php:255
+#. TRANS: Reset password form validation error message.
+#: actions/recoverpassword.php:418
+#, fuzzy
+msgid "Cannot save new password."
+msgstr "Não é possível guardar a nova senha."
+
+#. TRANS: Server error displayed when something does wrong with the user object during password reset.
+#: actions/recoverpassword.php:426 actions/register.php:256
 msgid "Error setting user."
 msgstr "Erro ao configurar utilizador."
 
 msgid "Error setting user."
 msgstr "Erro ao configurar utilizador."
 
-#: actions/recoverpassword.php:395
+#. TRANS: Success message for user after password reset.
+#: actions/recoverpassword.php:434
 msgid "New password successfully saved. You are now logged in."
 msgstr "A senha nova foi gravada com sucesso. Iniciou uma sessão."
 
 msgid "New password successfully saved. You are now logged in."
 msgstr "A senha nova foi gravada com sucesso. Iniciou uma sessão."
 
-#: actions/register.php:92 actions/register.php:196 actions/register.php:412
+#: actions/register.php:92 actions/register.php:196 actions/register.php:413
 msgid "Sorry, only invited people can register."
 msgstr "Desculpe, só pessoas convidadas se podem registar."
 
 msgid "Sorry, only invited people can register."
 msgstr "Desculpe, só pessoas convidadas se podem registar."
 
@@ -3573,7 +4873,7 @@ msgstr "Desculpe, código de convite inválido."
 msgid "Registration successful"
 msgstr "Registo efectuado"
 
 msgid "Registration successful"
 msgstr "Registo efectuado"
 
-#: actions/register.php:121 actions/register.php:506 lib/logingroupnav.php:85
+#: actions/register.php:121 actions/register.php:511
 msgid "Register"
 msgstr "Registar"
 
 msgid "Register"
 msgstr "Registar"
 
@@ -3581,19 +4881,19 @@ msgstr "Registar"
 msgid "Registration not allowed."
 msgstr "Registo não é permitido."
 
 msgid "Registration not allowed."
 msgstr "Registo não é permitido."
 
-#: actions/register.php:205
+#: actions/register.php:209
 msgid "You can't register if you don't agree to the license."
 msgstr "Não se pode registar se não aceita a licença."
 
 msgid "You can't register if you don't agree to the license."
 msgstr "Não se pode registar se não aceita a licença."
 
-#: actions/register.php:219
+#: actions/register.php:218
 msgid "Email address already exists."
 msgstr "Correio electrónico já existe."
 
 msgid "Email address already exists."
 msgstr "Correio electrónico já existe."
 
-#: actions/register.php:250 actions/register.php:272
+#: actions/register.php:251 actions/register.php:273
 msgid "Invalid username or password."
 msgstr "Nome de utilizador ou senha inválidos."
 
 msgid "Invalid username or password."
 msgstr "Nome de utilizador ou senha inválidos."
 
-#: actions/register.php:350
+#: actions/register.php:351
 msgid ""
 "With this form you can create a new account. You can then post notices and "
 "link up to friends and colleagues. "
 msgid ""
 "With this form you can create a new account. You can then post notices and "
 "link up to friends and colleagues. "
@@ -3601,18 +4901,10 @@ msgstr ""
 "Com este formulário pode criar uma conta nova. Poderá então publicar notas e "
 "ligar-se a amigos e colegas. "
 
 "Com este formulário pode criar uma conta nova. Poderá então publicar notas e "
 "ligar-se a amigos e colegas. "
 
-#: actions/register.php:432
-msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
-msgstr ""
-"1-64 letras minúsculas ou números, sem pontuação ou espaços. Obrigatório."
-
 #: actions/register.php:437
 #: actions/register.php:437
-msgid "6 or more characters. Required."
-msgstr "6 ou mais caracteres. Obrigatório."
-
-#: actions/register.php:441
-msgid "Same as password above. Required."
-msgstr "Repita a senha acima. Obrigatório."
+#, fuzzy
+msgid "6 or more characters."
+msgstr "6 ou mais caracteres"
 
 #. TRANS: Link description in user account settings menu.
 #: actions/register.php:445 actions/register.php:449
 
 #. TRANS: Link description in user account settings menu.
 #: actions/register.php:445 actions/register.php:449
@@ -3628,33 +4920,37 @@ msgstr "Usado apenas para actualizações, anúncios e recuperação da senha"
 msgid "Longer name, preferably your \"real\" name"
 msgstr "Nome mais longo, de preferência o seu nome \"verdadeiro\""
 
 msgid "Longer name, preferably your \"real\" name"
 msgstr "Nome mais longo, de preferência o seu nome \"verdadeiro\""
 
-#: actions/register.php:518
+#: actions/register.php:462
+msgid "URL of your homepage, blog, or profile on another site"
+msgstr "URL da sua página pessoal, blogue ou perfil noutro site na internet"
+
+#: actions/register.php:523
 #, php-format
 msgid ""
 "I understand that content and data of %1$s are private and confidential."
 msgstr ""
 "Compreendo que o conteúdo e dados do site %1$s são privados e confidenciais."
 
 #, php-format
 msgid ""
 "I understand that content and data of %1$s are private and confidential."
 msgstr ""
 "Compreendo que o conteúdo e dados do site %1$s são privados e confidenciais."
 
-#: actions/register.php:528
+#: actions/register.php:533
 #, php-format
 msgid "My text and files are copyright by %1$s."
 msgstr ""
 "Os meus textos e ficheiros estão protegidos pelos direitos de autor de %1$s."
 
 #. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
 #, php-format
 msgid "My text and files are copyright by %1$s."
 msgstr ""
 "Os meus textos e ficheiros estão protegidos pelos direitos de autor de %1$s."
 
 #. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
-#: actions/register.php:532
+#: actions/register.php:537
 msgid "My text and files remain under my own copyright."
 msgstr ""
 "Os meus textos e ficheiros permanecem protegidos pelos meus próprios "
 "direitos de autor."
 
 #. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
 msgid "My text and files remain under my own copyright."
 msgstr ""
 "Os meus textos e ficheiros permanecem protegidos pelos meus próprios "
 "direitos de autor."
 
 #. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
-#: actions/register.php:535
+#: actions/register.php:540
 msgid "All rights reserved."
 msgstr "Todos os direitos reservados."
 
 #. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
 msgid "All rights reserved."
 msgstr "Todos os direitos reservados."
 
 #. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
-#: actions/register.php:540
+#: actions/register.php:545
 #, php-format
 msgid ""
 "My text and files are available under %s except this private data: password, "
 #, php-format
 msgid ""
 "My text and files are available under %s except this private data: password, "
@@ -3664,7 +4960,7 @@ msgstr ""
 "estes dados privados: senha, endereço de correio electrónico, endereço de "
 "mensageiro instantâneo, número de telefone."
 
 "estes dados privados: senha, endereço de correio electrónico, endereço de "
 "mensageiro instantâneo, número de telefone."
 
-#: actions/register.php:583
+#: actions/register.php:588
 #, php-format
 msgid ""
 "Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
 #, php-format
 msgid ""
 "Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3697,7 +4993,7 @@ msgstr ""
 "\n"
 "Obrigado por se ter registado e esperamos que se divirta usando este serviço."
 
 "\n"
 "Obrigado por se ter registado e esperamos que se divirta usando este serviço."
 
-#: actions/register.php:607
+#: actions/register.php:612
 msgid ""
 "(You should receive a message by email momentarily, with instructions on how "
 "to confirm your email address.)"
 msgid ""
 "(You should receive a message by email momentarily, with instructions on how "
 "to confirm your email address.)"
@@ -3705,7 +5001,7 @@ msgstr ""
 "(Deverá receber uma mensagem electrónica dentro de momentos, com instruções "
 "para confirmar o seu endereço de correio electrónico.)"
 
 "(Deverá receber uma mensagem electrónica dentro de momentos, com instruções "
 "para confirmar o seu endereço de correio electrónico.)"
 
-#: actions/remotesubscribe.php:98
+#: actions/remotesubscribe.php:97
 #, php-format
 msgid ""
 "To subscribe, you can [login](%%action.login%%), or [register](%%action."
 #, php-format
 msgid ""
 "To subscribe, you can [login](%%action.login%%), or [register](%%action."
@@ -3717,79 +5013,84 @@ msgstr ""
 "microblogues compatível](%%doc.openmublog%%), introduza abaixo a URL do seu "
 "perfil lá."
 
 "microblogues compatível](%%doc.openmublog%%), introduza abaixo a URL do seu "
 "perfil lá."
 
-#: actions/remotesubscribe.php:112
+#: actions/remotesubscribe.php:111
 msgid "Remote subscribe"
 msgstr "Subscrição remota"
 
 msgid "Remote subscribe"
 msgstr "Subscrição remota"
 
-#: actions/remotesubscribe.php:124
+#: actions/remotesubscribe.php:123
 msgid "Subscribe to a remote user"
 msgstr "Subscrever um utilizador remoto"
 
 msgid "Subscribe to a remote user"
 msgstr "Subscrever um utilizador remoto"
 
-#: actions/remotesubscribe.php:129
+#: actions/remotesubscribe.php:128
 msgid "User nickname"
 msgstr "Nome do utilizador"
 
 msgid "User nickname"
 msgstr "Nome do utilizador"
 
-#: actions/remotesubscribe.php:130
+#: actions/remotesubscribe.php:129
 msgid "Nickname of the user you want to follow"
 msgstr "Nome do utilizador que pretende seguir"
 
 msgid "Nickname of the user you want to follow"
 msgstr "Nome do utilizador que pretende seguir"
 
-#: actions/remotesubscribe.php:133
+#: actions/remotesubscribe.php:132
 msgid "Profile URL"
 msgstr "URL do perfil"
 
 msgid "Profile URL"
 msgstr "URL do perfil"
 
-#: actions/remotesubscribe.php:134
+#: actions/remotesubscribe.php:133
 msgid "URL of your profile on another compatible microblogging service"
 msgstr "URL do seu perfil noutro serviço de microblogues compatível"
 
 msgid "URL of your profile on another compatible microblogging service"
 msgstr "URL do seu perfil noutro serviço de microblogues compatível"
 
-#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:406
+#. TRANS: Link text for link that will subscribe to a remote profile.
+#: actions/remotesubscribe.php:136 lib/subscribeform.php:139
+#: lib/userprofile.php:431
 msgid "Subscribe"
 msgstr "Subscrever"
 
 msgid "Subscribe"
 msgstr "Subscrever"
 
-#: actions/remotesubscribe.php:159
+#: actions/remotesubscribe.php:158
 msgid "Invalid profile URL (bad format)"
 msgstr "URL de perfil inválido (formato incorrecto)"
 
 msgid "Invalid profile URL (bad format)"
 msgstr "URL de perfil inválido (formato incorrecto)"
 
-#: actions/remotesubscribe.php:168
+#: actions/remotesubscribe.php:167
 msgid "Not a valid profile URL (no YADIS document or invalid XRDS defined)."
 msgstr ""
 "URL do perfil não é válida (não há um documento Yadis, ou foi definido um "
 "XRDS inválido)."
 
 msgid "Not a valid profile URL (no YADIS document or invalid XRDS defined)."
 msgstr ""
 "URL do perfil não é válida (não há um documento Yadis, ou foi definido um "
 "XRDS inválido)."
 
-#: actions/remotesubscribe.php:176
-msgid "That’s a local profile! Login to subscribe."
+#: actions/remotesubscribe.php:175
+#, fuzzy
+msgid "That is a local profile! Login to subscribe."
 msgstr "Esse perfil é local! Inicie uma sessão para o subscrever."
 
 msgstr "Esse perfil é local! Inicie uma sessão para o subscrever."
 
-#: actions/remotesubscribe.php:183
-msgid "Couldn’t get a request token."
+#: actions/remotesubscribe.php:182
+#, fuzzy
+msgid "Could not get a request token."
 msgstr "Não foi possível obter uma chave de pedido."
 
 msgstr "Não foi possível obter uma chave de pedido."
 
-#: actions/repeat.php:57
+#: actions/repeat.php:56
 msgid "Only logged-in users can repeat notices."
 msgstr "Só utilizadores com sessão iniciada podem repetir notas."
 
 msgid "Only logged-in users can repeat notices."
 msgstr "Só utilizadores com sessão iniciada podem repetir notas."
 
-#: actions/repeat.php:64 actions/repeat.php:71
+#: actions/repeat.php:63 actions/repeat.php:70
 msgid "No notice specified."
 msgstr "Nota não foi especificada."
 
 msgid "No notice specified."
 msgstr "Nota não foi especificada."
 
-#: actions/repeat.php:76
-msgid "You can't repeat your own notice."
+#: actions/repeat.php:75
+#, fuzzy
+msgid "You cannot repeat your own notice."
 msgstr "Não pode repetir a sua própria nota."
 
 msgstr "Não pode repetir a sua própria nota."
 
-#: actions/repeat.php:90
+#: actions/repeat.php:89
 msgid "You already repeated that notice."
 msgstr "Já repetiu essa nota."
 
 msgid "You already repeated that notice."
 msgstr "Já repetiu essa nota."
 
-#: actions/repeat.php:114 lib/noticelist.php:686
+#: actions/repeat.php:112 lib/noticelist.php:692
 msgid "Repeated"
 msgstr "Repetida"
 
 msgid "Repeated"
 msgstr "Repetida"
 
-#: actions/repeat.php:119
+#: actions/repeat.php:117
 msgid "Repeated!"
 msgstr "Repetida!"
 
 msgid "Repeated!"
 msgstr "Repetida!"
 
+#. TRANS: Tooltip for personal group navigation menu option when logged in for viewing @-replies.
 #: actions/replies.php:126 actions/repliesrss.php:68
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:109
 #, php-format
 msgid "Replies to %s"
 msgstr "Respostas a %s"
 #, php-format
 msgid "Replies to %s"
 msgstr "Respostas a %s"
@@ -3845,6 +5146,97 @@ msgstr ""
 msgid "Replies to %1$s on %2$s!"
 msgstr "Respostas a %1$s em %2$s!"
 
 msgid "Replies to %1$s on %2$s!"
 msgstr "Respostas a %1$s em %2$s!"
 
+#. TRANS: Client exception displayed when trying to restore an account while not logged in.
+#: actions/restoreaccount.php:78
+#, fuzzy
+msgid "Only logged-in users can restore their account."
+msgstr "Só utilizadores com sessão iniciada podem repetir notas."
+
+#. TRANS: Client exception displayed when trying to restore an account without having restore rights.
+#: actions/restoreaccount.php:83
+#, fuzzy
+msgid "You may not restore your account."
+msgstr "Ainda não registou nenhuma aplicação."
+
+#. TRANS: Client exception displayed trying to restore an account while something went wrong uploading a file.
+#. TRANS: Client exception. No file; probably just a non-AJAX submission.
+#: actions/restoreaccount.php:121 actions/restoreaccount.php:146
+#, fuzzy
+msgid "No uploaded file."
+msgstr "Carregar ficheiro"
+
+#. TRANS: Client exception thrown when an uploaded file is larger than set in php.ini.
+#: actions/restoreaccount.php:129 lib/mediafile.php:194
+msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini."
+msgstr "Ficheiro carregado excede a directiva upload_max_filesize no php.ini."
+
+#. TRANS: Client exception.
+#: actions/restoreaccount.php:135 lib/mediafile.php:200
+msgid ""
+"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
+"the HTML form."
+msgstr ""
+"Ficheiro carregado excede a directiva MAX_FILE_SIZE especificada no "
+"formulário HTML."
+
+#. TRANS: Client exception.
+#: actions/restoreaccount.php:141 lib/mediafile.php:206
+msgid "The uploaded file was only partially uploaded."
+msgstr "Ficheiro só foi parcialmente carregado."
+
+#. TRANS: Client exception thrown when a temporary folder is not present to store a file upload.
+#: actions/restoreaccount.php:150 lib/mediafile.php:214
+msgid "Missing a temporary folder."
+msgstr "Falta um directório temporário."
+
+#. TRANS: Client exception thrown when writing to disk is not possible during a file upload operation.
+#: actions/restoreaccount.php:154 lib/mediafile.php:218
+msgid "Failed to write file to disk."
+msgstr "Não foi possível gravar o ficheiro no disco."
+
+#. TRANS: Client exception thrown when a file upload operation has been stopped by an extension.
+#: actions/restoreaccount.php:158 lib/mediafile.php:222
+msgid "File upload stopped by extension."
+msgstr "Transferência do ficheiro interrompida pela extensão."
+
+#. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
+#. TRANS: Exception thrown when uploading an image fails for an unknown reason.
+#. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
+#: actions/restoreaccount.php:164 lib/imagefile.php:106 lib/mediafile.php:228
+msgid "System error uploading file."
+msgstr "Ocorreu um erro de sistema ao transferir o ficheiro."
+
+#. TRANS: Client exception thrown when a feed is not an Atom feed.
+#: actions/restoreaccount.php:207
+#, fuzzy
+msgid "Not an Atom feed."
+msgstr "Todos os membros"
+
+#. TRANS: Success message when a feed has been restored.
+#: actions/restoreaccount.php:241
+msgid ""
+"Feed has been restored. Your old posts should now appear in search and your "
+"profile page."
+msgstr ""
+
+#. TRANS: Message when a feed restore is in progress.
+#: actions/restoreaccount.php:245
+msgid "Feed will be restored. Please wait a few minutes for results."
+msgstr ""
+
+#. TRANS: Form instructions for feed restore.
+#: actions/restoreaccount.php:342
+msgid ""
+"You can upload a backed-up stream in <a href=\"http://activitystrea.ms/"
+"\">Activity Streams</a> format."
+msgstr ""
+
+#. TRANS: Title for submit button to confirm upload of a user backup file for account restore.
+#: actions/restoreaccount.php:373
+#, fuzzy
+msgid "Upload the file"
+msgstr "Carregar ficheiro"
+
 #: actions/revokerole.php:75
 msgid "You cannot revoke user roles on this site."
 msgstr "Não pode retirar funções aos utilizadores neste site."
 #: actions/revokerole.php:75
 msgid "You cannot revoke user roles on this site."
 msgstr "Não pode retirar funções aos utilizadores neste site."
@@ -3921,12 +5313,14 @@ msgstr "Organização"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:167
 msgid "Description"
 msgstr "Descrição"
 
 msgid "Description"
 msgstr "Descrição"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
-#: lib/profileaction.php:187
+#. TRANS: Header for group statistics on a group page (h2).
+#. TRANS: H2 text for user statistics.
+#: actions/showapplication.php:192 actions/showgroup.php:448
+#: lib/profileaction.php:205
 msgid "Statistics"
 msgstr "Estatísticas"
 
 msgid "Statistics"
 msgstr "Estatísticas"
 
@@ -3943,6 +5337,12 @@ msgstr "Operações da aplicação"
 msgid "Reset key & secret"
 msgstr "Reiniciar chave e segredo"
 
 msgid "Reset key & secret"
 msgstr "Reiniciar chave e segredo"
 
+#. TRANS: Title of form for deleting a user.
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:64 lib/noticelist.php:673
+msgid "Delete"
+msgstr "Apagar"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Informação da aplicação"
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Informação da aplicação"
@@ -3980,31 +5380,38 @@ msgid "Are you sure you want to reset your consumer key and secret?"
 msgstr ""
 "Tem a certeza de que quer reiniciar a sua chave e segredo de consumidor?"
 
 msgstr ""
 "Tem a certeza de que quer reiniciar a sua chave e segredo de consumidor?"
 
-#: actions/showfavorites.php:79
+#. TRANS: Title for all but the first page of favourite notices of a user.
+#. TRANS: %1$s is the user for whom the favourite notices are displayed, %2$d is the page number.
+#: actions/showfavorites.php:80
 #, php-format
 msgid "%1$s's favorite notices, page %2$d"
 msgstr "Notas favoritas de %1$s, página %2$d"
 
 #, php-format
 msgid "%1$s's favorite notices, page %2$d"
 msgstr "Notas favoritas de %1$s, página %2$d"
 
-#: actions/showfavorites.php:132
+#. TRANS: Server error displayed when favourite notices could not be retrieved from the database.
+#: actions/showfavorites.php:134
 msgid "Could not retrieve favorite notices."
 msgstr "Não foi possível importar notas favoritas."
 
 msgid "Could not retrieve favorite notices."
 msgstr "Não foi possível importar notas favoritas."
 
-#: actions/showfavorites.php:171
+#. TRANS: Feed link text. %s is a username.
+#: actions/showfavorites.php:172
 #, php-format
 msgid "Feed for favorites of %s (RSS 1.0)"
 msgstr "Fonte dos favoritos de %s (RSS 1.0)"
 
 #, php-format
 msgid "Feed for favorites of %s (RSS 1.0)"
 msgstr "Fonte dos favoritos de %s (RSS 1.0)"
 
-#: actions/showfavorites.php:178
+#. TRANS: Feed link text. %s is a username.
+#: actions/showfavorites.php:180
 #, php-format
 msgid "Feed for favorites of %s (RSS 2.0)"
 msgstr "Fonte dos favoritos de %s (RSS 2.0)"
 
 #, php-format
 msgid "Feed for favorites of %s (RSS 2.0)"
 msgstr "Fonte dos favoritos de %s (RSS 2.0)"
 
-#: actions/showfavorites.php:185
+#. TRANS: Feed link text. %s is a username.
+#: actions/showfavorites.php:188
 #, php-format
 msgid "Feed for favorites of %s (Atom)"
 msgstr "Fonte dos favoritos de %s (Atom)"
 
 #, php-format
 msgid "Feed for favorites of %s (Atom)"
 msgstr "Fonte dos favoritos de %s (Atom)"
 
-#: actions/showfavorites.php:206
+#. TRANS: Text displayed instead of favourite notices for the current logged in user that has no favourites.
+#: actions/showfavorites.php:209
 msgid ""
 "You haven't chosen any favorite notices yet. Click the fave button on "
 "notices you like to bookmark them for later or shed a spotlight on them."
 msgid ""
 "You haven't chosen any favorite notices yet. Click the fave button on "
 "notices you like to bookmark them for later or shed a spotlight on them."
@@ -4013,7 +5420,9 @@ msgstr ""
 "notas de que goste, para marcá-las para mais tarde ou para lhes dar "
 "relevância."
 
 "notas de que goste, para marcá-las para mais tarde ou para lhes dar "
 "relevância."
 
-#: actions/showfavorites.php:208
+#. TRANS: Text displayed instead of favourite notices for a user that has no favourites while logged in.
+#. TRANS: %s is a username.
+#: actions/showfavorites.php:213
 #, php-format
 msgid ""
 "%s hasn't added any favorite notices yet. Post something interesting they "
 #, php-format
 msgid ""
 "%s hasn't added any favorite notices yet. Post something interesting they "
@@ -4022,7 +5431,10 @@ msgstr ""
 "%s ainda não adicionou nenhuma nota às favoritas. Publique algo interessante "
 "que mude este estado de coisas :)"
 
 "%s ainda não adicionou nenhuma nota às favoritas. Publique algo interessante "
 "que mude este estado de coisas :)"
 
-#: actions/showfavorites.php:212
+#. TRANS: Text displayed instead of favourite notices for a user that has no favourites while not logged in.
+#. TRANS: %s is a username, %%%%action.register%%%% is a link to the user registration page.
+#. TRANS: (link text)[link] is a Mark Down link.
+#: actions/showfavorites.php:220
 #, php-format
 msgid ""
 "%s hasn't added any favorite notices yet. Why not [register an account](%%%%"
 #, php-format
 msgid ""
 "%s hasn't added any favorite notices yet. Why not [register an account](%%%%"
@@ -4033,81 +5445,116 @@ msgstr ""
 "conta](%%%%action.register%%%%) e publicar algo tão interessante que mude "
 "este estado de coisas :)"
 
 "conta](%%%%action.register%%%%) e publicar algo tão interessante que mude "
 "este estado de coisas :)"
 
-#: actions/showfavorites.php:243
+#. TRANS: Page notice for show favourites page.
+#: actions/showfavorites.php:251
 msgid "This is a way to share what you like."
 msgstr "Esta é uma forma de partilhar aquilo de que gosta."
 
 msgid "This is a way to share what you like."
 msgstr "Esta é uma forma de partilhar aquilo de que gosta."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "Grupo %s"
 
 #, php-format
 msgid "%s group"
 msgstr "Grupo %s"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "Grupo %1$s, página %2$d"
 
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "Grupo %1$s, página %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Perfil do grupo"
 
 msgid "Group profile"
 msgstr "Perfil do grupo"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
-#: actions/userauthorization.php:175 lib/userprofile.php:178
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#. TRANS: DT for URL in a profile.
+#: actions/showgroup.php:270 actions/tagother.php:118
+#: actions/userauthorization.php:175 lib/userprofile.php:186
 msgid "URL"
 msgstr "URL"
 
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
-#: actions/userauthorization.php:187 lib/userprofile.php:195
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#. TRANS: DT for note in a profile.
+#: actions/showgroup.php:282 actions/tagother.php:128
+#: actions/userauthorization.php:187 lib/userprofile.php:204
 msgid "Note"
 msgstr "Anotação"
 
 msgid "Note"
 msgstr "Anotação"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:179
 msgid "Aliases"
 msgstr "Nomes alternativos"
 
 msgid "Aliases"
 msgstr "Nomes alternativos"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Acções do grupo"
 
 msgid "Group actions"
 msgstr "Acções do grupo"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Fonte de notas do grupo %s (RSS 1.0)"
 
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Fonte de notas do grupo %s (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Fonte de notas do grupo %s (RSS 2.0)"
 
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Fonte de notas do grupo %s (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Fonte de notas do grupo %s (Atom)"
 
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Fonte de notas do grupo %s (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "FOAF do grupo %s"
 
 #, php-format
 msgid "FOAF for %s group"
 msgstr "FOAF do grupo %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Membros"
 
 msgid "Members"
 msgstr "Membros"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
-#: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#. TRANS: Text for user subscription statistics if the user has no subscriptions.
+#. TRANS: Text for user subscriber statistics if user has no subscribers.
+#. TRANS: Text for user user group membership statistics if user is not a member of any group.
+#: actions/showgroup.php:408 lib/profileaction.php:137
+#: lib/profileaction.php:174 lib/profileaction.php:298 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(Nenhum)"
 
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(Nenhum)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Todos os membros"
 
 msgid "All members"
 msgstr "Todos os membros"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Criado"
 
 msgid "Created"
 msgstr "Criado"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Membros"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4116,14 +5563,17 @@ msgid ""
 "their life and interests. [Join now](%%%%action.register%%%%) to become part "
 "of this group and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 "their life and interests. [Join now](%%%%action.register%%%%) to become part "
 "of this group and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
-"**%s** é um grupo de utilizadores no site %%site.name%%, um serviço de "
+"**%s** é um grupo de utilizadores no site %%%%site.name%%%%, um serviço de "
 "[microblogues](http://en.wikipedia.org/wiki/Micro-blogging) baseado no "
 "programa de Software Livre [StatusNet](http://status.net/). Os membros deste "
 "grupo partilham mensagens curtas acerca das suas vidas e interesses. "
 "[microblogues](http://en.wikipedia.org/wiki/Micro-blogging) baseado no "
 "programa de Software Livre [StatusNet](http://status.net/). Os membros deste "
 "grupo partilham mensagens curtas acerca das suas vidas e interesses. "
-"[Registe-se agora](%%action.register%%) para se juntar a este grupo e a "
-"muitos mais! ([Saber mais](%%doc.help%%))"
+"[Registe-se agora](%%%%action.register%%%%) para se juntar a este grupo e a "
+"muitos mais! ([Saber mais](%%%%doc.help%%%%))"
 
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4131,29 +5581,36 @@ msgid ""
 "[StatusNet](http://status.net/) tool. Its members share short messages about "
 "their life and interests. "
 msgstr ""
 "[StatusNet](http://status.net/) tool. Its members share short messages about "
 "their life and interests. "
 msgstr ""
-"**%s** é um grupo de utilizadores no site %%site.name%%, um serviço de "
+"**%s** é um grupo de utilizadores no site %%%%site.name%%%%, um serviço de "
 "[microblogues](http://en.wikipedia.org/wiki/Micro-blogging) baseado no "
 "programa de Software Livre [StatusNet](http://status.net/). Os membros deste "
 "grupo partilham mensagens curtas acerca das suas vidas e interesses. "
 
 "[microblogues](http://en.wikipedia.org/wiki/Micro-blogging) baseado no "
 "programa de Software Livre [StatusNet](http://status.net/). Os membros deste "
 "grupo partilham mensagens curtas acerca das suas vidas e interesses. "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Gestores"
 
 msgid "Admins"
 msgstr "Gestores"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Mensagem não foi encontrada."
 
 msgid "No such message."
 msgstr "Mensagem não foi encontrada."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Só o remetente e o destinatário podem ler esta mensagem."
 
 msgid "Only the sender and recipient may read this message."
 msgstr "Só o remetente e o destinatário podem ler esta mensagem."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Mensagem para %1$s a %2$s"
 
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Mensagem para %1$s a %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Mensagem de %1$s a %2$s"
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Mensagem de %1$s a %2$s"
@@ -4162,47 +5619,67 @@ msgstr "Mensagem de %1$s a %2$s"
 msgid "Notice deleted."
 msgstr "Avatar actualizado."
 
 msgid "Notice deleted."
 msgstr "Avatar actualizado."
 
-#: actions/showstream.php:73
-#, php-format
-msgid " tagged %s"
-msgstr "  categorizou %s"
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s, página %2$d"
+
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "Notas categorizadas com %1$s, página %2$d"
 
 
-#: actions/showstream.php:79
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, página %2$d"
 
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, página %2$d"
 
-#: actions/showstream.php:122
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Fonte de notas de %1$s com a categoria %2$s (RSS 1.0)"
 
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Fonte de notas de %1$s com a categoria %2$s (RSS 1.0)"
 
-#: actions/showstream.php:129
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Fonte de notas para %s (RSS 1.0)"
 
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Fonte de notas para %s (RSS 1.0)"
 
-#: actions/showstream.php:136
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Fonte de notas para %s (RSS 2.0)"
 
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Fonte de notas para %s (RSS 2.0)"
 
-#: actions/showstream.php:143
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Fonte de notas para %s (Atom)"
 
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Fonte de notas para %s (Atom)"
 
-#: actions/showstream.php:148
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "FOAF para %s"
 
 #, php-format
 msgid "FOAF for %s"
 msgstr "FOAF para %s"
 
-#: actions/showstream.php:200
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr "Estas são as notas de %1$s, mas %2$s ainda não publicou nenhuma."
 
 msgstr "Estas são as notas de %1$s, mas %2$s ainda não publicou nenhuma."
 
-#: actions/showstream.php:205
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
@@ -4210,7 +5687,9 @@ msgstr ""
 "Viu algo de interessante ultimamente? Como ainda não publicou nenhuma nota, "
 "esta seria uma óptima altura para começar :)"
 
 "Viu algo de interessante ultimamente? Como ainda não publicou nenhuma nota, "
 "esta seria uma óptima altura para começar :)"
 
-#: actions/showstream.php:207
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4219,7 +5698,9 @@ msgstr ""
 "Pode tentar dar um toque em %1$s ou [endereçar-lhe uma nota](%%%%action."
 "newnotice%%%%?status_textarea=%2$s)."
 
 "Pode tentar dar um toque em %1$s ou [endereçar-lhe uma nota](%%%%action."
 "newnotice%%%%?status_textarea=%2$s)."
 
-#: actions/showstream.php:246
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4227,24 +5708,27 @@ msgid ""
 "[StatusNet](http://status.net/) tool. [Join now](%%%%action.register%%%%) to "
 "follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 "[StatusNet](http://status.net/) tool. [Join now](%%%%action.register%%%%) to "
 "follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
-"**%s** tem uma conta no site %%site.name%%, um serviço de [microblogues]"
+"**%s** tem uma conta no site %%%%site.name%%%%, um serviço de [microblogues]"
 "(http://en.wikipedia.org/wiki/Micro-blogging) baseado no programa de "
 "(http://en.wikipedia.org/wiki/Micro-blogging) baseado no programa de "
-"Software Livre [StatusNet](http://status.net/). [Registe-se agora](%%action."
-"register%%) para seguir as notas de **%s** e de muitos mais! ([Saber mais](%%"
-"doc.help%%))"
+"Software Livre [StatusNet](http://status.net/). [Registe-se agora](%%%%"
+"action.register%%%%) para seguir as notas de **%s** e de muitos mais! "
+"([Saber mais](%%%%doc.help%%%%))"
 
 
-#: actions/showstream.php:251
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
 "wikipedia.org/wiki/Micro-blogging) service based on the Free Software "
 "[StatusNet](http://status.net/) tool. "
 msgstr ""
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
 "wikipedia.org/wiki/Micro-blogging) service based on the Free Software "
 "[StatusNet](http://status.net/) tool. "
 msgstr ""
-"**%s** tem uma conta no site %%site.name%%, um serviço de [microblogues]"
+"**%s** tem uma conta no site %%%%site.name%%%%, um serviço de [microblogues]"
 "(http://en.wikipedia.org/wiki/Micro-blogging) baseado no programa de "
 "Software Livre [StatusNet](http://status.net/). "
 
 "(http://en.wikipedia.org/wiki/Micro-blogging) baseado no programa de "
 "Software Livre [StatusNet](http://status.net/). "
 
-#: actions/showstream.php:308
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Repetições de %s"
 #, php-format
 msgid "Repeat of %s"
 msgstr "Repetições de %s"
@@ -4358,99 +5842,108 @@ msgstr ""
 "Quanto tempo os utilizadores terão de esperar (em segundos) para publicar a "
 "mesma coisa outra vez."
 
 "Quanto tempo os utilizadores terão de esperar (em segundos) para publicar a "
 "mesma coisa outra vez."
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Aviso do Site"
 
 msgid "Site Notice"
 msgstr "Aviso do Site"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "Editar mensagem do site"
 
 msgid "Edit site-wide message"
 msgstr "Editar mensagem do site"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "Não foi possível gravar o aviso do site."
 
 msgid "Unable to save site notice."
 msgstr "Não foi possível gravar o aviso do site."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+#, fuzzy
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr "Tamanho máximo do aviso do site é 255 caracteres."
 
 msgstr "Tamanho máximo do aviso do site é 255 caracteres."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Texto do aviso do site"
 
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Texto do aviso do site"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+#, fuzzy
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr "Texto do aviso do site (máx. 255 caracteres; pode usar HTML)"
 
 msgstr "Texto do aviso do site (máx. 255 caracteres; pode usar HTML)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Gravar aviso do site"
 
 #. TRANS: Title for SMS settings.
 msgid "Save site notice"
 msgstr "Gravar aviso do site"
 
 #. TRANS: Title for SMS settings.
-#: actions/smssettings.php:59
+#: actions/smssettings.php:57
 msgid "SMS settings"
 msgstr "Configurações de SMS"
 
 #. TRANS: SMS settings page instructions.
 #. TRANS: %%site.name%% is the name of the site.
 msgid "SMS settings"
 msgstr "Configurações de SMS"
 
 #. TRANS: SMS settings page instructions.
 #. TRANS: %%site.name%% is the name of the site.
-#: actions/smssettings.php:74
+#: actions/smssettings.php:71
 #, php-format
 msgid "You can receive SMS messages through email from %%site.name%%."
 msgstr "Pode receber SMSs do site %%site.name%% por correio electrónico."
 
 #. TRANS: Message given in the SMS settings if SMS is not enabled on the site.
 #, php-format
 msgid "You can receive SMS messages through email from %%site.name%%."
 msgstr "Pode receber SMSs do site %%site.name%% por correio electrónico."
 
 #. TRANS: Message given in the SMS settings if SMS is not enabled on the site.
-#: actions/smssettings.php:97
+#: actions/smssettings.php:93
 msgid "SMS is not available."
 msgstr "SMS não está disponível."
 
 #. TRANS: Form legend for SMS settings form.
 msgid "SMS is not available."
 msgstr "SMS não está disponível."
 
 #. TRANS: Form legend for SMS settings form.
-#: actions/smssettings.php:111
+#: actions/smssettings.php:107
 msgid "SMS address"
 msgstr "Endereço SMS"
 
 #. TRANS: Form guide in SMS settings form.
 msgid "SMS address"
 msgstr "Endereço SMS"
 
 #. TRANS: Form guide in SMS settings form.
-#: actions/smssettings.php:120
+#: actions/smssettings.php:116
 msgid "Current confirmed SMS-enabled phone number."
 msgstr "Número de telefone com serviço SMS activo já confirmado."
 
 #. TRANS: Form guide in IM settings form.
 msgid "Current confirmed SMS-enabled phone number."
 msgstr "Número de telefone com serviço SMS activo já confirmado."
 
 #. TRANS: Form guide in IM settings form.
-#: actions/smssettings.php:133
+#: actions/smssettings.php:129
 msgid "Awaiting confirmation on this phone number."
 msgstr "A aguardar confirmação deste número de telefone."
 
 #. TRANS: Field label for SMS address input in SMS settings form.
 msgid "Awaiting confirmation on this phone number."
 msgstr "A aguardar confirmação deste número de telefone."
 
 #. TRANS: Field label for SMS address input in SMS settings form.
-#: actions/smssettings.php:142
+#: actions/smssettings.php:138
 msgid "Confirmation code"
 msgstr "Código de confirmação"
 
 #. TRANS: Form field instructions in SMS settings form.
 msgid "Confirmation code"
 msgstr "Código de confirmação"
 
 #. TRANS: Form field instructions in SMS settings form.
-#: actions/smssettings.php:144
+#: actions/smssettings.php:140
 msgid "Enter the code you received on your phone."
 msgstr "Introduza o código que recebeu no seu telefone."
 
 #. TRANS: Button label to confirm SMS confirmation code in SMS settings.
 msgid "Enter the code you received on your phone."
 msgstr "Introduza o código que recebeu no seu telefone."
 
 #. TRANS: Button label to confirm SMS confirmation code in SMS settings.
-#: actions/smssettings.php:148
+#: actions/smssettings.php:144
 msgctxt "BUTTON"
 msgid "Confirm"
 msgstr "Confirmar"
 
 #. TRANS: Field label for SMS phone number input in SMS settings form.
 msgctxt "BUTTON"
 msgid "Confirm"
 msgstr "Confirmar"
 
 #. TRANS: Field label for SMS phone number input in SMS settings form.
-#: actions/smssettings.php:153
+#: actions/smssettings.php:149
 msgid "SMS phone number"
 msgstr "Número de telefone para SMS"
 
 #. TRANS: SMS phone number input field instructions in SMS settings form.
 msgid "SMS phone number"
 msgstr "Número de telefone para SMS"
 
 #. TRANS: SMS phone number input field instructions in SMS settings form.
-#: actions/smssettings.php:156
+#: actions/smssettings.php:152
 msgid "Phone number, no punctuation or spaces, with area code"
 msgstr "Número de telefone, sem pontuação ou espaços, com código de área"
 
 #. TRANS: Form legend for SMS preferences form.
 msgid "Phone number, no punctuation or spaces, with area code"
 msgstr "Número de telefone, sem pontuação ou espaços, com código de área"
 
 #. TRANS: Form legend for SMS preferences form.
-#: actions/smssettings.php:195
+#: actions/smssettings.php:191
 msgid "SMS preferences"
 msgstr "Preferências de SMS"
 
 #. TRANS: Checkbox label in SMS preferences form.
 msgid "SMS preferences"
 msgstr "Preferências de SMS"
 
 #. TRANS: Checkbox label in SMS preferences form.
-#: actions/smssettings.php:201
+#: actions/smssettings.php:197
 msgid ""
 "Send me notices through SMS; I understand I may incur exorbitant charges "
 "from my carrier."
 msgid ""
 "Send me notices through SMS; I understand I may incur exorbitant charges "
 "from my carrier."
@@ -4459,32 +5952,32 @@ msgstr ""
 "me montantes exorbitantes."
 
 #. TRANS: Confirmation message for successful SMS preferences save.
 "me montantes exorbitantes."
 
 #. TRANS: Confirmation message for successful SMS preferences save.
-#: actions/smssettings.php:315
+#: actions/smssettings.php:308
 msgid "SMS preferences saved."
 msgstr "Preferências de SMS gravadas."
 
 #. TRANS: Message given saving SMS phone number without having provided one.
 msgid "SMS preferences saved."
 msgstr "Preferências de SMS gravadas."
 
 #. TRANS: Message given saving SMS phone number without having provided one.
-#: actions/smssettings.php:338
+#: actions/smssettings.php:330
 msgid "No phone number."
 msgstr "Nenhum número de telefone."
 
 #. TRANS: Message given saving SMS phone number without having selected a carrier.
 msgid "No phone number."
 msgstr "Nenhum número de telefone."
 
 #. TRANS: Message given saving SMS phone number without having selected a carrier.
-#: actions/smssettings.php:344
+#: actions/smssettings.php:336
 msgid "No carrier selected."
 msgstr "Operador não foi seleccionado."
 
 #. TRANS: Message given saving SMS phone number that is already set.
 msgid "No carrier selected."
 msgstr "Operador não foi seleccionado."
 
 #. TRANS: Message given saving SMS phone number that is already set.
-#: actions/smssettings.php:352
+#: actions/smssettings.php:344
 msgid "That is already your phone number."
 msgstr "Esse já é o seu número de telefone."
 
 #. TRANS: Message given saving SMS phone number that is already set for another user.
 msgid "That is already your phone number."
 msgstr "Esse já é o seu número de telefone."
 
 #. TRANS: Message given saving SMS phone number that is already set for another user.
-#: actions/smssettings.php:356
+#: actions/smssettings.php:348
 msgid "That phone number already belongs to another user."
 msgstr "Esse número de telefone já pertence a outro utilizador."
 
 #. TRANS: Message given saving valid SMS phone number that is to be confirmed.
 msgid "That phone number already belongs to another user."
 msgstr "Esse número de telefone já pertence a outro utilizador."
 
 #. TRANS: Message given saving valid SMS phone number that is to be confirmed.
-#: actions/smssettings.php:384
+#: actions/smssettings.php:376
 msgid ""
 "A confirmation code was sent to the phone number you added. Check your phone "
 "for the code and instructions on how to use it."
 msgid ""
 "A confirmation code was sent to the phone number you added. Check your phone "
 "for the code and instructions on how to use it."
@@ -4494,39 +5987,39 @@ msgstr ""
 "utilização."
 
 #. TRANS: Message given canceling SMS phone number confirmation for the wrong phone number.
 "utilização."
 
 #. TRANS: Message given canceling SMS phone number confirmation for the wrong phone number.
-#: actions/smssettings.php:413
+#: actions/smssettings.php:404
 msgid "That is the wrong confirmation number."
 msgstr "Esse número de confirmação está errado."
 
 #. TRANS: Message given after successfully canceling SMS phone number confirmation.
 msgid "That is the wrong confirmation number."
 msgstr "Esse número de confirmação está errado."
 
 #. TRANS: Message given after successfully canceling SMS phone number confirmation.
-#: actions/smssettings.php:427
+#: actions/smssettings.php:418
 msgid "SMS confirmation cancelled."
 msgstr "Confirmação de SMS cancelada."
 
 #. TRANS: Message given trying to remove an SMS phone number that is not
 #. TRANS: registered for the active user.
 msgid "SMS confirmation cancelled."
 msgstr "Confirmação de SMS cancelada."
 
 #. TRANS: Message given trying to remove an SMS phone number that is not
 #. TRANS: registered for the active user.
-#: actions/smssettings.php:448
+#: actions/smssettings.php:438
 msgid "That is not your phone number."
 msgstr "Esse número de telefone não é o seu."
 
 #. TRANS: Message given after successfully removing a registered SMS phone number.
 msgid "That is not your phone number."
 msgstr "Esse número de telefone não é o seu."
 
 #. TRANS: Message given after successfully removing a registered SMS phone number.
-#: actions/smssettings.php:470
+#: actions/smssettings.php:460
 msgid "The SMS phone number was removed."
 msgstr "Número de telefone para SMS foi removido."
 
 #. TRANS: Label for mobile carrier dropdown menu in SMS settings.
 msgid "The SMS phone number was removed."
 msgstr "Número de telefone para SMS foi removido."
 
 #. TRANS: Label for mobile carrier dropdown menu in SMS settings.
-#: actions/smssettings.php:511
+#: actions/smssettings.php:499
 msgid "Mobile carrier"
 msgstr "Operador móvel"
 
 #. TRANS: Default option for mobile carrier dropdown menu in SMS settings.
 msgid "Mobile carrier"
 msgstr "Operador móvel"
 
 #. TRANS: Default option for mobile carrier dropdown menu in SMS settings.
-#: actions/smssettings.php:516
+#: actions/smssettings.php:504
 msgid "Select a carrier"
 msgstr "Seleccione um operador"
 
 #. TRANS: Form instructions for mobile carrier dropdown menu in SMS settings.
 #. TRANS: %s is an administrative contact's e-mail address.
 msgid "Select a carrier"
 msgstr "Seleccione um operador"
 
 #. TRANS: Form instructions for mobile carrier dropdown menu in SMS settings.
 #. TRANS: %s is an administrative contact's e-mail address.
-#: actions/smssettings.php:525
+#: actions/smssettings.php:513
 #, php-format
 msgid ""
 "Mobile carrier for your phone. If you know a carrier that accepts SMS over "
 #, php-format
 msgid ""
 "Mobile carrier for your phone. If you know a carrier that accepts SMS over "
@@ -4537,8 +6030,9 @@ msgstr ""
 "para %s."
 
 #. TRANS: Message given saving SMS phone number confirmation code without having provided one.
 "para %s."
 
 #. TRANS: Message given saving SMS phone number confirmation code without having provided one.
-#: actions/smssettings.php:548
-msgid "No code entered"
+#: actions/smssettings.php:535
+#, fuzzy
+msgid "No code entered."
 msgstr "Nenhum código introduzido"
 
 #. TRANS: Menu item for site administration
 msgstr "Nenhum código introduzido"
 
 #. TRANS: Menu item for site administration
@@ -4599,12 +6093,14 @@ msgstr "Instantâneos serão enviados para esta URL"
 msgid "Save snapshot settings"
 msgstr "Gravar configurações do instantâneo"
 
 msgid "Save snapshot settings"
 msgstr "Gravar configurações do instantâneo"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "Não subscreveu esse perfil."
 
 msgid "You are not subscribed to that profile."
 msgstr "Não subscreveu esse perfil."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:141
 msgid "Could not save subscription."
 msgstr "Não foi possível gravar a subscrição."
 
 msgid "Could not save subscription."
 msgstr "Não foi possível gravar a subscrição."
 
@@ -4612,10 +6108,6 @@ msgstr "Não foi possível gravar a subscrição."
 msgid "This action only accepts POST requests."
 msgstr "Esta operação só aceita pedidos POST."
 
 msgid "This action only accepts POST requests."
 msgstr "Esta operação só aceita pedidos POST."
 
-#: actions/subscribe.php:107
-msgid "No such profile."
-msgstr "Perfil não foi encontrado."
-
 #: actions/subscribe.php:117
 msgid "You cannot subscribe to an OMB 0.1 remote profile with this action."
 msgstr "Não pode subscrever um perfil remoto OMB 0.1 com esta operação."
 #: actions/subscribe.php:117
 msgid "You cannot subscribe to an OMB 0.1 remote profile with this action."
 msgstr "Não pode subscrever um perfil remoto OMB 0.1 com esta operação."
@@ -4624,39 +6116,56 @@ msgstr "Não pode subscrever um perfil remoto OMB 0.1 com esta operação."
 msgid "Subscribed"
 msgstr "Subscrito"
 
 msgid "Subscribed"
 msgstr "Subscrito"
 
-#: actions/subscribers.php:50
+#. TRANS: Header for list of subscribers for a user (first page).
+#. TRANS: %s is the user's nickname.
+#: actions/subscribers.php:51
 #, php-format
 msgid "%s subscribers"
 msgstr "Subscritores de %s"
 
 #, php-format
 msgid "%s subscribers"
 msgstr "Subscritores de %s"
 
-#: actions/subscribers.php:52
+#. TRANS: Header for list of subscribers for a user (not first page).
+#. TRANS: %1$s is the user's nickname, $2$d is the page number.
+#: actions/subscribers.php:55
 #, php-format
 msgid "%1$s subscribers, page %2$d"
 msgstr "Subscritores de %1$s, página %2$d"
 
 #, php-format
 msgid "%1$s subscribers, page %2$d"
 msgstr "Subscritores de %1$s, página %2$d"
 
-#: actions/subscribers.php:63
+#. TRANS: Page notice for page with an overview of all subscribers
+#. TRANS: of the logged in user's own profile.
+#: actions/subscribers.php:68
 msgid "These are the people who listen to your notices."
 msgstr "Estas são as pessoas que escutam as suas notas."
 
 msgid "These are the people who listen to your notices."
 msgstr "Estas são as pessoas que escutam as suas notas."
 
-#: actions/subscribers.php:67
+#. TRANS: Page notice for page with an overview of all subscribers of a user other
+#. TRANS: than the logged in user. %s is the user nickname.
+#: actions/subscribers.php:74
 #, php-format
 msgid "These are the people who listen to %s's notices."
 msgstr "Estas são as pessoas que escutam as notas de %s."
 
 #, php-format
 msgid "These are the people who listen to %s's notices."
 msgstr "Estas são as pessoas que escutam as notas de %s."
 
-#: actions/subscribers.php:108
+#. TRANS: Subscriber list text when the logged in user has no subscribers.
+#: actions/subscribers.php:114
+#, fuzzy
 msgid ""
 "You have no subscribers. Try subscribing to people you know and they might "
 msgid ""
 "You have no subscribers. Try subscribing to people you know and they might "
-"return the favor"
+"return the favor."
 msgstr ""
 "Não tem subscritores. Tente subscrever pessoas que conhece e talvez elas lhe "
 "façam o mesmo favor"
 
 msgstr ""
 "Não tem subscritores. Tente subscrever pessoas que conhece e talvez elas lhe "
 "façam o mesmo favor"
 
-#: actions/subscribers.php:110
+#. TRANS: Subscriber list text when looking at the subscribers for a of a user other
+#. TRANS: than the logged in user that has no subscribers. %s is the user nickname.
+#: actions/subscribers.php:118
 #, php-format
 msgid "%s has no subscribers. Want to be the first?"
 msgstr "%s não tem subscritores. Quer ser o primeiro?"
 
 #, php-format
 msgid "%s has no subscribers. Want to be the first?"
 msgstr "%s não tem subscritores. Quer ser o primeiro?"
 
-#: actions/subscribers.php:114
+#. TRANS: Subscriber list text when looking at the subscribers for a of a user that has none
+#. TRANS: as an anonymous user. %s is the user nickname.
+#. TRANS: This message contains a Markdown URL. The link description is between
+#. TRANS: square brackets, and the link between parentheses. Do not separate "]("
+#. TRANS: and do not change the URL part.
+#: actions/subscribers.php:127
 #, php-format
 msgid ""
 "%s has no subscribers. Why not [register an account](%%%%action.register%%%"
 #, php-format
 msgid ""
 "%s has no subscribers. Why not [register an account](%%%%action.register%%%"
@@ -4665,26 +6174,31 @@ msgstr ""
 "%s não tem subscritores. Quer [registar uma conta](%%action.register%%) e "
 "ser o primeiro?"
 
 "%s não tem subscritores. Quer [registar uma conta](%%action.register%%) e "
 "ser o primeiro?"
 
-#: actions/subscriptions.php:52
-#, php-format
-msgid "%s subscriptions"
-msgstr "Subscrições de %s"
-
-#: actions/subscriptions.php:54
+#. TRANS: Header for subscriptions overview for a user (not first page).
+#. TRANS: %1$s is a user nickname, %2$d is the page number.
+#: actions/subscriptions.php:55
 #, php-format
 msgid "%1$s subscriptions, page %2$d"
 msgstr "Subscrições de %1$s, página %2$d"
 
 #, php-format
 msgid "%1$s subscriptions, page %2$d"
 msgstr "Subscrições de %1$s, página %2$d"
 
-#: actions/subscriptions.php:65
+#. TRANS: Page notice for page with an overview of all subscriptions
+#. TRANS: of the logged in user's own profile.
+#: actions/subscriptions.php:68
 msgid "These are the people whose notices you listen to."
 msgstr "Estas são as pessoas cujas notas está a escutar."
 
 msgid "These are the people whose notices you listen to."
 msgstr "Estas são as pessoas cujas notas está a escutar."
 
-#: actions/subscriptions.php:69
+#. TRANS: Page notice for page with an overview of all subscriptions of a user other
+#. TRANS: than the logged in user. %s is the user nickname.
+#: actions/subscriptions.php:74
 #, php-format
 msgid "These are the people whose notices %s listens to."
 msgstr "Estas são as pessoas cujas notas %s está a escutar."
 
 #, php-format
 msgid "These are the people whose notices %s listens to."
 msgstr "Estas são as pessoas cujas notas %s está a escutar."
 
-#: actions/subscriptions.php:126
+#. TRANS: Subscription list text when the logged in user has no subscriptions.
+#. TRANS: This message contains Markdown URLs. The link description is between
+#. TRANS: square brackets, and the link between parentheses. Do not separate "]("
+#. TRANS: and do not change the URL part.
+#: actions/subscriptions.php:133
 #, php-format
 msgid ""
 "You're not listening to anyone's notices right now, try subscribing to "
 #, php-format
 msgid ""
 "You're not listening to anyone's notices right now, try subscribing to "
@@ -4700,16 +6214,28 @@ msgstr ""
 "twittersettings%%) pode subscrever automaticamente as pessoas que já segue "
 "lá."
 
 "twittersettings%%) pode subscrever automaticamente as pessoas que já segue "
 "lá."
 
-#: actions/subscriptions.php:128 actions/subscriptions.php:132
+#. TRANS: Subscription list text when looking at the subscriptions for a of a user other
+#. TRANS: than the logged in user that has no subscriptions. %s is the user nickname.
+#. TRANS: Subscription list text when looking at the subscriptions for a of a user that has none
+#. TRANS: as an anonymous user. %s is the user nickname.
+#: actions/subscriptions.php:141 actions/subscriptions.php:147
 #, php-format
 msgid "%s is not listening to anyone."
 msgstr "%s não está a ouvir ninguém."
 
 #, php-format
 msgid "%s is not listening to anyone."
 msgstr "%s não está a ouvir ninguém."
 
-#: actions/subscriptions.php:208
+#. TRANS: Atom feed title. %s is a profile nickname.
+#: actions/subscriptions.php:176
+#, fuzzy, php-format
+msgid "Subscription feed for %s (Atom)"
+msgstr "Fonte de notas para %s (Atom)"
+
+#. TRANS: Checkbox label for enabling Jabber messages for a profile in a subscriptions list.
+#: actions/subscriptions.php:239
 msgid "Jabber"
 msgstr "Jabber"
 
 msgid "Jabber"
 msgstr "Jabber"
 
-#: actions/subscriptions.php:222
+#. TRANS: Checkbox label for enabling SMS messages for a profile in a subscriptions list.
+#: actions/subscriptions.php:254
 msgid "SMS"
 msgstr "SMS"
 
 msgid "SMS"
 msgstr "SMS"
 
@@ -4742,12 +6268,14 @@ msgstr "Argumento de identificação (ID) em falta."
 msgid "Tag %s"
 msgstr "Categoria %s"
 
 msgid "Tag %s"
 msgstr "Categoria %s"
 
+#. TRANS: H2 for user profile information.
 #: actions/tagother.php:77 lib/userprofile.php:76
 msgid "User profile"
 msgstr "Perfil"
 
 #: actions/tagother.php:77 lib/userprofile.php:76
 msgid "User profile"
 msgstr "Perfil"
 
+#. TRANS: DT element in area for user avatar.
 #: actions/tagother.php:81 actions/userauthorization.php:132
 #: actions/tagother.php:81 actions/userauthorization.php:132
-#: lib/userprofile.php:103
+#: lib/userprofile.php:108
 msgid "Photo"
 msgstr "Foto"
 
 msgid "Photo"
 msgstr "Foto"
 
@@ -4768,10 +6296,6 @@ msgid ""
 "You can only tag people you are subscribed to or who are subscribed to you."
 msgstr "Só pode categorizar pessoas que subscreve ou os seus subscritores."
 
 "You can only tag people you are subscribed to or who are subscribed to you."
 msgstr "Só pode categorizar pessoas que subscreve ou os seus subscritores."
 
-#: actions/tagother.php:200
-msgid "Could not save tags."
-msgstr "Não foi possível gravar as categorias."
-
 #: actions/tagother.php:236
 msgid "Use this form to add tags to your subscribers or subscriptions."
 msgstr ""
 #: actions/tagother.php:236
 msgid "Use this form to add tags to your subscribers or subscriptions."
 msgstr ""
@@ -4811,75 +6335,92 @@ msgstr ""
 "site."
 
 #. TRANS: User admin panel title
 "site."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Utilizador"
 
 msgctxt "TITLE"
 msgid "User"
 msgstr "Utilizador"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "Limite da biografia inválido. Tem de ser numérico."
 
 msgid "Invalid bio limit. Must be numeric."
 msgstr "Limite da biografia inválido. Tem de ser numérico."
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr "Texto de boas-vindas inválido. Tamanho máx. é 255 caracteres."
 
 msgstr "Texto de boas-vindas inválido. Tamanho máx. é 255 caracteres."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #: actions/useradminpanel.php:166
-#, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+#, fuzzy, php-format
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "Subscrição predefinida é inválida: '%1$s' não é utilizador."
 
 #. TRANS: Link description in user account settings menu.
 msgstr "Subscrição predefinida é inválida: '%1$s' não é utilizador."
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
 msgid "Profile"
 msgstr "Perfil"
 
 msgid "Profile"
 msgstr "Perfil"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Limite da Biografia"
 
 msgid "Bio Limit"
 msgstr "Limite da Biografia"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "Tamanho máximo de uma biografia em caracteres."
 
 msgid "Maximum length of a profile bio in characters."
 msgstr "Tamanho máximo de uma biografia em caracteres."
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Utilizadores novos"
 
 msgid "New users"
 msgstr "Utilizadores novos"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Boas-vindas a utilizadores novos"
 
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Boas-vindas a utilizadores novos"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "Texto de boas-vindas a utilizadores novos (máx. 255 caracteres)."
 
 msgstr "Texto de boas-vindas a utilizadores novos (máx. 255 caracteres)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Subscrição predefinida"
 
 msgid "Default subscription"
 msgstr "Subscrição predefinida"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "Novos utilizadores subscrevem automaticamente este utilizador."
 
 msgid "Automatically subscribe new users to this user."
 msgstr "Novos utilizadores subscrevem automaticamente este utilizador."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Convites"
 
 msgid "Invitations"
 msgstr "Convites"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Convites habilitados"
 
 msgid "Invitations enabled"
 msgstr "Convites habilitados"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "Permitir, ou não, que utilizadores convidem utilizadores novos."
 
 msgid "Whether to allow users to invite new users."
 msgstr "Permitir, ou não, que utilizadores convidem utilizadores novos."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
 msgid "Save user settings"
 msgstr ""
 
@@ -4987,11 +6528,13 @@ msgstr "Não é possível ler a URL do avatar ‘%s’."
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Tipo de imagem incorrecto para o avatar da URL ‘%s’."
 
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Tipo de imagem incorrecto para o avatar da URL ‘%s’."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:74 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Estilo do perfil"
 
 msgid "Profile design"
 msgstr "Estilo do perfil"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:84 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -4999,7 +6542,7 @@ msgstr ""
 "Personalize o estilo do seu perfil com uma imagem de fundo e uma paleta de "
 "cores à sua escolha."
 
 "Personalize o estilo do seu perfil com uma imagem de fundo e uma paleta de "
 "cores à sua escolha."
 
-#: actions/userdesignsettings.php:282
+#: actions/userdesignsettings.php:272
 msgid "Enjoy your hotdog!"
 msgstr "Disfrute do seu cachorro-quente!"
 
 msgid "Enjoy your hotdog!"
 msgstr "Disfrute do seu cachorro-quente!"
 
@@ -5089,7 +6632,7 @@ msgid "Plugins"
 msgstr "Plugins"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
 msgstr "Plugins"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:830
+#: actions/version.php:198 lib/action.php:885
 msgid "Version"
 msgstr "Versão"
 
 msgid "Version"
 msgstr "Versão"
 
@@ -5098,96 +6641,110 @@ msgid "Author(s)"
 msgstr "Autores"
 
 #. TRANS: Activity title when marking a notice as favorite.
 msgstr "Autores"
 
 #. TRANS: Activity title when marking a notice as favorite.
-#: classes/Fave.php:148 lib/favorform.php:143
+#: classes/Fave.php:164
 msgid "Favor"
 msgstr "Eleger como favorita"
 
 #. TRANS: Ntofication given when a user marks a notice as favorite.
 #. TRANS: %1$s is a user nickname or full name, %2$s is a notice URI.
 msgid "Favor"
 msgstr "Eleger como favorita"
 
 #. TRANS: Ntofication given when a user marks a notice as favorite.
 #. TRANS: %1$s is a user nickname or full name, %2$s is a notice URI.
-#: classes/Fave.php:151
+#: classes/Fave.php:167
 #, fuzzy, php-format
 msgid "%1$s marked notice %2$s as a favorite."
 msgstr "%s (@%s) adicionou a sua nota às favoritas."
 
 #. TRANS: Server exception thrown when a URL cannot be processed.
 #, fuzzy, php-format
 msgid "%1$s marked notice %2$s as a favorite."
 msgstr "%s (@%s) adicionou a sua nota às favoritas."
 
 #. TRANS: Server exception thrown when a URL cannot be processed.
-#: classes/File.php:142
+#: classes/File.php:156
 #, php-format
 msgid "Cannot process URL '%s'"
 msgstr "Não é possível processar a URL '$s'"
 
 #. TRANS: Server exception thrown when... Robin thinks something is impossible!
 #, php-format
 msgid "Cannot process URL '%s'"
 msgstr "Não é possível processar a URL '$s'"
 
 #. TRANS: Server exception thrown when... Robin thinks something is impossible!
-#: classes/File.php:174
+#: classes/File.php:188
 msgid "Robin thinks something is impossible."
 msgstr "o Robin acha que algo é impossível."
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
 msgid "Robin thinks something is impossible."
 msgstr "o Robin acha que algo é impossível."
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
-#, php-format
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:204
+#, fuzzy, php-format
 msgid ""
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+"Nenhum ficheiro pode ter mais de %1$d bytes e o que enviou tinha %2$d bytes. "
+"Tente enviar uma versão mais pequena."
+msgstr[1] ""
 "Nenhum ficheiro pode ter mais de %1$d bytes e o que enviou tinha %2$d bytes. "
 "Tente enviar uma versão mais pequena."
 
 #. TRANS: Message given if an upload would exceed user quota.
 "Nenhum ficheiro pode ter mais de %1$d bytes e o que enviou tinha %2$d bytes. "
 "Tente enviar uma versão mais pequena."
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
-#, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:217
+#, fuzzy, php-format
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+"Um ficheiro desta dimensão excederia a sua quota de utilizador de %d bytes."
+msgstr[1] ""
 "Um ficheiro desta dimensão excederia a sua quota de utilizador de %d bytes."
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
 "Um ficheiro desta dimensão excederia a sua quota de utilizador de %d bytes."
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
-#, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr "Um ficheiro desta dimensão excederia a sua quota mensal de %d bytes."
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:229
+#, fuzzy, php-format
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+"Um ficheiro desta dimensão excederia a sua quota mensal de %d bytes."
+msgstr[1] ""
+"Um ficheiro desta dimensão excederia a sua quota mensal de %d bytes."
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:276 classes/File.php:291
 msgid "Invalid filename."
 msgstr "Nome de ficheiro inválido."
 
 #. TRANS: Exception thrown when joining a group fails.
 msgid "Invalid filename."
 msgstr "Nome de ficheiro inválido."
 
 #. TRANS: Exception thrown when joining a group fails.
-#: classes/Group_member.php:42
+#: classes/Group_member.php:51
 msgid "Group join failed."
 msgstr "Entrada no grupo falhou."
 
 #. TRANS: Exception thrown when trying to leave a group the user is not a member of.
 msgid "Group join failed."
 msgstr "Entrada no grupo falhou."
 
 #. TRANS: Exception thrown when trying to leave a group the user is not a member of.
-#: classes/Group_member.php:55
+#: classes/Group_member.php:64
 msgid "Not part of group."
 msgstr "Não faz parte do grupo."
 
 #. TRANS: Exception thrown when trying to leave a group fails.
 msgid "Not part of group."
 msgstr "Não faz parte do grupo."
 
 #. TRANS: Exception thrown when trying to leave a group fails.
-#: classes/Group_member.php:63
+#: classes/Group_member.php:72
 msgid "Group leave failed."
 msgstr "Saída do grupo falhou."
 
 #. TRANS: Exception thrown providing an invalid profile ID.
 #. TRANS: %s is the invalid profile ID.
 msgid "Group leave failed."
 msgstr "Saída do grupo falhou."
 
 #. TRANS: Exception thrown providing an invalid profile ID.
 #. TRANS: %s is the invalid profile ID.
-#: classes/Group_member.php:76
+#: classes/Group_member.php:85
 #, php-format
 msgid "Profile ID %s is invalid."
 msgstr ""
 
 #. TRANS: Exception thrown providing an invalid group ID.
 #. TRANS: %s is the invalid group ID.
 #, php-format
 msgid "Profile ID %s is invalid."
 msgstr ""
 
 #. TRANS: Exception thrown providing an invalid group ID.
 #. TRANS: %s is the invalid group ID.
-#: classes/Group_member.php:89
+#: classes/Group_member.php:98
 #, fuzzy, php-format
 msgid "Group ID %s is invalid."
 msgstr "Erro ao guardar utilizador; inválido."
 
 #. TRANS: Activity title.
 #, fuzzy, php-format
 msgid "Group ID %s is invalid."
 msgstr "Erro ao guardar utilizador; inválido."
 
 #. TRANS: Activity title.
-#: classes/Group_member.php:113 lib/joinform.php:114
+#: classes/Group_member.php:147 lib/joinform.php:114
 msgid "Join"
 msgstr "Juntar-me"
 
 #. TRANS: Success message for subscribe to group attempt through OStatus.
 #. TRANS: %1$s is the member name, %2$s is the subscribed group's name.
 msgid "Join"
 msgstr "Juntar-me"
 
 #. TRANS: Success message for subscribe to group attempt through OStatus.
 #. TRANS: %1$s is the member name, %2$s is the subscribed group's name.
-#: classes/Group_member.php:117
+#: classes/Group_member.php:151
 #, php-format
 msgid "%1$s has joined group %2$s."
 msgstr ""
 #, php-format
 msgid "%1$s has joined group %2$s."
 msgstr ""
@@ -5205,7 +6762,7 @@ msgid "Could not create login token for %s"
 msgstr "Não foi possível criar a chave de entrada para %s"
 
 #. TRANS: Exception thrown when database name or Data Source Name could not be found.
 msgstr "Não foi possível criar a chave de entrada para %s"
 
 #. TRANS: Exception thrown when database name or Data Source Name could not be found.
-#: classes/Memcached_DataObject.php:533
+#: classes/Memcached_DataObject.php:537
 msgid "No database name or DSN found anywhere."
 msgstr "Não foi encontrado nenhum nome de base de dados ou DSN."
 
 msgid "No database name or DSN found anywhere."
 msgstr "Não foi encontrado nenhum nome de base de dados ou DSN."
 
@@ -5215,12 +6772,12 @@ msgid "You are banned from sending direct messages."
 msgstr "Está proibido de enviar mensagens directas."
 
 #. TRANS: Message given when a message could not be stored on the server.
 msgstr "Está proibido de enviar mensagens directas."
 
 #. TRANS: Message given when a message could not be stored on the server.
-#: classes/Message.php:62
+#: classes/Message.php:69
 msgid "Could not insert message."
 msgstr "Não foi possível inserir a mensagem."
 
 #. TRANS: Message given when a message could not be updated on the server.
 msgid "Could not insert message."
 msgstr "Não foi possível inserir a mensagem."
 
 #. TRANS: Message given when a message could not be updated on the server.
-#: classes/Message.php:73
+#: classes/Message.php:80
 msgid "Could not update message with new URI."
 msgstr "Não foi possível actualizar a mensagem com a nova URI."
 
 msgid "Could not update message with new URI."
 msgstr "Não foi possível actualizar a mensagem com a nova URI."
 
@@ -5232,23 +6789,23 @@ msgid "No such profile (%1$d) for notice (%2$d)."
 msgstr "Não existe o perfil (%1$d) para a nota (%2$d)."
 
 #. TRANS: Server exception. %s are the error details.
 msgstr "Não existe o perfil (%1$d) para a nota (%2$d)."
 
 #. TRANS: Server exception. %s are the error details.
-#: classes/Notice.php:193
+#: classes/Notice.php:199
 #, php-format
 msgid "Database error inserting hashtag: %s"
 msgstr "Erro na base de dados ao inserir o elemento criptográfico: %s"
 
 #. TRANS: Client exception thrown if a notice contains too many characters.
 #, php-format
 msgid "Database error inserting hashtag: %s"
 msgstr "Erro na base de dados ao inserir o elemento criptográfico: %s"
 
 #. TRANS: Client exception thrown if a notice contains too many characters.
-#: classes/Notice.php:265
+#: classes/Notice.php:279
 msgid "Problem saving notice. Too long."
 msgstr "Problema na gravação da nota. Demasiado longa."
 
 #. TRANS: Client exception thrown when trying to save a notice for an unknown user.
 msgid "Problem saving notice. Too long."
 msgstr "Problema na gravação da nota. Demasiado longa."
 
 #. TRANS: Client exception thrown when trying to save a notice for an unknown user.
-#: classes/Notice.php:270
+#: classes/Notice.php:284
 msgid "Problem saving notice. Unknown user."
 msgstr "Problema na gravação da nota. Utilizador desconhecido."
 
 #. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame.
 msgid "Problem saving notice. Unknown user."
 msgstr "Problema na gravação da nota. Utilizador desconhecido."
 
 #. TRANS: Client exception thrown when a user tries to post too many notices in a given time frame.
-#: classes/Notice.php:276
+#: classes/Notice.php:290
 msgid ""
 "Too many notices too fast; take a breather and post again in a few minutes."
 msgstr ""
 msgid ""
 "Too many notices too fast; take a breather and post again in a few minutes."
 msgstr ""
@@ -5256,7 +6813,7 @@ msgstr ""
 "alguns minutos."
 
 #. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame.
 "alguns minutos."
 
 #. TRANS: Client exception thrown when a user tries to post too many duplicate notices in a given time frame.
-#: classes/Notice.php:283
+#: classes/Notice.php:297
 msgid ""
 "Too many duplicate messages too quickly; take a breather and post again in a "
 "few minutes."
 msgid ""
 "Too many duplicate messages too quickly; take a breather and post again in a "
 "few minutes."
@@ -5265,43 +6822,51 @@ msgstr ""
 "publicar daqui a alguns minutos."
 
 #. TRANS: Client exception thrown when a user tries to post while being banned.
 "publicar daqui a alguns minutos."
 
 #. TRANS: Client exception thrown when a user tries to post while being banned.
-#: classes/Notice.php:291
+#: classes/Notice.php:305
 msgid "You are banned from posting notices on this site."
 msgstr "Está proibido de publicar notas neste site."
 
 #. TRANS: Server exception thrown when a notice cannot be saved.
 #. TRANS: Server exception thrown when a notice cannot be updated.
 msgid "You are banned from posting notices on this site."
 msgstr "Está proibido de publicar notas neste site."
 
 #. TRANS: Server exception thrown when a notice cannot be saved.
 #. TRANS: Server exception thrown when a notice cannot be updated.
-#: classes/Notice.php:358 classes/Notice.php:385
+#: classes/Notice.php:372 classes/Notice.php:399
 msgid "Problem saving notice."
 msgstr "Problema na gravação da nota."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
 msgid "Problem saving notice."
 msgstr "Problema na gravação da nota."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:923
+#, fuzzy
+msgid "Bad type provided to saveKnownGroups."
 msgstr "O tipo fornecido ao método saveKnownGroups é incorrecto"
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
 msgstr "O tipo fornecido ao método saveKnownGroups é incorrecto"
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1022
 msgid "Problem saving group inbox."
 msgstr "Problema na gravação da caixa de entrada do grupo."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
 msgid "Problem saving group inbox."
 msgstr "Problema na gravação da caixa de entrada do grupo."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1136
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Não foi possível gravar a informação do grupo local."
 
 #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
 #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Não foi possível gravar a informação do grupo local."
 
 #. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
 #. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1655
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:172 classes/User_group.php:242
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:785
+#: classes/Profile.php:765
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
@@ -5309,7 +6874,7 @@ msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:794
+#: classes/Profile.php:774
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5327,78 +6892,109 @@ msgid "Unable to save tag."
 msgstr "Não foi possível gravar a categoria."
 
 #. TRANS: Exception thrown when trying to subscribe while being banned from subscribing.
 msgstr "Não foi possível gravar a categoria."
 
 #. TRANS: Exception thrown when trying to subscribe while being banned from subscribing.
-#: classes/Subscription.php:75 lib/oauthstore.php:482
+#: classes/Subscription.php:77 lib/oauthstore.php:482
 msgid "You have been banned from subscribing."
 msgstr "Foi bloqueado de fazer subscrições"
 
 #. TRANS: Exception thrown when trying to subscribe while already subscribed.
 msgid "You have been banned from subscribing."
 msgstr "Foi bloqueado de fazer subscrições"
 
 #. TRANS: Exception thrown when trying to subscribe while already subscribed.
-#: classes/Subscription.php:80
+#: classes/Subscription.php:82
 msgid "Already subscribed!"
 msgstr "Já subscrito!"
 
 #. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user.
 msgid "Already subscribed!"
 msgstr "Já subscrito!"
 
 #. TRANS: Exception thrown when trying to subscribe to a user who has blocked the subscribing user.
-#: classes/Subscription.php:85
+#: classes/Subscription.php:87
 msgid "User has blocked you."
 msgstr "O utilizador bloqueou-o."
 
 #. TRANS: Exception thrown when trying to unsibscribe without a subscription.
 msgid "User has blocked you."
 msgstr "O utilizador bloqueou-o."
 
 #. TRANS: Exception thrown when trying to unsibscribe without a subscription.
-#: classes/Subscription.php:171
+#: classes/Subscription.php:176
 msgid "Not subscribed!"
 msgstr "Não subscrito!"
 
 #. TRANS: Exception thrown when trying to unsubscribe a user from themselves.
 msgid "Not subscribed!"
 msgstr "Não subscrito!"
 
 #. TRANS: Exception thrown when trying to unsubscribe a user from themselves.
-#: classes/Subscription.php:178
+#: classes/Subscription.php:183
 msgid "Could not delete self-subscription."
 msgstr "Não foi possível apagar a auto-subscrição."
 
 #. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server.
 msgid "Could not delete self-subscription."
 msgstr "Não foi possível apagar a auto-subscrição."
 
 #. TRANS: Exception thrown when the OMB token for a subscription could not deleted on the server.
-#: classes/Subscription.php:206
+#: classes/Subscription.php:211
 msgid "Could not delete subscription OMB token."
 msgstr "Não foi possível apagar a chave OMB da subscrição."
 
 #. TRANS: Exception thrown when a subscription could not be deleted on the server.
 msgid "Could not delete subscription OMB token."
 msgstr "Não foi possível apagar a chave OMB da subscrição."
 
 #. TRANS: Exception thrown when a subscription could not be deleted on the server.
-#: classes/Subscription.php:218
+#: classes/Subscription.php:223
 msgid "Could not delete subscription."
 msgstr "Não foi possível apagar a subscrição."
 
 #. TRANS: Activity tile when subscribing to another person.
 msgid "Could not delete subscription."
 msgstr "Não foi possível apagar a subscrição."
 
 #. TRANS: Activity tile when subscribing to another person.
-#: classes/Subscription.php:255
+#: classes/Subscription.php:265
 msgid "Follow"
 msgstr ""
 
 #. TRANS: Notification given when one person starts following another.
 #. TRANS: %1$s is the subscriber, %2$s is the subscribed.
 msgid "Follow"
 msgstr ""
 
 #. TRANS: Notification given when one person starts following another.
 #. TRANS: %1$s is the subscriber, %2$s is the subscribed.
-#: classes/Subscription.php:258
+#: classes/Subscription.php:268
 #, fuzzy, php-format
 msgid "%1$s is now following %2$s."
 msgstr "%1$s está agora a ouvir as suas notas em %2$s."
 
 #. TRANS: Notice given on user registration.
 #. TRANS: %1$s is the sitename, $2$s is the registering user's nickname.
 #, fuzzy, php-format
 msgid "%1$s is now following %2$s."
 msgstr "%1$s está agora a ouvir as suas notas em %2$s."
 
 #. TRANS: Notice given on user registration.
 #. TRANS: %1$s is the sitename, $2$s is the registering user's nickname.
-#: classes/User.php:384
+#: classes/User.php:395
 #, php-format
 msgid "Welcome to %1$s, @%2$s!"
 msgstr "%1$s dá-lhe as boas-vindas, @%2$s!"
 
 #, php-format
 msgid "Welcome to %1$s, @%2$s!"
 msgstr "%1$s dá-lhe as boas-vindas, @%2$s!"
 
+#. TRANS: Server exception.
+#: classes/User.php:918
+msgid "No single user defined for single-user mode."
+msgstr "Nenhum utilizador único definido para o modo de utilizador único."
+
+#. TRANS: Server exception.
+#: classes/User.php:922
+msgid "Single-user mode code called when not enabled."
+msgstr ""
+
 #. TRANS: Server exception thrown when creating a group failed.
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:520
 msgid "Could not create group."
 msgstr "Não foi possível criar o grupo."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
 msgid "Could not create group."
 msgstr "Não foi possível criar o grupo."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:530
 msgid "Could not set group URI."
 msgstr "Não foi possível configurar a URI do grupo."
 
 #. TRANS: Server exception thrown when setting group membership failed.
 msgid "Could not set group URI."
 msgstr "Não foi possível configurar a URI do grupo."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:553
 msgid "Could not set group membership."
 msgstr "Não foi possível configurar membros do grupo."
 
 msgid "Could not set group membership."
 msgstr "Não foi possível configurar membros do grupo."
 
-#. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
-msgid "Could not save local group info."
-msgstr "Não foi possível gravar a informação do grupo local."
+#. TRANS: Server exception thrown when saving local group information failed.
+#: classes/User_group.php:568
+msgid "Could not save local group info."
+msgstr "Não foi possível gravar a informação do grupo local."
+
+#. TRANS: Exception thrown when an account could not be located when it should be moved.
+#. TRANS: %s is the remote site.
+#: lib/accountmover.php:65
+#, fuzzy, php-format
+msgid "Cannot locate account %s."
+msgstr "Não pode apagar utilizadores."
+
+#. TRANS: Exception thrown when a service document could not be located account move.
+#. TRANS: %s is the remote site.
+#: lib/accountmover.php:106
+#, php-format
+msgid "Cannot find XRD for %s."
+msgstr ""
+
+#. TRANS: Exception thrown when an account could not be located when it should be moved.
+#. TRANS: %s is the remote site.
+#: lib/accountmover.php:131
+#, php-format
+msgid "No AtomPub API service for %s."
+msgstr ""
 
 #. TRANS: Link title attribute in user account settings menu.
 #: lib/accountsettingsaction.php:104
 
 #. TRANS: Link title attribute in user account settings menu.
 #: lib/accountsettingsaction.php:104
@@ -5446,186 +7042,204 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "Página sem título"
 
 msgid "Untitled page"
 msgstr "Página sem título"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:312
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:476
+#: lib/action.php:531
 msgid "Primary site navigation"
 msgstr "Navegação primária deste site"
 
 msgid "Primary site navigation"
 msgstr "Navegação primária deste site"
 
-#. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:482
+#. TRANS: Tooltip for main menu option "Personal".
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Perfil pessoal e notas dos amigos"
 
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Perfil pessoal e notas dos amigos"
 
-#. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:485
+#. TRANS: Main menu option when logged in for access to personal profile and friends timeline.
+#. TRANS: Personal group navigation menu option when logged in for viewing timeline of self and friends.
+#: lib/action.php:540 lib/personalgroupnav.php:100
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Pessoal"
 
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Pessoal"
 
-#. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:487
+#. TRANS: Tooltip for main menu option "Account".
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Altere o seu endereço electrónico, avatar, senha, perfil"
 
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Altere o seu endereço electrónico, avatar, senha, perfil"
 
-#. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:492
+#. TRANS: Main menu option when logged in for access to user settings.
+#: lib/action.php:545
+msgid "Account"
+msgstr "Conta"
+
+#. TRANS: Tooltip for main menu option "Services".
+#: lib/action.php:547
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Ligar aos serviços"
 
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Ligar aos serviços"
 
-#. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:495
+#. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services.
+#: lib/action.php:550
 msgid "Connect"
 msgstr "Ligar"
 
 msgid "Connect"
 msgstr "Ligar"
 
-#. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:498
+#. TRANS: Tooltip for menu option "Admin".
+#: lib/action.php:553
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Alterar a configuração do site"
 
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Alterar a configuração do site"
 
-#. TRANS: Main menu option when logged in and site admin for access to site configuration
+#. TRANS: Main menu option when logged in and site admin for access to site configuration.
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:501 lib/groupnav.php:117
+#: lib/action.php:556 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Gestor"
 
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Gestor"
 
-#. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:505
+#. TRANS: Tooltip for main menu option "Invite".
+#: lib/action.php:560
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Convidar amigos e colegas para se juntarem a si em %s"
 
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Convidar amigos e colegas para se juntarem a si em %s"
 
-#. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:508
+#. TRANS: Main menu option when logged in and invitations are allowed for inviting new users.
+#: lib/action.php:563
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Convidar"
 
 #. TRANS: Tooltip for main menu option "Logout"
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Convidar"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:514
+#: lib/action.php:569
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Terminar esta sessão"
 
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Terminar esta sessão"
 
-#. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:517
+#. TRANS: Main menu option when logged in to log out the current user.
+#: lib/action.php:572
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Sair"
 
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Sair"
 
-#. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:522
+#. TRANS: Tooltip for main menu option "Register".
+#: lib/action.php:577
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Criar uma conta"
 
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Criar uma conta"
 
-#. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:525
+#. TRANS: Main menu option when not logged in to register a new account.
+#. TRANS: Menu item for registering with the StatusNet site.
+#: lib/action.php:580 lib/logingroupnav.php:85
 msgctxt "MENU"
 msgid "Register"
 msgstr "Registar"
 
 msgctxt "MENU"
 msgid "Register"
 msgstr "Registar"
 
-#. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:528
+#. TRANS: Tooltip for main menu option "Login".
+#: lib/action.php:583
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Iniciar uma sessão"
 
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Iniciar uma sessão"
 
-#: lib/action.php:531
+#. TRANS: Main menu option when not logged in to log in.
+#. TRANS: Menu item for logging in to the StatusNet site.
+#: lib/action.php:586 lib/logingroupnav.php:77
 msgctxt "MENU"
 msgid "Login"
 msgstr "Entrar"
 
 msgctxt "MENU"
 msgid "Login"
 msgstr "Entrar"
 
-#. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:534
+#. TRANS: Tooltip for main menu option "Help".
+#: lib/action.php:589
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Ajudem-me!"
 
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Ajudem-me!"
 
-#: lib/action.php:537
+#. TRANS: Main menu option for help on the StatusNet site.
+#: lib/action.php:592
 msgctxt "MENU"
 msgid "Help"
 msgstr "Ajuda"
 
 msgctxt "MENU"
 msgid "Help"
 msgstr "Ajuda"
 
-#. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:540
+#. TRANS: Tooltip for main menu option "Search".
+#: lib/action.php:595
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Procurar pessoas ou pesquisar texto"
 
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Procurar pessoas ou pesquisar texto"
 
-#: lib/action.php:543
+#. TRANS: Main menu option when logged in or when the StatusNet instance is not private.
+#: lib/action.php:598
 msgctxt "MENU"
 msgid "Search"
 msgstr "Pesquisa"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
 msgctxt "MENU"
 msgid "Search"
 msgstr "Pesquisa"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:565 lib/adminpanelaction.php:387
+#: lib/action.php:620 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Aviso do site"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
 msgid "Site notice"
 msgstr "Aviso do site"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:632
+#: lib/action.php:687
 msgid "Local views"
 msgstr "Vistas locais"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
 msgid "Local views"
 msgstr "Vistas locais"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:702
+#: lib/action.php:757
 msgid "Page notice"
 msgstr "Aviso da página"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
 msgid "Page notice"
 msgstr "Aviso da página"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:803
+#: lib/action.php:858
 msgid "Secondary site navigation"
 msgstr "Navegação secundária deste site"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
 msgid "Secondary site navigation"
 msgstr "Navegação secundária deste site"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:809
+#: lib/action.php:864
 msgid "Help"
 msgstr "Ajuda"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
 msgid "Help"
 msgstr "Ajuda"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:812
+#: lib/action.php:867
 msgid "About"
 msgstr "Sobre"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
 msgid "About"
 msgstr "Sobre"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:815
+#: lib/action.php:870
 msgid "FAQ"
 msgstr "FAQ"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
 msgid "FAQ"
 msgstr "FAQ"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:820
+#: lib/action.php:875
 msgid "TOS"
 msgstr "Termos"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
 msgid "TOS"
 msgstr "Termos"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:824
+#: lib/action.php:879
 msgid "Privacy"
 msgstr "Privacidade"
 
 msgid "Privacy"
 msgstr "Privacidade"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:827
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:882
 msgid "Source"
 msgstr "Código fonte"
 
 msgid "Source"
 msgstr "Código fonte"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:833
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:889
 msgid "Contact"
 msgstr "Contacto"
 
 msgid "Contact"
 msgstr "Contacto"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:836
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:892
 msgid "Badge"
 msgstr "Emblema"
 
 #. TRANS: DT element for StatusNet software license.
 msgid "Badge"
 msgstr "Emblema"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:865
+#: lib/action.php:921
 msgid "StatusNet software license"
 msgstr "Licença de software do StatusNet"
 
 msgid "StatusNet software license"
 msgstr "Licença de software do StatusNet"
 
@@ -5633,7 +7247,7 @@ msgstr "Licença de software do StatusNet"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:872
+#: lib/action.php:928
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -5643,7 +7257,7 @@ msgstr ""
 "broughtby%%](%%site.broughtbyurl%%)."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
 "broughtby%%](%%site.broughtbyurl%%)."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:875
+#: lib/action.php:931
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** é um serviço de microblogues."
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** é um serviço de microblogues."
@@ -5652,7 +7266,7 @@ msgstr "**%%site.name%%** é um serviço de microblogues."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:882
+#: lib/action.php:938
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -5664,20 +7278,20 @@ msgstr ""
 "fsf.org/licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
 "fsf.org/licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:898
+#: lib/action.php:954
 msgid "Site content license"
 msgstr "Licença de conteúdos do site"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
 msgid "Site content license"
 msgstr "Licença de conteúdos do site"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:905
+#: lib/action.php:961
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "O conteúdo e dados do site %1$s são privados e confidenciais."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "O conteúdo e dados do site %1$s são privados e confidenciais."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:912
+#: lib/action.php:968
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
@@ -5685,7 +7299,7 @@ msgstr ""
 "direitos reservados."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
 "direitos reservados."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:916
+#: lib/action.php:972
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 "Direitos de autor sobre o conteúdo e dados detidos pelos contribuidores. "
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 "Direitos de autor sobre o conteúdo e dados detidos pelos contribuidores. "
@@ -5693,7 +7307,7 @@ msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:948
+#: lib/action.php:1004
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
@@ -5701,29 +7315,97 @@ msgstr ""
 "licença %2$s."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
 "licença %2$s."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1284
+#: lib/action.php:1340
 msgid "Pagination"
 msgstr "Paginação"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
 msgid "Pagination"
 msgstr "Paginação"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1295
+#: lib/action.php:1351
 msgid "After"
 msgstr "Posteriores"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
 msgid "After"
 msgstr "Posteriores"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1305
+#: lib/action.php:1361
 msgid "Before"
 msgstr "Anteriores"
 
 #. TRANS: Client exception thrown when a feed instance is a DOMDocument.
 msgid "Before"
 msgstr "Anteriores"
 
 #. TRANS: Client exception thrown when a feed instance is a DOMDocument.
-#: lib/activity.php:120
+#: lib/activity.php:125
 msgid "Expecting a root feed element but got a whole XML document."
 msgstr ""
 "Era esperado um elemento raiz da fonte, mas foi recebido um documento XML "
 "inteiro."
 
 msgid "Expecting a root feed element but got a whole XML document."
 msgstr ""
 "Era esperado um elemento raiz da fonte, mas foi recebido um documento XML "
 "inteiro."
 
+#. TRANS: Client exception thrown when using an unknown verb for the activity importer.
+#: lib/activityimporter.php:81
+#, fuzzy, php-format
+msgid "Unknown verb: \"%s\"."
+msgstr "Língua desconhecida \"%s\"."
+
+#. TRANS: Client exception thrown when trying to force a subscription for an untrusted user.
+#: lib/activityimporter.php:107
+msgid "Cannot force subscription for untrusted user."
+msgstr ""
+
+#. TRANS: Client exception thrown when trying to for a remote user to subscribe.
+#: lib/activityimporter.php:117
+#, fuzzy
+msgid "Cannot force remote user to subscribe."
+msgstr "Introduza o nome do utilizador para subscrever."
+
+#. TRANS: Client exception thrown when trying to subscribe to an unknown profile.
+#: lib/activityimporter.php:132
+#, fuzzy
+msgid "Unknown profile."
+msgstr "Tipo do ficheiro é desconhecido"
+
+#. TRANS: Client exception thrown when trying to import an event not related to the importing user.
+#: lib/activityimporter.php:138
+msgid "This activity seems unrelated to our user."
+msgstr ""
+
+#. TRANS: Client exception thrown when trying to join a remote group that is not a group.
+#: lib/activityimporter.php:154
+msgid "Remote profile is not a group!"
+msgstr ""
+
+#. TRANS: Client exception thrown when trying to join a group the importing user is already a member of.
+#: lib/activityimporter.php:163
+#, fuzzy
+msgid "User is already a member of this group."
+msgstr "Já é membro desse grupo."
+
+#. TRANS: Client exception thrown when trying to overwrite the author information for a non-trusted user during import.
+#: lib/activityimporter.php:207
+msgid "Not overwriting author info for non-trusted user."
+msgstr ""
+
+#. TRANS: Client exception thrown when trying to import a notice without content.
+#. TRANS: %s is the notice URI.
+#: lib/activityimporter.php:223
+#, fuzzy, php-format
+msgid "No content for notice %s."
+msgstr "Procurar no conteúdo das notas"
+
+#: lib/activitymover.php:84
+#, fuzzy, php-format
+msgid "No such user %s."
+msgstr "Utilizador não foi encontrado."
+
+#. TRANS: Client exception thrown when post to collection fails with a 400 status.
+#. TRANS: %1$s is a URL, %2$s is the status, %s$s is the fail reason.
+#. TRANS: Server exception thrown when post to collection fails with a 500 status.
+#. TRANS: %1$s is a URL, %2$s is the status, %s$s is the fail reason.
+#. TRANS: Exception thrown when post to collection fails with a status that is not handled.
+#. TRANS: %1$s is a URL, %2$s is the status, %s$s is the fail reason.
+#: lib/activitysink.php:163 lib/activitysink.php:167 lib/activitysink.php:172
+#, fuzzy, php-format
+msgctxt "URLSTATUSREASON"
+msgid "%1$s %2$s %3$s"
+msgstr "%1$s - %2$s"
+
 #. TRANS: Client exception thrown when there is no source attribute.
 #: lib/activityutils.php:200
 msgid "Can't handle remote content yet."
 #. TRANS: Client exception thrown when there is no source attribute.
 #: lib/activityutils.php:200
 msgid "Can't handle remote content yet."
@@ -5794,7 +7476,7 @@ msgid "User configuration"
 msgstr "Configuração do utilizador"
 
 #. TRANS: Menu item for site administration
 msgstr "Configuração do utilizador"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:122
 msgid "User"
 msgstr "Utilizador"
 
 msgid "User"
 msgstr "Utilizador"
 
@@ -5834,41 +7516,69 @@ msgid "API resource requires read-write access, but you only have read access."
 msgstr "API requer acesso de leitura e escrita, mas só tem acesso de leitura."
 
 #. TRANS: OAuth exception thrown when no application is found for a given consumer key.
 msgstr "API requer acesso de leitura e escrita, mas só tem acesso de leitura."
 
 #. TRANS: OAuth exception thrown when no application is found for a given consumer key.
-#: lib/apiauth.php:175
+#: lib/apiauth.php:177
 msgid "No application for that consumer key."
 msgstr "Nenhuma aplicação para essa chave de consumidor."
 
 #. TRANS: OAuth exception given when an incorrect access token was given for a user.
 msgid "No application for that consumer key."
 msgstr "Nenhuma aplicação para essa chave de consumidor."
 
 #. TRANS: OAuth exception given when an incorrect access token was given for a user.
-#: lib/apiauth.php:212
+#: lib/apiauth.php:219
 msgid "Bad access token."
 msgstr "Código de acesso incorrecto."
 
 #. TRANS: OAuth exception given when no user was found for a given token (no token was found).
 msgid "Bad access token."
 msgstr "Código de acesso incorrecto."
 
 #. TRANS: OAuth exception given when no user was found for a given token (no token was found).
-#: lib/apiauth.php:217
+#: lib/apiauth.php:224
 msgid "No user for that token."
 msgstr "Nenhum utilizador para esse código."
 
 #. TRANS: Client error thrown when authentication fails becaus a user clicked "Cancel".
 #. TRANS: Client error thrown when authentication fails.
 msgid "No user for that token."
 msgstr "Nenhum utilizador para esse código."
 
 #. TRANS: Client error thrown when authentication fails becaus a user clicked "Cancel".
 #. TRANS: Client error thrown when authentication fails.
-#: lib/apiauth.php:258 lib/apiauth.php:290
+#: lib/apiauth.php:266 lib/apiauth.php:293
 msgid "Could not authenticate you."
 msgstr "Não foi possível autenticá-lo."
 
 msgid "Could not authenticate you."
 msgstr "Não foi possível autenticá-lo."
 
+#. TRANS: Server error displayed when trying to create an anynymous OAuth consumer.
+#: lib/apioauthstore.php:45
+#, fuzzy
+msgid "Could not create anonymous consumer."
+msgstr "Não foi possível criar os nomes alternativos."
+
+#. TRANS: Server error displayed when trying to create an anynymous OAuth application.
+#: lib/apioauthstore.php:69
+#, fuzzy
+msgid "Could not create anonymous OAuth application."
+msgstr "Não foi possível criar a aplicação."
+
+#. TRANS: Exception thrown when no token association could be found.
+#: lib/apioauthstore.php:151
+msgid ""
+"Could not find a profile and application associated with the request token."
+msgstr ""
+
+#. TRANS: Exception thrown when no access token can be issued.
+#: lib/apioauthstore.php:209
+#, fuzzy
+msgid "Could not issue access token."
+msgstr "Não foi possível inserir a mensagem."
+
+#: lib/apioauthstore.php:317
+msgid "Database error inserting OAuth application user."
+msgstr "Erro na base de dados ao inserir o utilizador da aplicação OAuth."
+
+#: lib/apioauthstore.php:345
+#, fuzzy
+msgid "Database error updating OAuth application user."
+msgstr "Erro na base de dados ao inserir o utilizador da aplicação OAuth."
+
 #. TRANS: Exception thrown when an attempt is made to revoke an unknown token.
 #. TRANS: Exception thrown when an attempt is made to revoke an unknown token.
-#: lib/apioauthstore.php:184
+#: lib/apioauthstore.php:371
 msgid "Tried to revoke unknown token."
 msgstr "Tentou revogar um código desconhecido."
 
 #. TRANS: Exception thrown when an attempt is made to remove a revoked token.
 msgid "Tried to revoke unknown token."
 msgstr "Tentou revogar um código desconhecido."
 
 #. TRANS: Exception thrown when an attempt is made to remove a revoked token.
-#: lib/apioauthstore.php:189
+#: lib/apioauthstore.php:376
 msgid "Failed to delete revoked token."
 msgstr "Falha ao eliminar código revogado."
 
 msgid "Failed to delete revoked token."
 msgstr "Falha ao eliminar código revogado."
 
-#. TRANS: Form legend.
-#: lib/applicationeditform.php:129
-msgid "Edit application"
-msgstr "Editar aplicação"
-
 #. TRANS: Form guide.
 #: lib/applicationeditform.php:178
 msgid "Icon for this application"
 #. TRANS: Form guide.
 #: lib/applicationeditform.php:178
 msgid "Icon for this application"
@@ -5943,39 +7653,61 @@ msgstr "Leitura e escrita"
 msgid "Default access for this application: read-only, or read-write"
 msgstr "Acesso por omissão para esta aplicação: leitura ou leitura e escrita"
 
 msgid "Default access for this application: read-only, or read-write"
 msgstr "Acesso por omissão para esta aplicação: leitura ou leitura e escrita"
 
+#. TRANS: Submit button title.
+#: lib/applicationeditform.php:353
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: lib/applicationlist.php:247
+msgid " by "
+msgstr ""
+
 #. TRANS: Application access type
 #. TRANS: Application access type
-#: lib/applicationlist.php:134
+#: lib/applicationlist.php:260
 msgid "read-write"
 msgstr "leitura e escrita"
 
 #. TRANS: Application access type
 msgid "read-write"
 msgstr "leitura e escrita"
 
 #. TRANS: Application access type
-#: lib/applicationlist.php:136
+#: lib/applicationlist.php:262
 msgid "read-only"
 msgstr "leitura"
 
 #. TRANS: Used in application list. %1$s is a modified date, %2$s is access type ("read-write" or "read-only")
 msgid "read-only"
 msgstr "leitura"
 
 #. TRANS: Used in application list. %1$s is a modified date, %2$s is access type ("read-write" or "read-only")
-#: lib/applicationlist.php:142
+#: lib/applicationlist.php:268
 #, php-format
 msgid "Approved %1$s - \"%2$s\" access."
 msgstr "Aprovado a %1$s - acesso \"%2$s\"."
 
 #, php-format
 msgid "Approved %1$s - \"%2$s\" access."
 msgstr "Aprovado a %1$s - acesso \"%2$s\"."
 
+#. TRANS: Access token in the application list.
+#. TRANS: %s are the first 7 characters of the access token.
+#: lib/applicationlist.php:282
+#, php-format
+msgid "Access token starting with: %s"
+msgstr ""
+
 #. TRANS: Button label
 #. TRANS: Button label
-#: lib/applicationlist.php:157
+#: lib/applicationlist.php:298
 msgctxt "BUTTON"
 msgid "Revoke"
 msgstr "Retirar"
 
 msgctxt "BUTTON"
 msgid "Revoke"
 msgstr "Retirar"
 
-#: lib/atom10feed.php:112
-msgid "author element must contain a name element."
+#: lib/atom10feed.php:113
+msgid "Author element must contain a name element."
 msgstr ""
 
 msgstr ""
 
+#. TRANS: Server exception thrown when using the method setActivitySubject() in the class Atom10Feed.
+#: lib/atom10feed.php:160
+#, fuzzy
+msgid "Do not use this method!"
+msgstr "Não apagar esta nota"
+
 #. TRANS: DT element label in attachment list item.
 #. TRANS: DT element label in attachment list item.
-#: lib/attachmentlist.php:256
+#: lib/attachmentlist.php:294
 msgid "Author"
 msgstr "Autor"
 
 #. TRANS: DT element label in attachment list item.
 msgid "Author"
 msgstr "Autor"
 
 #. TRANS: DT element label in attachment list item.
-#: lib/attachmentlist.php:270
+#: lib/attachmentlist.php:308
 msgid "Provider"
 msgstr "Fornecedor"
 
 msgid "Provider"
 msgstr "Fornecedor"
 
@@ -6018,7 +7750,7 @@ msgid "AJAX error"
 msgstr "Erro do Ajax"
 
 #. TRANS: E-mail subject when a command has completed.
 msgstr "Erro do Ajax"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Comando terminado"
 
 msgid "Command complete"
 msgstr "Comando terminado"
 
@@ -6034,7 +7766,7 @@ msgstr "Não existe nenhuma nota com essa identificação."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr "Utilizador não tem nenhuma última nota."
 
 msgid "User has no last notice."
 msgstr "Utilizador não tem nenhuma última nota."
 
@@ -6103,6 +7835,14 @@ msgstr "%1$s juntou-se ao grupo %2$s."
 msgid "%1$s left group %2$s."
 msgstr "%1$s deixou o grupo %2$s."
 
 msgid "%1$s left group %2$s."
 msgstr "%1$s deixou o grupo %2$s."
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6110,15 +7850,17 @@ msgid "Fullname: %s"
 msgstr "Nome completo: %s"
 
 #. TRANS: Whois output. %s is the location of the queried user.
 msgstr "Nome completo: %s"
 
 #. TRANS: Whois output. %s is the location of the queried user.
-#. TRANS: Profile info line in new-subscriber notification e-mail
-#: lib/command.php:434 lib/mail.php:268
+#. TRANS: Profile info line in new-subscriber notification e-mail.
+#. TRANS: %s is a location.
+#: lib/command.php:434 lib/mail.php:270
 #, php-format
 msgid "Location: %s"
 msgstr "Localidade: %s"
 
 #. TRANS: Whois output. %s is the homepage of the queried user.
 #, php-format
 msgid "Location: %s"
 msgstr "Localidade: %s"
 
 #. TRANS: Whois output. %s is the homepage of the queried user.
-#. TRANS: Profile info line in new-subscriber notification e-mail
-#: lib/command.php:438 lib/mail.php:271
+#. TRANS: Profile info line in new-subscriber notification e-mail.
+#. TRANS: %s is a homepage.
+#: lib/command.php:438 lib/mail.php:274
 #, php-format
 msgid "Homepage: %s"
 msgstr "Página pessoal: %s"
 #, php-format
 msgid "Homepage: %s"
 msgstr "Página pessoal: %s"
@@ -6140,133 +7882,137 @@ msgstr ""
 "%s é um perfil remoto; só pode enviar mensagens directas a utilizadores no "
 "mesmo servidor."
 
 "%s é um perfil remoto; só pode enviar mensagens directas a utilizadores no "
 "mesmo servidor."
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:488 lib/xmppmanager.php:403
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Mensagem demasiado extensa - máx. %1$d caracteres, enviou %2$d."
+#: lib/command.php:488
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Mensagem demasiado extensa - máx. %1$d caracteres, enviou %2$d."
+msgstr[1] "Mensagem demasiado extensa - máx. %1$d caracteres, enviou %2$d."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Erro no envio da mensagem directa."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
 msgid "Error sending direct message."
 msgstr "Erro no envio da mensagem directa."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "Nota de %s repetida."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "Nota de %s repetida."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Erro ao repetir nota."
 
 msgid "Error repeating notice."
 msgstr "Erro ao repetir nota."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Nota demasiado extensa - máx. %1$d caracteres, enviou %2$d."
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Nota demasiado extensa - máx. %1$d caracteres, enviou %2$d."
+msgstr[1] "Nota demasiado extensa - máx. %1$d caracteres, enviou %2$d."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "Resposta a %s enviada."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
 #, php-format
 msgid "Reply to %s sent."
 msgstr "Resposta a %s enviada."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Erro ao gravar nota."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
 msgid "Error saving notice."
 msgstr "Erro ao gravar nota."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr "Introduza o nome do utilizador para subscrever."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
 msgid "Specify the name of the user to subscribe to."
 msgstr "Introduza o nome do utilizador para subscrever."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Não pode subscrever perfis OMB por comando."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Não pode subscrever perfis OMB por comando."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr "Subscreveu %s."
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
 #, php-format
 msgid "Subscribed to %s."
 msgstr "Subscreveu %s."
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Introduza o nome do utilizador para deixar de subscrever."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Introduza o nome do utilizador para deixar de subscrever."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr "Deixou de subscrever %s."
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr "Deixou de subscrever %s."
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Comando ainda não implementado."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
 msgid "Command not yet implemented."
 msgstr "Comando ainda não implementado."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Notificação desligada."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
 msgid "Notification off."
 msgstr "Notificação desligada."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Não foi possível desligar a notificação."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
 msgid "Can't turn off notification."
 msgstr "Não foi possível desligar a notificação."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Notificação ligada."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
 msgid "Notification on."
 msgstr "Notificação ligada."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Não foi possível ligar a notificação."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
 msgid "Can't turn on notification."
 msgstr "Não foi possível ligar a notificação."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr "Comando para iniciar sessão foi desactivado."
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
 msgid "Login command is disabled."
 msgstr "Comando para iniciar sessão foi desactivado."
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr "O link é utilizável uma única vez e só é válido durante 2 minutos: %s."
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr "O link é utilizável uma única vez e só é válido durante 2 minutos: %s."
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "Subscrição de %s cancelada."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "Subscrição de %s cancelada."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "Não subscreveu ninguém."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
 msgid "You are not subscribed to anyone."
 msgstr "Não subscreveu ninguém."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Subscreveu esta pessoa:"
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Subscreveu esta pessoa:"
@@ -6274,14 +8020,14 @@ msgstr[1] "Subscreveu estas pessoas:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Ninguém subscreve as suas notas."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
 msgid "No one is subscribed to you."
 msgstr "Ninguém subscreve as suas notas."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Esta pessoa subscreve as suas notas:"
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Esta pessoa subscreve as suas notas:"
@@ -6289,21 +8035,21 @@ msgstr[1] "Estas pessoas subscrevem as suas notas:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "Não está em nenhum grupo."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
 msgid "You are not a member of any groups."
 msgstr "Não está em nenhum grupo."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Está no grupo:"
 msgstr[1] "Está nos grupos:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Está no grupo:"
 msgstr[1] "Está nos grupos:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -6384,24 +8130,26 @@ msgstr ""
 "tracking - ainda não implementado.\n"
 
 #. TRANS: Error message displayed when no configuration file was found for a StatusNet installation.
 "tracking - ainda não implementado.\n"
 
 #. TRANS: Error message displayed when no configuration file was found for a StatusNet installation.
-#: lib/common.php:136
-msgid "No configuration file found. "
+#: lib/common.php:161
+#, fuzzy
+msgid "No configuration file found."
 msgstr "Ficheiro de configuração não encontrado. "
 
 #. TRANS: Error message displayed when no configuration file was found for a StatusNet installation.
 #. TRANS: Is followed by a list of directories (separated by HTML breaks).
 msgstr "Ficheiro de configuração não encontrado. "
 
 #. TRANS: Error message displayed when no configuration file was found for a StatusNet installation.
 #. TRANS: Is followed by a list of directories (separated by HTML breaks).
-#: lib/common.php:139
-msgid "I looked for configuration files in the following places: "
+#: lib/common.php:164
+#, fuzzy
+msgid "I looked for configuration files in the following places:"
 msgstr "Procurei ficheiros de configuração nos seguintes sítios: "
 
 #. TRANS: Error message displayed when no configuration file was found for a StatusNet installation.
 msgstr "Procurei ficheiros de configuração nos seguintes sítios: "
 
 #. TRANS: Error message displayed when no configuration file was found for a StatusNet installation.
-#: lib/common.php:142
+#: lib/common.php:167
 msgid "You may wish to run the installer to fix this."
 msgstr "Talvez queira correr o instalador para resolver esta questão."
 
 #. TRANS: Error message displayed when no configuration file was found for a StatusNet installation.
 #. TRANS: The text is link text that leads to the installer page.
 msgid "You may wish to run the installer to fix this."
 msgstr "Talvez queira correr o instalador para resolver esta questão."
 
 #. TRANS: Error message displayed when no configuration file was found for a StatusNet installation.
 #. TRANS: The text is link text that leads to the installer page.
-#: lib/common.php:146
+#: lib/common.php:171
 msgid "Go to the installer."
 msgstr "Ir para o instalador."
 
 msgid "Go to the installer."
 msgstr "Ir para o instalador."
 
@@ -6441,14 +8189,17 @@ msgstr "Ligações"
 msgid "Authorized connected applications"
 msgstr "Aplicações ligadas autorizadas"
 
 msgid "Authorized connected applications"
 msgstr "Aplicações ligadas autorizadas"
 
-#: lib/dberroraction.php:60
+#: lib/dberroraction.php:59
 msgid "Database error"
 msgstr "Erro de base de dados"
 
 msgid "Database error"
 msgstr "Erro de base de dados"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Carregar ficheiro"
 
 msgid "Upload file"
 msgstr "Carregar ficheiro"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
@@ -6456,34 +8207,103 @@ msgstr ""
 "Pode carregar uma imagem de fundo pessoal. O tamanho máximo do ficheiro é "
 "2MB."
 
 "Pode carregar uma imagem de fundo pessoal. O tamanho máximo do ficheiro é "
 "2MB."
 
-#: lib/designsettings.php:418
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "Ligar"
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Desligar"
+
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: lib/designsettings.php:175
+msgid "Change colours"
+msgstr "Alterar cores"
+
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: lib/designsettings.php:257
+msgid "Use defaults"
+msgstr "Usar predefinições"
+
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
+#: lib/designsettings.php:405 lib/designsettings.php:427
+msgid "Couldn't update your design."
+msgstr "Não foi possível actualizar o estilo."
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "Predefinições do estilo repostas"
 
 msgid "Design defaults restored."
 msgstr "Predefinições do estilo repostas"
 
-#: lib/disfavorform.php:114 lib/disfavorform.php:144
+#. TRANS: Exception. %s is an ID.
+#: lib/discovery.php:153
+#, fuzzy, php-format
+msgid "Unable to find services for %s."
+msgstr "Não foi possível retirar acesso da aplicação: %s"
+
+#. TRANS: Form legend for removing the favourite status for a favourite notice.
+#. TRANS: Title for button text for removing the favourite status for a favourite notice.
+#: lib/disfavorform.php:108 lib/disfavorform.php:140
 msgid "Disfavor this notice"
 msgstr "Retirar esta nota das favoritas"
 
 msgid "Disfavor this notice"
 msgstr "Retirar esta nota das favoritas"
 
-#: lib/favorform.php:114 lib/favorform.php:143
+#. TRANS: Button text for removing the favourite status for a favourite notice.
+#: lib/disfavorform.php:136
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Disfavor favorite"
+msgstr "Retirar das favoritas"
+
+#. TRANS: Form legend for adding the favourite status to a notice.
+#. TRANS: Title for button text for adding the favourite status to a notice.
+#: lib/favorform.php:108 lib/favorform.php:139
 msgid "Favor this notice"
 msgstr "Eleger esta nota como favorita"
 
 msgid "Favor this notice"
 msgstr "Eleger esta nota como favorita"
 
-#: lib/feed.php:85
+#. TRANS: Button text for adding the favourite status to a notice.
+#: lib/favorform.php:135
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Favor"
+msgstr "Eleger como favorita"
+
+#: lib/feed.php:84
 msgid "RSS 1.0"
 msgstr "RSS 1.0"
 
 msgid "RSS 1.0"
 msgstr "RSS 1.0"
 
-#: lib/feed.php:87
+#: lib/feed.php:86
 msgid "RSS 2.0"
 msgstr "RSS 2.0"
 
 msgid "RSS 2.0"
 msgstr "RSS 2.0"
 
-#: lib/feed.php:89
+#: lib/feed.php:88
 msgid "Atom"
 msgstr "Atom"
 
 msgid "Atom"
 msgstr "Atom"
 
-#: lib/feed.php:91
+#: lib/feed.php:90
 msgid "FOAF"
 msgstr "FOAF"
 
 msgid "FOAF"
 msgstr "FOAF"
 
+#: lib/feedimporter.php:75
+#, fuzzy
+msgid "Not an atom feed."
+msgstr "Todos os membros"
+
+#: lib/feedimporter.php:82
+msgid "No author in the feed."
+msgstr ""
+
+#: lib/feedimporter.php:89
+msgid "Can't import without a user."
+msgstr ""
+
+#. TRANS: Header for feed links (h2).
 #: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 #: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
@@ -6517,28 +8337,39 @@ msgstr "Prosseguir"
 msgid "Grant this user the \"%s\" role"
 msgstr "Atribuir a este utilizador a função \"%s\""
 
 msgid "Grant this user the \"%s\" role"
 msgstr "Atribuir a este utilizador a função \"%s\""
 
-#: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#: lib/groupeditform.php:155
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "URL da página ou do blogue, deste grupo ou assunto"
 
 msgstr "URL da página ou do blogue, deste grupo ou assunto"
 
-#: lib/groupeditform.php:168
+#: lib/groupeditform.php:160
 msgid "Describe the group or topic"
 msgstr "Descreva o grupo ou assunto"
 
 msgid "Describe the group or topic"
 msgstr "Descreva o grupo ou assunto"
 
-#: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Descreva o grupo ou o assunto em %d caracteres"
+#: lib/groupeditform.php:162
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less."
+msgid_plural "Describe the group or topic in %d characters or less."
+msgstr[0] "Descreva o grupo ou o assunto em %d caracteres"
+msgstr[1] "Descreva o grupo ou o assunto em %d caracteres"
 
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:174
+#, fuzzy
 msgid ""
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr "Localidade do grupo, se aplicável, por ex. \"Cidade, Região, País\""
 
 msgstr "Localidade do grupo, se aplicável, por ex. \"Cidade, Região, País\""
 
-#: lib/groupeditform.php:187
-#, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+#: lib/groupeditform.php:182
+#, fuzzy, php-format
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+"Nomes adicionais para o grupo, separados por vírgulas ou espaços, máx. %d"
+msgstr[1] ""
 "Nomes adicionais para o grupo, separados por vírgulas ou espaços, máx. %d"
 
 #. TRANS: Menu item in the group navigation page.
 "Nomes adicionais para o grupo, separados por vírgulas ou espaços, máx. %d"
 
 #. TRANS: Menu item in the group navigation page.
@@ -6613,15 +8444,19 @@ msgctxt "TOOLTIP"
 msgid "Add or edit %s design"
 msgstr "Adicionar ou editar o design de %s"
 
 msgid "Add or edit %s design"
 msgstr "Adicionar ou editar o design de %s"
 
+#. TRANS: Title for groups with the most members section.
 #: lib/groupsbymemberssection.php:71
 msgid "Groups with most members"
 msgstr "Grupos com mais membros"
 
 #: lib/groupsbymemberssection.php:71
 msgid "Groups with most members"
 msgstr "Grupos com mais membros"
 
+#. TRANS: Title for groups with the most posts section.
 #: lib/groupsbypostssection.php:71
 msgid "Groups with most posts"
 msgstr "Grupos com mais notas"
 
 #: lib/groupsbypostssection.php:71
 msgid "Groups with most posts"
 msgstr "Grupos com mais notas"
 
-#: lib/grouptagcloudsection.php:56
+#. TRANS: Title for group tag cloud section.
+#. TRANS: %s is a group name.
+#: lib/grouptagcloudsection.php:57
 #, php-format
 msgid "Tags in %s group's notices"
 msgstr "Categorias nas notas do grupo %s"
 #, php-format
 msgid "Tags in %s group's notices"
 msgstr "Categorias nas notas do grupo %s"
@@ -6631,43 +8466,62 @@ msgstr "Categorias nas notas do grupo %s"
 msgid "This page is not available in a media type you accept"
 msgstr "Esta página não está disponível num formato que você aceite"
 
 msgid "This page is not available in a media type you accept"
 msgstr "Esta página não está disponível num formato que você aceite"
 
-#: lib/imagefile.php:72
+#. TRANS: Exception thrown when trying to upload an unsupported image file format.
+#: lib/imagefile.php:73
 msgid "Unsupported image file format."
 msgstr "Formato do ficheiro da imagem não é suportado."
 
 msgid "Unsupported image file format."
 msgstr "Formato do ficheiro da imagem não é suportado."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:91
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Esse ficheiro é demasiado grande. O tamanho máximo de ficheiro é %s."
 
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Esse ficheiro é demasiado grande. O tamanho máximo de ficheiro é %s."
 
-#: lib/imagefile.php:93
+#. TRANS: Exception thrown when uploading an image and that action could not be completed.
+#: lib/imagefile.php:97
 msgid "Partial upload."
 msgstr "Transferência parcial."
 
 msgid "Partial upload."
 msgstr "Transferência parcial."
 
-#. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
-msgid "System error uploading file."
-msgstr "Ocorreu um erro de sistema ao transferir o ficheiro."
-
-#: lib/imagefile.php:109
+#. TRANS: Exception thrown when uploading a file as image that is not an image or is a corrupt file.
+#: lib/imagefile.php:115
 msgid "Not an image or corrupt file."
 msgstr "Ficheiro não é uma imagem ou está corrompido."
 
 msgid "Not an image or corrupt file."
 msgstr "Ficheiro não é uma imagem ou está corrompido."
 
-#: lib/imagefile.php:122
+#. TRANS: Exception thrown during resize when image has been registered as present, but is no longer there.
+#: lib/imagefile.php:178
 msgid "Lost our file."
 msgstr "Perdi o nosso ficheiro."
 
 msgid "Lost our file."
 msgstr "Perdi o nosso ficheiro."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#. TRANS: Exception thrown when trying to resize an unknown file type.
+#. TRANS: Exception thrown when trying resize an unknown file type.
+#: lib/imagefile.php:216 lib/imagefile.php:257
 msgid "Unknown file type"
 msgstr "Tipo do ficheiro é desconhecido"
 
 msgid "Unknown file type"
 msgstr "Tipo do ficheiro é desconhecido"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:303
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "MB"
+msgstr[1] "MB"
+
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:307
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "kB"
+msgstr[1] "kB"
 
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "kB"
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:310
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
 
 #: lib/jabber.php:387
 #, php-format
 
 #: lib/jabber.php:387
 #, php-format
@@ -6683,35 +8537,39 @@ msgstr "Origem da caixa de entrada desconhecida \"%s\"."
 msgid "Leave"
 msgstr "Afastar-me"
 
 msgid "Leave"
 msgstr "Afastar-me"
 
-#: lib/logingroupnav.php:80
+#. TRANS: Title for menu item for logging in to the StatusNet site.
+#: lib/logingroupnav.php:79
 msgid "Login with a username and password"
 msgstr "Iniciar sessão com um nome de utilizador e senha"
 
 msgid "Login with a username and password"
 msgstr "Iniciar sessão com um nome de utilizador e senha"
 
-#: lib/logingroupnav.php:86
+#. TRANS: Title for menu item for registering with the StatusNet site.
+#: lib/logingroupnav.php:87
 msgid "Sign up for a new account"
 msgstr "Registar uma conta nova"
 
 msgid "Sign up for a new account"
 msgstr "Registar uma conta nova"
 
-#. TRANS: Subject for address confirmation email
-#: lib/mail.php:174
+#. TRANS: Subject for address confirmation email.
+#: lib/mail.php:168
 msgid "Email address confirmation"
 msgstr "Confirmação do endereço electrónico"
 
 #. TRANS: Body for address confirmation email.
 msgid "Email address confirmation"
 msgstr "Confirmação do endereço electrónico"
 
 #. TRANS: Body for address confirmation email.
-#: lib/mail.php:177
-#, php-format
+#. TRANS: %1$s is the addressed user's nickname, %2$s is the StatusNet sitename,
+#. TRANS: %3$s is the URL to confirm at.
+#: lib/mail.php:173
+#, fuzzy, php-format
 msgid ""
 msgid ""
-"Hey, %s.\n"
+"Hey, %1$s.\n"
 "\n"
 "\n"
-"Someone just entered this email address on %s.\n"
+"Someone just entered this email address on %2$s.\n"
 "\n"
 "If it was you, and you want to confirm your entry, use the URL below:\n"
 "\n"
 "\n"
 "If it was you, and you want to confirm your entry, use the URL below:\n"
 "\n"
-"\t%s\n"
+"\t%3$s\n"
 "\n"
 "If not, just ignore this message.\n"
 "\n"
 "Thanks for your time, \n"
 "\n"
 "If not, just ignore this message.\n"
 "\n"
 "Thanks for your time, \n"
-"%s\n"
+"%2$s\n"
 msgstr ""
 "Olá, %s.\n"
 "\n"
 msgstr ""
 "Olá, %s.\n"
 "\n"
@@ -6726,13 +8584,16 @@ msgstr ""
 "Obrigado pelo tempo que dedicou,  \n"
 "%s\n"
 
 "Obrigado pelo tempo que dedicou,  \n"
 "%s\n"
 
-#. TRANS: Subject of new-subscriber notification e-mail
-#: lib/mail.php:243
+#. TRANS: Subject of new-subscriber notification e-mail.
+#. TRANS: %1$s is the subscribing user's nickname, %2$s is the StatusNet sitename.
+#: lib/mail.php:238
 #, php-format
 msgid "%1$s is now listening to your notices on %2$s."
 msgstr "%1$s está agora a ouvir as suas notas em %2$s."
 
 #, php-format
 msgid "%1$s is now listening to your notices on %2$s."
 msgstr "%1$s está agora a ouvir as suas notas em %2$s."
 
-#: lib/mail.php:248
+#. TRANS: This is a paragraph in a new-subscriber e-mail.
+#. TRANS: %s is a URL where the subscriber can be reported as abusive.
+#: lib/mail.php:245
 #, php-format
 msgid ""
 "If you believe this account is being used abusively, you can block them from "
 #, php-format
 msgid ""
 "If you believe this account is being used abusively, you can block them from "
@@ -6742,9 +8603,13 @@ msgstr ""
 "sua lista de subscritores e reportá-la como spam aos administradores do site "
 "em %s"
 
 "sua lista de subscritores e reportá-la como spam aos administradores do site "
 "em %s"
 
-#. TRANS: Main body of new-subscriber notification e-mail
-#: lib/mail.php:254
-#, php-format
+#. TRANS: Main body of new-subscriber notification e-mail.
+#. TRANS: %1$s is the subscriber's long name, %2$s is the StatusNet sitename,
+#. TRANS: %3$s is the subscriber's profile URL, %4$s is the subscriber's location (or empty)
+#. TRANS: %5$s is the subscriber's homepage URL (or empty), %6%s is the subscriber's bio (or empty)
+#. TRANS: %7$s is a link to the addressed user's e-mail settings.
+#: lib/mail.php:255
+#, fuzzy, php-format
 msgid ""
 "%1$s is now listening to your notices on %2$s.\n"
 "\n"
 msgid ""
 "%1$s is now listening to your notices on %2$s.\n"
 "\n"
@@ -6752,10 +8617,10 @@ msgid ""
 "\n"
 "%4$s%5$s%6$s\n"
 "Faithfully yours,\n"
 "\n"
 "%4$s%5$s%6$s\n"
 "Faithfully yours,\n"
-"%7$s.\n"
+"%2$s.\n"
 "\n"
 "----\n"
 "\n"
 "----\n"
-"Change your email address or notification options at %8$s\n"
+"Change your email address or notification options at %7$s\n"
 msgstr ""
 "%1$s está agora a ouvir as suas notas em %2$s.\n"
 "\n"
 msgstr ""
 "%1$s está agora a ouvir as suas notas em %2$s.\n"
 "\n"
@@ -6769,21 +8634,25 @@ msgstr ""
 "Altere o seu endereço de correio electrónico ou as opções de notificação em %"
 "8$s\n"
 
 "Altere o seu endereço de correio electrónico ou as opções de notificação em %"
 "8$s\n"
 
-#. TRANS: Profile info line in new-subscriber notification e-mail
-#: lib/mail.php:274
+#. TRANS: Profile info line in new-subscriber notification e-mail.
+#. TRANS: %s is biographical information.
+#: lib/mail.php:278
 #, php-format
 msgid "Bio: %s"
 msgstr "Bio: %s"
 
 #, php-format
 msgid "Bio: %s"
 msgstr "Bio: %s"
 
-#. TRANS: Subject of notification mail for new posting email address
-#: lib/mail.php:304
+#. TRANS: Subject of notification mail for new posting email address.
+#. TRANS: %s is the StatusNet sitename.
+#: lib/mail.php:307
 #, php-format
 msgid "New email address for posting to %s"
 msgstr "Novo endereço electrónico para publicar no site %s"
 
 #, php-format
 msgid "New email address for posting to %s"
 msgstr "Novo endereço electrónico para publicar no site %s"
 
-#. TRANS: Body of notification mail for new posting email address
-#: lib/mail.php:308
-#, php-format
+#. TRANS: Body of notification mail for new posting email address.
+#. TRANS: %1$s is the StatusNet sitename, %2$s is the e-mail address to send
+#. TRANS: to to post by e-mail, %3$s is a URL to more instructions.
+#: lib/mail.php:313
+#, fuzzy, php-format
 msgid ""
 "You have a new posting address on %1$s.\n"
 "\n"
 msgid ""
 "You have a new posting address on %1$s.\n"
 "\n"
@@ -6792,7 +8661,7 @@ msgid ""
 "More email instructions at %3$s.\n"
 "\n"
 "Faithfully yours,\n"
 "More email instructions at %3$s.\n"
 "\n"
 "Faithfully yours,\n"
-"%4$s"
+"%1$s"
 msgstr ""
 "Tem um novo endereço electrónico para fazer publicações no site %1$s.\n"
 "\n"
 msgstr ""
 "Tem um novo endereço electrónico para fazer publicações no site %1$s.\n"
 "\n"
@@ -6803,31 +8672,36 @@ msgstr ""
 "Melhores cumprimentos,\n"
 "%4$s"
 
 "Melhores cumprimentos,\n"
 "%4$s"
 
-#. TRANS: Subject line for SMS-by-email notification messages
-#: lib/mail.php:433
+#. TRANS: Subject line for SMS-by-email notification messages.
+#. TRANS: %s is the posting user's nickname.
+#: lib/mail.php:434
 #, php-format
 msgid "%s status"
 msgstr "Estado de %s"
 
 #, php-format
 msgid "%s status"
 msgstr "Estado de %s"
 
-#. TRANS: Subject line for SMS-by-email address confirmation message
+#. TRANS: Subject line for SMS-by-email address confirmation message.
 #: lib/mail.php:460
 msgid "SMS confirmation"
 msgstr "Confirmação SMS"
 
 #: lib/mail.php:460
 msgid "SMS confirmation"
 msgstr "Confirmação SMS"
 
-#. TRANS: Main body heading for SMS-by-email address confirmation message
-#: lib/mail.php:463
+#. TRANS: Main body heading for SMS-by-email address confirmation message.
+#. TRANS: %s is the addressed user's nickname.
+#: lib/mail.php:464
 #, php-format
 msgid "%s: confirm you own this phone number with this code:"
 msgstr "%s: confirme que este número de telefone é seu com este código:"
 
 #, php-format
 msgid "%s: confirm you own this phone number with this code:"
 msgstr "%s: confirme que este número de telefone é seu com este código:"
 
-#. TRANS: Subject for 'nudge' notification email
-#: lib/mail.php:484
-#, php-format
-msgid "You've been nudged by %s"
+#. TRANS: Subject for 'nudge' notification email.
+#. TRANS: %s is the nudging user.
+#: lib/mail.php:485
+#, fuzzy, php-format
+msgid "You have been nudged by %s"
 msgstr "%s envia-lhe um toque"
 
 msgstr "%s envia-lhe um toque"
 
-#. TRANS: Body for 'nudge' notification email
-#: lib/mail.php:489
+#. TRANS: Body for 'nudge' notification email.
+#. TRANS: %1$s is the nuding user's long name, $2$s is the nudging user's nickname,
+#. TRANS: %3$s is a URL to post notices at, %4$s is the StatusNet sitename.
+#: lib/mail.php:492
 #, php-format
 msgid ""
 "%1$s (%2$s) is wondering what you are up to these days and is inviting you "
 #, php-format
 msgid ""
 "%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -6854,14 +8728,18 @@ msgstr ""
 "Graciosamente,\n"
 "%4$s\n"
 
 "Graciosamente,\n"
 "%4$s\n"
 
-#. TRANS: Subject for direct-message notification email
-#: lib/mail.php:536
+#. TRANS: Subject for direct-message notification email.
+#. TRANS: %s is the sending user's nickname.
+#: lib/mail.php:539
 #, php-format
 msgid "New private message from %s"
 msgstr "Nova mensagem privada de %s"
 
 #, php-format
 msgid "New private message from %s"
 msgstr "Nova mensagem privada de %s"
 
-#. TRANS: Body for direct-message notification email
-#: lib/mail.php:541
+#. 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.
+#: lib/mail.php:547
 #, php-format
 msgid ""
 "%1$s (%2$s) sent you a private message:\n"
 #, php-format
 msgid ""
 "%1$s (%2$s) sent you a private message:\n"
@@ -6894,14 +8772,19 @@ msgstr ""
 "Profusos cumprimentos,\n"
 "%5$s\n"
 
 "Profusos cumprimentos,\n"
 "%5$s\n"
 
-#. TRANS: Subject for favorite notification email
-#: lib/mail.php:589
-#, php-format
-msgid "%s (@%s) added your notice as a favorite"
+#. TRANS: Subject for favorite notification e-mail.
+#. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
+#: lib/mail.php:599
+#, fuzzy, php-format
+msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%s (@%s) adicionou a sua nota às favoritas."
 
 msgstr "%s (@%s) adicionou a sua nota às favoritas."
 
-#. TRANS: Body for favorite notification email
-#: lib/mail.php:592
+#. TRANS: Body for favorite notification e-mail.
+#. TRANS: %1$s is the adding user's long name, $2$s is the date the notice was created,
+#. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
+#. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
+#. TRANS: %7$s is the adding user's nickname.
+#: lib/mail.php:606
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -6939,7 +8822,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:651
+#: lib/mail.php:664
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -6950,13 +8833,20 @@ msgstr ""
 "\n"
 "\t%s"
 
 "\n"
 "\t%s"
 
-#: lib/mail.php:657
-#, php-format
-msgid "%s (@%s) sent a notice to your attention"
+#. TRANS: E-mail subject for notice notification.
+#. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
+#: lib/mail.php:672
+#, fuzzy, php-format
+msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%s (@%s) enviou uma nota à sua atenção"
 
 #. TRANS: Body of @-reply notification e-mail.
 msgstr "%s (@%s) enviou uma nota à sua atenção"
 
 #. TRANS: Body of @-reply notification e-mail.
-#: lib/mail.php:660
+#. TRANS: %1$s is the sending user's long name, $2$s is the StatusNet sitename,
+#. TRANS: %3$s is a URL to the notice, %4$s is the notice text,
+#. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
+#. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
+#. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
+#: lib/mail.php:680
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7019,7 +8909,7 @@ msgstr ""
 "conversa com outros utilizadores. Outros podem enviar-lhe mensagens, a que "
 "só você terá acesso."
 
 "conversa com outros utilizadores. Outros podem enviar-lhe mensagens, a que "
 "só você terá acesso."
 
-#: lib/mailbox.php:228 lib/noticelist.php:516
+#: lib/mailbox.php:228 lib/noticelist.php:522
 msgid "from"
 msgstr "a partir de"
 
 msgid "from"
 msgstr "a partir de"
 
@@ -7039,73 +8929,39 @@ msgstr "Desculpe, esse não é o seu endereço para receber correio electrónico
 msgid "Sorry, no incoming email allowed."
 msgstr "Desculpe, não lhe é permitido receber correio electrónico."
 
 msgid "Sorry, no incoming email allowed."
 msgstr "Desculpe, não lhe é permitido receber correio electrónico."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Tipo de mensagem não suportado: %s"
 
 #. TRANS: Client exception thrown when a database error was thrown during a file upload operation.
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Tipo de mensagem não suportado: %s"
 
 #. TRANS: Client exception thrown when a database error was thrown during a file upload operation.
-#: lib/mediafile.php:99 lib/mediafile.php:125
+#: lib/mediafile.php:102 lib/mediafile.php:174
 msgid "There was a database error while saving your file. Please try again."
 msgstr ""
 "Ocorreu um erro na base de dados ao gravar o seu ficheiro. Por favor, tente "
 "novamente."
 
 msgid "There was a database error while saving your file. Please try again."
 msgstr ""
 "Ocorreu um erro na base de dados ao gravar o seu ficheiro. Por favor, tente "
 "novamente."
 
-#. TRANS: Client exception thrown when an uploaded file is larger than set in php.ini.
-#: lib/mediafile.php:145
-msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini."
-msgstr "Ficheiro carregado excede a directiva upload_max_filesize no php.ini."
-
-#. TRANS: Client exception.
-#: lib/mediafile.php:151
-msgid ""
-"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
-"the HTML form."
-msgstr ""
-"Ficheiro carregado excede a directiva MAX_FILE_SIZE especificada no "
-"formulário HTML."
-
-#. TRANS: Client exception.
-#: lib/mediafile.php:157
-msgid "The uploaded file was only partially uploaded."
-msgstr "Ficheiro só foi parcialmente carregado."
-
-#. TRANS: Client exception thrown when a temporary folder is not present to store a file upload.
-#: lib/mediafile.php:165
-msgid "Missing a temporary folder."
-msgstr "Falta um directório temporário."
-
-#. TRANS: Client exception thrown when writing to disk is not possible during a file upload operation.
-#: lib/mediafile.php:169
-msgid "Failed to write file to disk."
-msgstr "Não foi possível gravar o ficheiro no disco."
-
-#. TRANS: Client exception thrown when a file upload operation has been stopped by an extension.
-#: lib/mediafile.php:173
-msgid "File upload stopped by extension."
-msgstr "Transferência do ficheiro interrompida pela extensão."
-
 #. TRANS: Client exception thrown when a file upload operation would cause a user to exceed a set quota.
 #. TRANS: Client exception thrown when a file upload operation would cause a user to exceed a set quota.
-#: lib/mediafile.php:189 lib/mediafile.php:232
+#: lib/mediafile.php:238 lib/mediafile.php:281
 msgid "File exceeds user's quota."
 msgstr "Ficheiro excede quota do utilizador."
 
 #. TRANS: Client exception thrown when a file upload operation fails because the file could
 #. TRANS: not be moved from the temporary folder to the permanent file location.
 msgid "File exceeds user's quota."
 msgstr "Ficheiro excede quota do utilizador."
 
 #. TRANS: Client exception thrown when a file upload operation fails because the file could
 #. TRANS: not be moved from the temporary folder to the permanent file location.
-#: lib/mediafile.php:209 lib/mediafile.php:251
+#: lib/mediafile.php:258 lib/mediafile.php:300
 msgid "File could not be moved to destination directory."
 msgstr "Não foi possível mover o ficheiro para o directório de destino."
 
 #. TRANS: Client exception thrown when a file upload operation has been stopped because the MIME
 #. TRANS: type of the uploaded file could not be determined.
 msgid "File could not be moved to destination directory."
 msgstr "Não foi possível mover o ficheiro para o directório de destino."
 
 #. TRANS: Client exception thrown when a file upload operation has been stopped because the MIME
 #. TRANS: type of the uploaded file could not be determined.
-#: lib/mediafile.php:216 lib/mediafile.php:257
+#: lib/mediafile.php:265 lib/mediafile.php:306
 msgid "Could not determine file's MIME type."
 msgstr "Não foi possível determinar o tipo MIME do ficheiro."
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
 msgid "Could not determine file's MIME type."
 msgstr "Não foi possível determinar o tipo MIME do ficheiro."
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:396
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7116,7 +8972,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:401
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr "\"%s\" não é um tipo de ficheiro suportado neste servidor."
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr "\"%s\" não é um tipo de ficheiro suportado neste servidor."
@@ -7125,19 +8981,49 @@ msgstr "\"%s\" não é um tipo de ficheiro suportado neste servidor."
 msgid "Send a direct notice"
 msgstr "Enviar uma nota directa"
 
 msgid "Send a direct notice"
 msgstr "Enviar uma nota directa"
 
-#: lib/messageform.php:146
+#. TRANS Label entry in drop-down selection box in direct-message inbox/outbox. This is the default entry in the drop-down box, doubling as instructions and a brake against accidental submissions with the first user in the list.
+#: lib/messageform.php:137
+#, fuzzy
+msgid "Select recipient:"
+msgstr "Seleccione um operador"
+
+#. TRANS Entry in drop-down selection box in direct-message inbox/outbox when no one is available to message.
+#: lib/messageform.php:150
+#, fuzzy
+msgid "No mutual subscribers."
+msgstr "Não subscrito!"
+
+#: lib/messageform.php:153
 msgid "To"
 msgstr "Para"
 
 msgid "To"
 msgstr "Para"
 
-#: lib/messageform.php:159 lib/noticeform.php:186
+#: lib/messageform.php:166 lib/noticeform.php:186
 msgid "Available characters"
 msgstr "Caracteres disponíveis"
 
 msgid "Available characters"
 msgstr "Caracteres disponíveis"
 
-#: lib/messageform.php:178 lib/noticeform.php:237
+#: lib/messageform.php:185 lib/noticeform.php:237
 msgctxt "Send button for sending notice"
 msgid "Send"
 msgstr "Enviar"
 
 msgctxt "Send button for sending notice"
 msgid "Send"
 msgstr "Enviar"
 
+#. TRANS: Validation error in form for registration, profile and group settings, etc.
+#: lib/nickname.php:165
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr "Utilizador só deve conter letras minúsculas e números. Sem espaços."
+
+#. TRANS: Validation error in form for registration, profile and group settings, etc.
+#: lib/nickname.php:178
+msgid "Nickname cannot be empty."
+msgstr ""
+
+#. TRANS: Validation error in form for registration, profile and group settings, etc.
+#: lib/nickname.php:191
+#, php-format
+msgid "Nickname cannot be more than %d character long."
+msgid_plural "Nickname cannot be more than %d characters long."
+msgstr[0] ""
+msgstr[1] ""
+
 #: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr "Enviar uma nota"
 #: lib/noticeform.php:160
 msgid "Send a notice"
 msgstr "Enviar uma nota"
@@ -7172,55 +9058,55 @@ msgstr ""
 "tente novamente mais tarde"
 
 #. TRANS: Used in coordinates as abbreviation of north
 "tente novamente mais tarde"
 
 #. TRANS: Used in coordinates as abbreviation of north
-#: lib/noticelist.php:446
+#: lib/noticelist.php:452
 msgid "N"
 msgstr "N"
 
 #. TRANS: Used in coordinates as abbreviation of south
 msgid "N"
 msgstr "N"
 
 #. TRANS: Used in coordinates as abbreviation of south
-#: lib/noticelist.php:448
+#: lib/noticelist.php:454
 msgid "S"
 msgstr "S"
 
 #. TRANS: Used in coordinates as abbreviation of east
 msgid "S"
 msgstr "S"
 
 #. TRANS: Used in coordinates as abbreviation of east
-#: lib/noticelist.php:450
+#: lib/noticelist.php:456
 msgid "E"
 msgstr "E"
 
 #. TRANS: Used in coordinates as abbreviation of west
 msgid "E"
 msgstr "E"
 
 #. TRANS: Used in coordinates as abbreviation of west
-#: lib/noticelist.php:452
+#: lib/noticelist.php:458
 msgid "W"
 msgstr "O"
 
 msgid "W"
 msgstr "O"
 
-#: lib/noticelist.php:454
+#: lib/noticelist.php:460
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 
 #, php-format
 msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
 
-#: lib/noticelist.php:463
+#: lib/noticelist.php:469
 msgid "at"
 msgstr "coords."
 
 msgid "at"
 msgstr "coords."
 
-#: lib/noticelist.php:512
+#: lib/noticelist.php:518
 msgid "web"
 msgstr "web"
 
 msgid "web"
 msgstr "web"
 
-#: lib/noticelist.php:578
+#: lib/noticelist.php:584
 msgid "in context"
 msgstr "no contexto"
 
 msgid "in context"
 msgstr "no contexto"
 
-#: lib/noticelist.php:613
+#: lib/noticelist.php:619
 msgid "Repeated by"
 msgstr "Repetida por"
 
 msgid "Repeated by"
 msgstr "Repetida por"
 
-#: lib/noticelist.php:640
+#: lib/noticelist.php:646
 msgid "Reply to this notice"
 msgstr "Responder a esta nota"
 
 msgid "Reply to this notice"
 msgstr "Responder a esta nota"
 
-#: lib/noticelist.php:641
+#: lib/noticelist.php:647
 msgid "Reply"
 msgstr "Responder"
 
 msgid "Reply"
 msgstr "Responder"
 
-#: lib/noticelist.php:685
+#: lib/noticelist.php:691
 msgid "Notice repeated"
 msgstr "Nota repetida"
 
 msgid "Notice repeated"
 msgstr "Nota repetida"
 
@@ -7257,34 +9143,52 @@ msgstr "Nota duplicada."
 msgid "Couldn't insert new subscription."
 msgstr "Não foi possível inserir nova subscrição."
 
 msgid "Couldn't insert new subscription."
 msgstr "Não foi possível inserir nova subscrição."
 
-#: lib/personalgroupnav.php:99
-msgid "Personal"
-msgstr "Pessoal"
-
-#: lib/personalgroupnav.php:104
+#. TRANS: Personal group navigation menu option when logged in for viewing @-replies.
+#: lib/personalgroupnav.php:107
+#, fuzzy
+msgctxt "MENU"
 msgid "Replies"
 msgstr "Respostas"
 
 msgid "Replies"
 msgstr "Respostas"
 
+#. TRANS: Personal group navigation menu option when logged in for seeing own profile.
 #: lib/personalgroupnav.php:114
 #: lib/personalgroupnav.php:114
+#, fuzzy
+msgctxt "MENU"
+msgid "Profile"
+msgstr "Perfil"
+
+#. TRANS: Personal group navigation menu option when logged in for viewing own favourited notices.
+#: lib/personalgroupnav.php:120
+#, fuzzy
+msgctxt "MENU"
 msgid "Favorites"
 msgstr "Favoritas"
 
 msgid "Favorites"
 msgstr "Favoritas"
 
-#: lib/personalgroupnav.php:125
+#. TRANS: Personal group navigation menu option when logged in for viewing recieved personal messages.
+#: lib/personalgroupnav.php:133
+#, fuzzy
+msgctxt "MENU"
 msgid "Inbox"
 msgstr "Recebidas"
 
 msgid "Inbox"
 msgstr "Recebidas"
 
-#: lib/personalgroupnav.php:126
+#. TRANS: Tooltip for personal group navigation menu option when logged in for viewing recieved personal messages.
+#: lib/personalgroupnav.php:135
 msgid "Your incoming messages"
 msgstr "Mensagens recebidas"
 
 msgid "Your incoming messages"
 msgstr "Mensagens recebidas"
 
-#: lib/personalgroupnav.php:130
+#. TRANS: Personal group navigation menu option when logged in for viewing senet personal messages.
+#: lib/personalgroupnav.php:140
+#, fuzzy
+msgctxt "MENU"
 msgid "Outbox"
 msgstr "Enviadas"
 
 msgid "Outbox"
 msgstr "Enviadas"
 
-#: lib/personalgroupnav.php:131
+#. TRANS: Tooltip for personal group navigation menu option when logged in for viewing senet personal messages.
+#: lib/personalgroupnav.php:142
 msgid "Your sent messages"
 msgstr "Mensagens enviadas"
 
 msgid "Your sent messages"
 msgstr "Mensagens enviadas"
 
+#. TRANS: Title for personal tag cloud section. %s is a user nickname.
 #: lib/personaltagcloudsection.php:56
 #, php-format
 msgid "Tags in %s's notices"
 #: lib/personaltagcloudsection.php:56
 #, php-format
 msgid "Tags in %s's notices"
@@ -7295,39 +9199,50 @@ msgstr "Categorias nas notas de %s"
 msgid "Unknown"
 msgstr "Desconhecida"
 
 msgid "Unknown"
 msgstr "Desconhecida"
 
-#: lib/profileaction.php:109 lib/profileaction.php:205 lib/subgroupnav.php:82
+#. TRANS: H2 text for user subscription statistics.
+#. TRANS: Label for user statistics.
+#: lib/profileaction.php:127 lib/profileaction.php:225 lib/subgroupnav.php:82
 msgid "Subscriptions"
 msgstr "Subscrições"
 
 msgid "Subscriptions"
 msgstr "Subscrições"
 
-#: lib/profileaction.php:126
+#. TRANS: Text for user subscription statistics if user has more subscriptions than displayed.
+#: lib/profileaction.php:144
 msgid "All subscriptions"
 msgstr "Todas as subscrições"
 
 msgid "All subscriptions"
 msgstr "Todas as subscrições"
 
-#: lib/profileaction.php:144 lib/profileaction.php:214 lib/subgroupnav.php:90
+#. TRANS: H2 text for user subscriber statistics.
+#. TRANS: Label for user statistics.
+#: lib/profileaction.php:164 lib/profileaction.php:232 lib/subgroupnav.php:90
 msgid "Subscribers"
 msgstr "Subscritores"
 
 msgid "Subscribers"
 msgstr "Subscritores"
 
-#: lib/profileaction.php:161
+#. TRANS: Text for user subscription statistics if user has more subscribers than displayed.
+#: lib/profileaction.php:181
 msgid "All subscribers"
 msgstr "Todos os subscritores"
 
 msgid "All subscribers"
 msgstr "Todos os subscritores"
 
-#: lib/profileaction.php:191
+#. TRANS: Label for user statistics.
+#: lib/profileaction.php:213
 msgid "User ID"
 msgstr "Número de identificação"
 
 msgid "User ID"
 msgstr "Número de identificação"
 
-#: lib/profileaction.php:196
+#. TRANS: Label for user statistics.
+#: lib/profileaction.php:219
 msgid "Member since"
 msgstr "Membro desde"
 
 msgid "Member since"
 msgstr "Membro desde"
 
-#. TRANS: Average count of posts made per day since account registration
-#: lib/profileaction.php:235
+#. TRANS: Label for user statistics.
+#. TRANS: Average count of posts made per day since account registration.
+#: lib/profileaction.php:253
 msgid "Daily average"
 msgstr "Média diária"
 
 msgid "Daily average"
 msgstr "Média diária"
 
-#: lib/profileaction.php:264
+#. TRANS: Text for user group membership statistics if user has more subscriptions than displayed.
+#: lib/profileaction.php:305
 msgid "All groups"
 msgstr "Todos os grupos"
 
 msgid "All groups"
 msgstr "Todos os grupos"
 
+#. TRANS: Server error displayed when using an unimplemented method.
 #: lib/profileformaction.php:123
 msgid "Unimplemented method."
 msgstr "Método não implementado."
 #: lib/profileformaction.php:123
 msgid "Unimplemented method."
 msgstr "Método não implementado."
@@ -7373,9 +9288,11 @@ msgstr "Repetir esta nota"
 msgid "Revoke the \"%s\" role from this user"
 msgstr "Retirar a função \"%s\" a este utilizador"
 
 msgid "Revoke the \"%s\" role from this user"
 msgstr "Retirar a função \"%s\" a este utilizador"
 
-#: lib/router.php:711
-msgid "No single user defined for single-user mode."
-msgstr "Nenhum utilizador único definido para o modo de utilizador único."
+#. TRANS: Client error on action trying to visit a non-existing page.
+#: lib/router.php:974
+#, fuzzy
+msgid "Page not found."
+msgstr "Método da API não encontrado."
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
@@ -7386,16 +9303,17 @@ msgid "Sandbox this user"
 msgstr "Impedir que notas deste utilizador sejam públicas"
 
 #. TRANS: Fieldset legend for the search form.
 msgstr "Impedir que notas deste utilizador sejam públicas"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Pesquisar site"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
 msgid "Search site"
 msgstr "Pesquisar site"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Categorias"
 
 msgid "Keyword(s)"
 msgstr "Categorias"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -7476,6 +9394,12 @@ msgstr "Nuvem da sua categorização das pessoas"
 msgid "None"
 msgstr "Nenhum"
 
 msgid "None"
 msgstr "Nenhum"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Nome de ficheiro inválido."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -7486,8 +9410,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr "O ficheiro do tema não foi localizado ou o upload falhou."
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
 msgstr "O ficheiro do tema não foi localizado ou o upload falhou."
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "Não foi possível gravar o tema."
 
 msgid "Failed saving theme."
 msgstr "Não foi possível gravar o tema."
 
@@ -7496,17 +9420,22 @@ msgid "Invalid theme: bad directory structure."
 msgstr "Tema inválido: estrutura de directórios incorrecta."
 
 #: lib/themeuploader.php:166
 msgstr "Tema inválido: estrutura de directórios incorrecta."
 
 #: lib/themeuploader.php:166
-#, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+#, fuzzy, php-format
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+"O tema carregado é demasiado grande; tem de ter menos de %d bytes "
+"descomprimido."
+msgstr[1] ""
 "O tema carregado é demasiado grande; tem de ter menos de %d bytes "
 "descomprimido."
 
 "O tema carregado é demasiado grande; tem de ter menos de %d bytes "
 "descomprimido."
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr "Arquivo do tema inválido: falta o ficheiro css/display.css"
 
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr "Arquivo do tema inválido: falta o ficheiro css/display.css"
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
@@ -7514,16 +9443,16 @@ msgstr ""
 "Tema contém um nome de ficheiro ou de directório inválido. Use somente "
 "letras ASCII, algarismos, sublinhados e o sinal de menos."
 
 "Tema contém um nome de ficheiro ou de directório inválido. Use somente "
 "letras ASCII, algarismos, sublinhados e o sinal de menos."
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr "O tema contém extensões de ficheiro inseguras; pode não ser seguro."
 
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr "O tema contém extensões de ficheiro inseguras; pode não ser seguro."
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr "Tema contém um ficheiro do tipo '.%s', o que não é permitido."
 
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr "Tema contém um ficheiro do tipo '.%s', o que não é permitido."
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Ocorreu um erro ao abrir o arquivo do tema."
 
 msgid "Error opening theme archive."
 msgstr "Ocorreu um erro ao abrir o arquivo do tema."
 
@@ -7531,6 +9460,13 @@ msgstr "Ocorreu um erro ao abrir o arquivo do tema."
 msgid "Top posters"
 msgstr "Quem mais publica"
 
 msgid "Top posters"
 msgstr "Quem mais publica"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Desbloquear"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "Permitir notas públicas"
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "Permitir notas públicas"
@@ -7562,135 +9498,164 @@ msgstr "Abandonar"
 msgid "User %1$s (%2$d) has no profile record."
 msgstr "Utilizador não tem perfil."
 
 msgid "User %1$s (%2$d) has no profile record."
 msgstr "Utilizador não tem perfil."
 
-#: lib/userprofile.php:117
+#. TRANS: Link text for changeing the avatar of the logged in user.
+#: lib/userprofile.php:121
 msgid "Edit Avatar"
 msgstr "Editar Avatar"
 
 msgid "Edit Avatar"
 msgstr "Editar Avatar"
 
-#: lib/userprofile.php:234 lib/userprofile.php:248
+#. TRANS: H2 for user actions in a profile.
+#. TRANS: H2 for entity actions in a profile.
+#: lib/userprofile.php:245 lib/userprofile.php:261
 msgid "User actions"
 msgstr "Acções do utilizador"
 
 msgid "User actions"
 msgstr "Acções do utilizador"
 
-#: lib/userprofile.php:237
+#. TRANS: Text shown in user profile of not yet compeltely deleted users.
+#: lib/userprofile.php:249
 msgid "User deletion in progress..."
 msgstr "A apagar o utilizador..."
 
 msgid "User deletion in progress..."
 msgstr "A apagar o utilizador..."
 
-#: lib/userprofile.php:263
+#. TRANS: Link title for link on user profile.
+#: lib/userprofile.php:277
 msgid "Edit profile settings"
 msgstr "Editar configurações do perfil"
 
 msgid "Edit profile settings"
 msgstr "Editar configurações do perfil"
 
-#: lib/userprofile.php:264
+#. TRANS: Link text for link on user profile.
+#: lib/userprofile.php:279
 msgid "Edit"
 msgstr "Editar"
 
 msgid "Edit"
 msgstr "Editar"
 
-#: lib/userprofile.php:287
+#. TRANS: Link title for link on user profile.
+#: lib/userprofile.php:303
 msgid "Send a direct message to this user"
 msgstr "Enviar mensagem directa a este utilizador"
 
 msgid "Send a direct message to this user"
 msgstr "Enviar mensagem directa a este utilizador"
 
-#: lib/userprofile.php:288
+#. TRANS: Link text for link on user profile.
+#: lib/userprofile.php:305
 msgid "Message"
 msgstr "Mensagem"
 
 msgid "Message"
 msgstr "Mensagem"
 
-#: lib/userprofile.php:326
+#. TRANS: Label text on user profile to select a user role.
+#: lib/userprofile.php:347
 msgid "Moderate"
 msgstr "Moderar"
 
 msgid "Moderate"
 msgstr "Moderar"
 
-#: lib/userprofile.php:364
+#. TRANS: Label text on user profile to select a user role.
+#: lib/userprofile.php:386
 msgid "User role"
 msgstr "Função"
 
 msgid "User role"
 msgstr "Função"
 
-#: lib/userprofile.php:366
+#. TRANS: Role that can be set for a user profile.
+#: lib/userprofile.php:389
 msgctxt "role"
 msgid "Administrator"
 msgstr "Gestor"
 
 msgctxt "role"
 msgid "Administrator"
 msgstr "Gestor"
 
-#: lib/userprofile.php:367
+#. TRANS: Role that can be set for a user profile.
+#: lib/userprofile.php:391
 msgctxt "role"
 msgid "Moderator"
 msgstr "Moderador"
 
 #. TRANS: Used in notices to indicate when the notice was made compared to now.
 msgctxt "role"
 msgid "Moderator"
 msgstr "Moderador"
 
 #. TRANS: Used in notices to indicate when the notice was made compared to now.
-#: lib/util.php:1163
+#: lib/util.php:1306
 msgid "a few seconds ago"
 msgstr "há alguns segundos"
 
 #. TRANS: Used in notices to indicate when the notice was made compared to now.
 msgid "a few seconds ago"
 msgstr "há alguns segundos"
 
 #. TRANS: Used in notices to indicate when the notice was made compared to now.
-#: lib/util.php:1166
+#: lib/util.php:1309
 msgid "about a minute ago"
 msgstr "há cerca de um minuto"
 
 #. TRANS: Used in notices to indicate when the notice was made compared to now.
 msgid "about a minute ago"
 msgstr "há cerca de um minuto"
 
 #. TRANS: Used in notices to indicate when the notice was made compared to now.
-#: lib/util.php:1170
+#: lib/util.php:1313
 #, php-format
 msgid "about one minute ago"
 msgid_plural "about %d minutes ago"
 #, php-format
 msgid "about one minute ago"
 msgid_plural "about %d minutes ago"
-msgstr[0] "um minuto"
-msgstr[1] "%d minutos"
+msgstr[0] "há cerca de um minuto atrás"
+msgstr[1] "há cerca de %d minutos atrás"
 
 #. TRANS: Used in notices to indicate when the notice was made compared to now.
 
 #. TRANS: Used in notices to indicate when the notice was made compared to now.
-#: lib/util.php:1173
+#: lib/util.php:1316
 msgid "about an hour ago"
 msgstr "há cerca de uma hora"
 
 #. TRANS: Used in notices to indicate when the notice was made compared to now.
 msgid "about an hour ago"
 msgstr "há cerca de uma hora"
 
 #. TRANS: Used in notices to indicate when the notice was made compared to now.
-#: lib/util.php:1177
+#: lib/util.php:1320
 #, php-format
 msgid "about one hour ago"
 msgid_plural "about %d hours ago"
 #, php-format
 msgid "about one hour ago"
 msgid_plural "about %d hours ago"
-msgstr[0] "uma hora"
-msgstr[1] "%d horas"
+msgstr[0] "há cerca de uma hora atrás"
+msgstr[1] "há cerca de %d horas atrás"
 
 #. TRANS: Used in notices to indicate when the notice was made compared to now.
 
 #. TRANS: Used in notices to indicate when the notice was made compared to now.
-#: lib/util.php:1180
+#: lib/util.php:1323
 msgid "about a day ago"
 msgstr "há cerca de um dia"
 
 #. TRANS: Used in notices to indicate when the notice was made compared to now.
 msgid "about a day ago"
 msgstr "há cerca de um dia"
 
 #. TRANS: Used in notices to indicate when the notice was made compared to now.
-#: lib/util.php:1184
+#: lib/util.php:1327
 #, php-format
 msgid "about one day ago"
 msgid_plural "about %d days ago"
 #, php-format
 msgid "about one day ago"
 msgid_plural "about %d days ago"
-msgstr[0] "um dia"
-msgstr[1] "%d dias"
+msgstr[0] "há cerca de um dia atrás"
+msgstr[1] "há cerca de %d dias atrás"
 
 #. TRANS: Used in notices to indicate when the notice was made compared to now.
 
 #. TRANS: Used in notices to indicate when the notice was made compared to now.
-#: lib/util.php:1187
+#: lib/util.php:1330
 msgid "about a month ago"
 msgstr "há cerca de um mês"
 
 #. TRANS: Used in notices to indicate when the notice was made compared to now.
 msgid "about a month ago"
 msgstr "há cerca de um mês"
 
 #. TRANS: Used in notices to indicate when the notice was made compared to now.
-#: lib/util.php:1191
+#: lib/util.php:1334
 #, php-format
 msgid "about one month ago"
 msgid_plural "about %d months ago"
 #, php-format
 msgid "about one month ago"
 msgid_plural "about %d months ago"
-msgstr[0] "um mês"
-msgstr[1] "%d meses"
+msgstr[0] "há cerca de um mês atrás"
+msgstr[1] "há cerca de %d meses atrás"
 
 #. TRANS: Used in notices to indicate when the notice was made compared to now.
 
 #. TRANS: Used in notices to indicate when the notice was made compared to now.
-#: lib/util.php:1194
+#: lib/util.php:1337
 msgid "about a year ago"
 msgstr "há cerca de um ano"
 
 msgid "about a year ago"
 msgstr "há cerca de um ano"
 
-#: lib/webcolor.php:82
-#, php-format
-msgid "%s is not a valid color!"
-msgstr "%s não é uma cor válida!"
-
-#: lib/webcolor.php:123
-#, php-format
-msgid "%s is not a valid color! Use 3 or 6 hex chars."
+#. TRANS: Web color exception thrown when a hexadecimal color code does not validate.
+#. TRANS: %s is the provided (invalid) color code.
+#: lib/webcolor.php:81 lib/webcolor.php:121
+#, fuzzy, php-format
+msgid "%s is not a valid color! Use 3 or 6 hex characters."
 msgstr "%s não é uma cor válida! Use 3 ou 6 caracteres hexadecimais."
 
 msgstr "%s não é uma cor válida! Use 3 ou 6 caracteres hexadecimais."
 
-#: scripts/restoreuser.php:82
+#. TRANS: %s is the URL to the StatusNet site's Instant Messaging settings.
+#: lib/xmppmanager.php:287
 #, php-format
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Unknown user. Go to %s to add your address to your account"
 msgstr ""
 
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Response to XMPP source when it sent too long a message.
+#. TRANS: %1$d the maximum number of allowed characters (used for plural), %2$d is the sent number.
+#: lib/xmppmanager.php:406
+#, fuzzy, php-format
+msgid "Message too long. Maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long. Maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Mensagem demasiado extensa - máx. %1$d caracteres, enviou %2$d."
+msgstr[1] "Mensagem demasiado extensa - máx. %1$d caracteres, enviou %2$d."
+
+#. TRANS: Exception.
+#: lib/xrd.php:63
 #, fuzzy
 #, fuzzy
-msgid "No user specified; using backup user."
-msgstr "Não foi especificado um ID de utilizador."
+msgid "Invalid XML."
+msgstr "Tamanho inválido."
+
+#. TRANS: Exception.
+#: lib/xrd.php:68
+msgid "Invalid XML, missing XRD root."
+msgstr ""
 
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:62
 #, php-format
 #, php-format
-msgid "%d entries in backup."
+msgid "Getting backup from file '%s'."
 msgstr ""
 msgstr ""
+
+#~ msgid "Personal"
+#~ msgstr "Pessoal"