]> 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 3491a0a35f376a28c1d43004c0590e83ea60b48d..1b6b69908f9b4923a85abc222285801e8d8d0831 100644 (file)
@@ -1,6 +1,7 @@
 # Translation of StatusNet - Core to Portuguese (Português)
-# Expored from translatewiki.net
+# Exported from translatewiki.net
 #
+# Author: Aracnus
 # Author: Brion
 # Author: Gallaecio
 # Author: Giro720
@@ -14,17 +15,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-30 20:16+0000\n"
-"PO-Revision-Date: 2010-11-30 20:18:18+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"
-"X-Generator: MediaWiki 1.17alpha (r77503); 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-POT-Import-Date: 2010-11-30 17:54:26+0000\n"
+"X-POT-Import-Date: 2011-01-29 22:24:50+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -79,6 +80,7 @@ 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 text for saving "Other settings" in profile.
@@ -90,13 +92,13 @@ msgstr "Gravar configurações de acesso"
 #. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
 #. TRANS: Button text on profile design page to save settings.
-#: actions/accessadminpanel.php:193 actions/emailsettings.php:232
-#: actions/imsettings.php:187 actions/othersettings.php:134
-#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
-#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
-#: actions/subscriptions.php:246 actions/useradminpanel.php:298
-#: lib/applicationeditform.php:355 lib/designsettings.php:270
-#: lib/groupeditform.php:207
+#: 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"
@@ -104,7 +106,7 @@ 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
-#: 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."
 
@@ -114,6 +116,8 @@ msgstr "Página não foi encontrada."
 #. 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 when user not found for an API direct message action.
@@ -129,13 +133,16 @@ msgstr "Página não foi encontrada."
 #. 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: 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:60
-#: actions/apiblockcreate.php:95 actions/apiblockdestroy.php:94
+#: 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
@@ -143,12 +150,12 @@ msgstr "Página não foi encontrada."
 #: 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:74
+#: 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:145 actions/remotesubscribe.php:154
+#: actions/remotesubscribe.php:144 actions/remotesubscribe.php:153
 #: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
+#: 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
@@ -165,9 +172,10 @@ msgstr "%1$s e amigos, página %2$d"
 #. TRANS: H1 text for page. %s is a user nickname.
 #. TRANS: Message is used as link title. %s is a user nickname.
 #. 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:103
+#: lib/personalgroupnav.php:102
 #, php-format
 msgid "%s and friends"
 msgstr "%s e amigos"
@@ -281,7 +289,7 @@ msgstr "Actualizações de %1$s e amigos no %2$s!"
 #: 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:151 actions/apitimelinehome.php:173
+#: 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
@@ -314,7 +322,21 @@ msgstr ""
 "Tem de especificar um parâmetro 'aparelho' com um dos valores: sms, im, none."
 
 #. 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."
 
@@ -324,18 +346,21 @@ msgstr "Não foi possível actualizar o utilizador."
 #. 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:130 actions/apiusershow.php:108
+#: 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
-#: lib/profileaction.php:84
+#: lib/profileaction.php:85
 msgid "User has no profile."
 msgstr "Utilizador não tem perfil."
 
 #. TRANS: Server error displayed if a user profile could not be saved.
-#: actions/apiaccountupdateprofile.php:147
+#. 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."
 
@@ -345,10 +370,10 @@ msgstr "Não foi possível gravar o perfil."
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
 #: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
-#: actions/designadminpanel.php:125 actions/editapplication.php:121
-#: actions/newapplication.php:104 actions/newnotice.php:95
+#: actions/designadminpanel.php:120 actions/editapplication.php:121
+#: actions/newapplication.php:102 actions/newnotice.php:95
 #: lib/designsettings.php:298
-#, fuzzy, php-format
+#, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
 "current configuration."
@@ -356,7 +381,7 @@ msgid_plural ""
 "The server was unable to handle that much POST data (%s bytes) due to its "
 "current configuration."
 msgstr[0] ""
-"O servidor não conseguiu processar tantos dados POST (%s bytes) devido à sua "
+"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 "
@@ -371,8 +396,8 @@ msgstr[1] ""
 #: actions/apiaccountupdateprofilecolors.php:160
 #: actions/apiaccountupdateprofilecolors.php:171
 #: 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."
 
@@ -380,30 +405,60 @@ msgstr "Não foi possível gravar as configurações do estilo."
 #. 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."
 
+#. TRANS: Title for Atom feed.
 #: actions/apiatomservice.php:85
+#, fuzzy
+msgctxt "ATOM"
 msgid "Main"
-msgstr ""
+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:92 actions/grouprss.php:139
+#: 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:104
+#: actions/apiblockcreate.php:105
 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:126
+#: actions/apiblockcreate.php:127
 msgid "Block user failed."
 msgstr "Bloqueio do utilizador falhou."
 
@@ -484,8 +539,9 @@ 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.
-#: 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."
 
@@ -495,7 +551,8 @@ msgid "That status is not a favorite."
 msgstr "Esse estado não é um favorito."
 
 #. TRANS: Client error displayed when removing a favourite has failed.
-#: actions/apifavoritedestroy.php:135 actions/disfavor.php:87
+#. 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."
 
@@ -543,7 +600,7 @@ msgstr "Não foi possível encontrar o utilizador de destino."
 #. 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:129 actions/profilesettings.php:277
+#: 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."
@@ -553,7 +610,7 @@ msgstr "Utilizador já é usado. Tente outro."
 #. 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:133 actions/profilesettings.php:247
+#: actions/newgroup.php:140 actions/profilesettings.php:243
 #: actions/register.php:216
 msgid "Not a valid nickname."
 msgstr "Utilizador não é válido."
@@ -561,11 +618,12 @@ msgstr "Utilizador não é válido."
 #. 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:233
-#: actions/editgroup.php:200 actions/newapplication.php:211
-#: actions/newgroup.php:140 actions/profilesettings.php:252
+#: 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."
@@ -575,7 +633,7 @@ msgstr "Página de ínicio não é uma URL válida."
 #. 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:144 actions/profilesettings.php:256
+#: actions/newgroup.php:151 actions/profilesettings.php:252
 #: actions/register.php:226
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -584,14 +642,15 @@ msgstr "Nome completo demasiado longo (máx. 255 caracteres)."
 #. 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:201
-#: actions/editgroup.php:209 actions/newapplication.php:178
-#: actions/newgroup.php:149
+#: 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)."
@@ -603,7 +662,7 @@ msgstr[1] "Descrição demasiado longa (máx. %d caracteres)."
 #. 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:156 actions/profilesettings.php:269
+#: actions/newgroup.php:163 actions/profilesettings.php:265
 #: actions/register.php:235
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -616,7 +675,7 @@ msgstr "Localidade demasiado longa (máx. 255 caracteres)."
 #. 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:169
+#: actions/newgroup.php:176
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -633,18 +692,16 @@ msgstr "Nome alternativo inválido: \"%s\""
 #. 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.
+#. TRANS: Group create form validation error. %s is the already used alias.
 #: actions/apigroupcreate.php:264 actions/editgroup.php:244
-#: actions/newgroup.php:184
+#: actions/newgroup.php:192
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Nome alternativo \"%s\" já em uso. Tente outro."
 
 #. 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.
-#. TRANS: Group create form validation error.
 #: actions/apigroupcreate.php:278 actions/editgroup.php:251
-#: actions/newgroup.php:191
 msgid "Alias can't be the same as nickname."
 msgstr "Um nome alternativo não pode ser igual ao nome do utilizador."
 
@@ -655,28 +712,32 @@ msgstr "Um nome alternativo não pode ser igual ao nome do utilizador."
 #. 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:89
+#: 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."
 
 #. 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.
-#: actions/apigroupjoin.php:111 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."
 
 #. 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.
-#: 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."
 
 #. 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.
-#: actions/apigroupjoin.php:142 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."
@@ -688,9 +749,11 @@ 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.
-#: actions/apigroupleave.php:127 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."
@@ -727,7 +790,7 @@ msgid "Upload failed."
 msgstr "O upload falhou."
 
 #. TRANS: Client error given from the OAuth API when the request token or verifier is invalid.
-#: actions/apioauthaccesstoken.php:101
+#: actions/apioauthaccesstoken.php:102
 #, fuzzy
 msgid "Invalid request token or verifier."
 msgstr "Chave de entrada especificada é inválida."
@@ -750,18 +813,22 @@ 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:74
-#: actions/emailsettings.php:275 actions/favor.php:75 actions/geocode.php:55
-#: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:65 actions/imsettings.php:230
+#: 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:221 actions/recoverpassword.php:350
-#: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
+#: 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
 #: lib/designsettings.php:310
@@ -781,18 +848,22 @@ 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: Form validation error message when an unsupported argument is used.
 #. 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: Unknown form validation error in design settings form.
 #: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
-#: actions/designadminpanel.php:104 actions/editapplication.php:144
-#: actions/emailsettings.php:294 actions/grouplogo.php:322
-#: actions/imsettings.php:245 actions/newapplication.php:125
-#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:321
+#: 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."
 
@@ -843,18 +914,19 @@ msgstr "Conta"
 #. 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:110 actions/register.php:432
+#: actions/profilesettings.php:106 actions/register.php:432
 #: actions/showgroup.php:240 actions/tagother.php:94
-#: actions/userauthorization.php:145 lib/groupeditform.php:152
-#: lib/userprofile.php:134
+#: actions/userauthorization.php:145 lib/groupeditform.php:144
+#: lib/userprofile.php:137
 msgid "Nickname"
 msgstr "Utilizador"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Link description in user account settings menu.
 #: actions/apioauthauthorize.php:463 actions/login.php:255
-#: actions/register.php:437 lib/accountsettingsaction.php:120
+#: actions/register.php:436 lib/accountsettingsaction.php:120
 msgid "Password"
 msgstr "Senha"
 
@@ -864,8 +936,8 @@ msgstr "Senha"
 #. 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:127
-#: actions/imsettings.php:131 actions/smssettings.php:137
+#: actions/apioauthauthorize.php:478 actions/emailsettings.php:124
+#: actions/imsettings.php:127 actions/smssettings.php:133
 #: lib/applicationeditform.php:351
 msgctxt "BUTTON"
 msgid "Cancel"
@@ -939,9 +1011,11 @@ msgstr "Não pode apagar o estado de outro utilizador."
 
 #. 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/deletenotice.php:61 actions/shownotice.php:92
+#: actions/atompubshowfavorite.php:82 actions/deletenotice.php:61
+#: actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Nota não foi encontrada."
 
@@ -957,36 +1031,52 @@ msgstr "Não pode repetir a sua própria nota."
 msgid "Already repeated that notice."
 msgstr "Já repetiu essa nota."
 
-#: actions/apistatusesshow.php:117
+#. 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."
 
-#: actions/apistatusesshow.php:141
+#. 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:152
+#: actions/apistatusesshow.php:155
 msgid "Status deleted."
 msgstr "Estado apagado."
 
 #. TRANS: Client error displayed requesting a status with an invalid ID.
-#: actions/apistatusesshow.php:159
+#: actions/apistatusesshow.php:162
 msgid "No status with that ID found."
 msgstr "Não foi encontrado um estado com esse ID."
 
+#. 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:234 actions/deletenotice.php:78
-msgid "Can't delete this notice."
+#: actions/apistatusesshow.php:235 actions/deletenotice.php:78
+#, fuzzy
+msgid "Cannot delete this notice."
 msgstr "Nota não pode ser apagada."
 
-#: actions/apistatusesshow.php:247
+#. 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"
@@ -1044,7 +1134,7 @@ msgstr "%1$s actualizações preferidas por %2$s / %2$s."
 
 #. TRANS: Server error displayed when generating an Atom feed fails.
 #. TRANS: %s is the error.
-#: actions/apitimelinegroup.php:138
+#: actions/apitimelinegroup.php:134
 #, fuzzy, php-format
 msgid "Could not generate feed for group - %s"
 msgstr "Não foi possível actualizar o grupo."
@@ -1109,49 +1199,248 @@ msgstr "Notas categorizadas com %s"
 msgid "Updates tagged with %1$s on %2$s!"
 msgstr "Actualizações categorizadas com %1$s em %2$s!"
 
-#: actions/apitimelineuser.php:300
+#. 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."
 
-#: actions/apitimelineuser.php:306
-msgid "Only accept AtomPub for atom feeds."
+#. 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 ""
 
-#: actions/apitimelineuser.php:316
+#. 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 ""
 
-#: actions/apitimelineuser.php:325
-msgid "Can only handle post activities."
+#. 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 ""
 
-#: actions/apitimelineuser.php:334
+#. 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\""
+msgid "Cannot handle activity object type \"%s\"."
 msgstr ""
 
-#: actions/apitimelineuser.php:392
+#. 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."
 
-#: actions/apitimelineuser.php:423
-#, php-format
-msgid "AtomPub post with unknown attention URI %s"
-msgstr ""
-
 #. TRANS: Server error for unfinished API method showTrends.
 #: actions/apitrends.php:85
 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/apiusershow.php:94
+#: 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."
@@ -1160,10 +1449,11 @@ msgstr "Anexo não foi encontrado."
 #. 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:86 actions/groupmembers.php:76
+#: 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."
@@ -1194,42 +1484,50 @@ 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."
 
 #. 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:181 actions/remotesubscribe.php:191
+#: 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."
 
 #. 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:254
+#: actions/grouplogo.php:263
 msgid "Avatar settings"
 msgstr "Configurações do avatar"
 
 #. 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:202 actions/grouplogo.php:262
+#: actions/grouplogo.php:208 actions/grouplogo.php:272
 msgid "Original"
 msgstr "Original"
 
 #. 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:213 actions/grouplogo.php:274
+#: actions/grouplogo.php:220 actions/grouplogo.php:285
 msgid "Preview"
 msgstr "Antevisão"
 
 #. TRANS: Button on avatar upload page to delete current avatar.
-#: actions/avatarsettings.php:155
+#. TRANS: Button text for user account deletion.
+#: actions/avatarsettings.php:155 actions/deleteaccount.php:319
 #, fuzzy
 msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Apagar"
 
 #. TRANS: Button on avatar upload page to upload an avatar.
-#: actions/avatarsettings.php:173
+#. 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"
@@ -1248,30 +1546,70 @@ msgid "No file uploaded."
 msgstr "Não foi carregado nenhum ficheiro."
 
 #. TRANS: Avatar upload form unstruction after uploading a file.
-#: actions/avatarsettings.php:346
+#: 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"
 
 #. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
-#: actions/avatarsettings.php:361 actions/grouplogo.php:380
+#. 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."
 
 #. TRANS: Success message for having updated a user avatar.
-#: actions/avatarsettings.php:385
+#: actions/avatarsettings.php:384
 msgid "Avatar updated."
 msgstr "Avatar actualizado."
 
 #. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
-#: actions/avatarsettings.php:389
+#: actions/avatarsettings.php:388
 msgid "Failed updating avatar."
 msgstr "Falha ao actualizar avatar."
 
 #. TRANS: Success message for deleting a user avatar.
-#: actions/avatarsettings.php:413
+#: actions/avatarsettings.php:412
 msgid "Avatar deleted."
 msgstr "Avatar apagado."
 
+#. 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."
@@ -1302,14 +1640,13 @@ msgstr ""
 #. TRANS: Button label on the form to block a user from a group.
 #: actions/block.php:154 actions/deleteapplication.php:157
 #: actions/deletegroup.php:220 actions/deletenotice.php:155
-#: actions/deleteuser.php:152 actions/groupblock.php:178
+#: 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.
-#. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:158 actions/deleteuser.php:156
+#: actions/block.php:158
 msgid "Do not block this user"
 msgstr "Não bloquear este utilizador"
 
@@ -1321,7 +1658,7 @@ msgstr "Não bloquear este utilizador"
 #. TRANS: Button label on the form to block a user from a group.
 #: actions/block.php:161 actions/deleteapplication.php:164
 #: actions/deletegroup.php:227 actions/deletenotice.php:162
-#: actions/deleteuser.php:159 actions/groupblock.php:185
+#: actions/deleteuser.php:161 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
 msgstr "Sim"
@@ -1337,31 +1674,6 @@ msgstr "Bloquear este utilizador"
 msgid "Failed to save block information."
 msgstr "Não foi possível gravar informação do bloqueio."
 
-#. 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 unblock a user from 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/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:102
-#: 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:93 actions/leavegroup.php:82
-#: actions/leavegroup.php:93 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: Title for first page with list of users blocked from a group.
 #. TRANS: %s is a group nickname.
 #: actions/blockedfromgroup.php:101
@@ -1432,23 +1744,6 @@ msgstr "Tipo do endereço %s não reconhecido."
 msgid "That address has already been confirmed."
 msgstr "Esse endereço já tinha sido confirmado."
 
-#. 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/confirmaddress.php:118 actions/emailsettings.php:337
-#: actions/emailsettings.php:486 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:184
-#: actions/profilesettings.php:326 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 displayed when an address confirmation code deletion from the
 #. TRANS: database fails in the contact address confirmation action.
 #: actions/confirmaddress.php:132
@@ -1474,11 +1769,85 @@ msgid "Conversation"
 msgstr "Conversação"
 
 #. 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:229 lib/searchgroupnav.php:82
+#: lib/profileaction.php:246 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Notas"
 
+#. 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."
@@ -1498,7 +1867,7 @@ 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:131
-#: actions/newapplication.php:114 actions/showapplication.php:118
+#: 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."
@@ -1537,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.
-#: 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."
 
@@ -1593,15 +1964,18 @@ 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 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
-#: 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."
@@ -1632,23 +2006,34 @@ 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:166 lib/noticelist.php:672
+#: actions/deletenotice.php:166 lib/noticelist.php:673
 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."
 
+#. 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:110 actions/deleteuser.php:133
+#. TRANS: Title of delete user page.
+#: actions/deleteuser.php:110
+#, fuzzy
+msgctxt "TITLE"
+msgid "Delete user"
+msgstr "Apagar utilizador"
+
+#. TRANS: Fieldset legend on delete user page.
+#: actions/deleteuser.php:134
 msgid "Delete user"
 msgstr "Apagar utilizador"
 
-#: actions/deleteuser.php:136
+#. 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."
@@ -1656,82 +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."
 
+#. 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.
-#: 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.
-#: actions/designadminpanel.php:63 lib/accountsettingsaction.php:134
+#: actions/designadminpanel.php:60 lib/accountsettingsaction.php:134
 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 ""
 
-#: actions/designadminpanel.php:335
+#. 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."
 
-#: actions/designadminpanel.php:340
+#. 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."
 
-#: actions/designadminpanel.php:344
+#. 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."
 
-#: actions/designadminpanel.php:448
+#. TRANS: Fieldset legend for form to change logo.
+#: actions/designadminpanel.php:437
 msgid "Change logo"
 msgstr "Alterar logotipo"
 
-#: actions/designadminpanel.php:453
+#. TRANS: Field label for StatusNet site logo.
+#: actions/designadminpanel.php:444
 msgid "Site logo"
 msgstr "Logotipo do site"
 
-#: actions/designadminpanel.php:457
+#. TRANS: Field label for SSL StatusNet site logo.
+#: actions/designadminpanel.php:452
 #, fuzzy
 msgid "SSL logo"
 msgstr "Logotipo do site"
 
-#: actions/designadminpanel.php:469
+#. TRANS: Fieldset legend for form change StatusNet site's theme.
+#: actions/designadminpanel.php:467
 msgid "Change theme"
 msgstr "Alterar tema"
 
-#: actions/designadminpanel.php:486
+#. TRANS: Field label for dropdown to choose site theme.
+#: actions/designadminpanel.php:485
 msgid "Site theme"
 msgstr "Tema do site"
 
+#. 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."
 
-#: actions/designadminpanel.php:493
+#. TRANS: Field label for uploading a cutom theme.
+#: actions/designadminpanel.php:494
 msgid "Custom theme"
 msgstr "Tema personalizado"
 
-#: actions/designadminpanel.php:497
+#. 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."
 
+#. TRANS: Fieldset legend for theme background image.
 #. TRANS: Fieldset legend on profile design page.
-#: actions/designadminpanel.php:512 lib/designsettings.php:98
+#: actions/designadminpanel.php:515 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Alterar imagem de fundo"
 
+#. 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:517 actions/designadminpanel.php:600
+#: actions/designadminpanel.php:521 actions/designadminpanel.php:609
 #: lib/designsettings.php:183
 msgid "Background"
 msgstr "Fundo"
 
-#: actions/designadminpanel.php:522
+#. 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"
@@ -1741,98 +2150,108 @@ msgstr ""
 "é %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553
+#: actions/designadminpanel.php:558
 msgid "On"
 msgstr "Ligar"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570
+#: actions/designadminpanel.php:575
 msgid "Off"
 msgstr "Desligar"
 
+#. 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:571 lib/designsettings.php:159
+#: actions/designadminpanel.php:577 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Ligar ou desligar a imagem de fundo."
 
+#. 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:576 lib/designsettings.php:165
+#: actions/designadminpanel.php:583 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Repetir imagem de fundo em mosaico"
 
-#. TRANS: Fieldset legend on profile design page to change profile page colours.
-#: actions/designadminpanel.php:590 lib/designsettings.php:175
-msgid "Change colours"
+#. TRANS: Fieldset legend for theme colors.
+#: actions/designadminpanel.php:598
+#, fuzzy
+msgid "Change colors"
 msgstr "Alterar cores"
 
+#. TRANS: Field label for content color selector.
 #. TRANS: Label on profile design page for setting a profile page content colour.
-#: actions/designadminpanel.php:613 lib/designsettings.php:197
+#: actions/designadminpanel.php:623 lib/designsettings.php:197
 msgid "Content"
 msgstr "Conteúdo"
 
+#. TRANS: Field label for sidebar color selector.
 #. TRANS: Label on profile design page for setting a profile page sidebar colour.
-#: actions/designadminpanel.php:626 lib/designsettings.php:211
+#: actions/designadminpanel.php:637 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Barra"
 
+#. TRANS: Field label for text color selector.
 #. TRANS: Label on profile design page for setting a profile page text colour.
-#: actions/designadminpanel.php:639 lib/designsettings.php:225
+#: actions/designadminpanel.php:651 lib/designsettings.php:225
 msgid "Text"
 msgstr "Texto"
 
+#. TRANS: Field label for link color selector.
 #. TRANS: Label on profile design page for setting a profile page links colour.
-#: actions/designadminpanel.php:652 lib/designsettings.php:239
+#: actions/designadminpanel.php:665 lib/designsettings.php:239
 msgid "Links"
 msgstr "Links"
 
-#: actions/designadminpanel.php:677
+#. TRANS: Fieldset legend for advanced theme design settings.
+#: actions/designadminpanel.php:691
 msgid "Advanced"
 msgstr "Avançado"
 
-#: actions/designadminpanel.php:681
+#. TRANS: Field label for custom CSS.
+#: actions/designadminpanel.php:696
 msgid "Custom CSS"
 msgstr "CSS personalizado"
 
-#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
-#: actions/designadminpanel.php:702 lib/designsettings.php:257
+#. TRANS: Button text for resetting theme settings.
+#: actions/designadminpanel.php:718
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Use defaults"
 msgstr "Usar predefinições"
 
+#. 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:703 lib/designsettings.php:259
+#: actions/designadminpanel.php:720 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Repor estilos predefinidos"
 
+#. 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:709 lib/designsettings.php:267
+#: actions/designadminpanel.php:728 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Repor predefinição"
 
-#. TRANS: Submit button title.
-#: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
-#: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: lib/applicationeditform.php:357
-msgid "Save"
-msgstr "Gravar"
-
+#. TRANS: Title for button for saving theme settings.
 #. TRANS: Title for button on profile design page to save settings.
-#: actions/designadminpanel.php:712 lib/designsettings.php:272
+#: actions/designadminpanel.php:736 lib/designsettings.php:272
 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!"
 
-#: 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"
 
-#: 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"
 
 #. TRANS: Title for "Edit application" form.
@@ -1857,63 +2276,73 @@ msgid "Use this form to edit your application."
 msgstr "Use este formulário para editar a sua aplicação."
 
 #. TRANS: Validation error shown when not providing a name in the "Edit application" form.
-#: actions/editapplication.php:184 actions/newapplication.php:163
+#. 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."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188 actions/newapplication.php:169
+#. 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)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
-#: actions/editapplication.php:192 actions/newapplication.php:166
+#. 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."
 
 #. TRANS: Validation error shown when not providing a description in the "Edit application" form.
-#: actions/editapplication.php:196 actions/newapplication.php:172
+#. 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."
 
 #. TRANS: Validation error shown when providing too long a source URL in the "Edit application" form.
-#: actions/editapplication.php:208
+#: actions/editapplication.php:209
 msgid "Source URL is too long."
 msgstr "URL de origem é demasiado longa."
 
 #. TRANS: Validation error shown when providing an invalid source URL in the "Edit application" form.
-#: actions/editapplication.php:215 actions/newapplication.php:193
+#. 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."
 
 #. TRANS: Validation error shown when not providing an organisation in the "Edit application" form.
-#: actions/editapplication.php:219 actions/newapplication.php:196
+#. 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."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223 actions/newapplication.php:199
+#: 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)."
 
-#: actions/editapplication.php:226 actions/newapplication.php:202
+#. 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."
 
 #. TRANS: Validation error shown when providing too long a callback URL in the "Edit application" form.
-#: actions/editapplication.php:237 actions/newapplication.php:214
+#. 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."
 
 #. TRANS: Validation error shown when providing an invalid callback URL in the "Edit application" form.
-#: actions/editapplication.php:245 actions/newapplication.php:223
+#. 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."
 
 #. TRANS: Server error occuring when an application could not be updated from the "Edit application" form.
-#: actions/editapplication.php:282
+#: actions/editapplication.php:284
 msgid "Could not update application."
 msgstr "Não foi possível actualizar a aplicação."
 
@@ -1924,14 +2353,16 @@ 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."
 
 #. 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:109
+#: 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."
 
@@ -1942,7 +2373,8 @@ msgstr "Use este formulário para editar o grupo."
 
 #. TRANS: Group edit form validation error.
 #. TRANS: Group create form validation error.
-#: actions/editgroup.php:239 actions/newgroup.php:179
+#. 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\""
@@ -1954,7 +2386,7 @@ 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.
-#: actions/editgroup.php:279 classes/User_group.php:529
+#: actions/editgroup.php:279 classes/User_group.php:538
 msgid "Could not create aliases."
 msgstr "Não foi possível criar os nomes alternativos."
 
@@ -1964,25 +2396,25 @@ 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.
-#: 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.
-#: 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.
-#: actions/emailsettings.php:112
+#: actions/emailsettings.php:109
 msgid "Current confirmed email address."
 msgstr "Endereço de correio já confirmado."
 
@@ -1991,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.
-#: 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"
 
-#: 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."
@@ -2011,7 +2444,7 @@ msgstr ""
 #. 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\""
@@ -2019,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.
-#: 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.
-#: actions/emailsettings.php:151 actions/smssettings.php:171
+#: actions/emailsettings.php:148 actions/smssettings.php:167
 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.
-#: 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."
 
-#. 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.
-#: 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."
 
+#. 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.
-#: 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.
-#: 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.
-#: actions/emailsettings.php:186
+#: 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.
-#: actions/emailsettings.php:192
+#: 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.
-#: actions/emailsettings.php:199
+#: 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.
-#: actions/emailsettings.php:205
+#: 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.
-#: actions/emailsettings.php:211
+#: 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.
-#: actions/emailsettings.php:218
-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:225
+#: 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.
-#: actions/emailsettings.php:346
+#: 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.
-#: actions/emailsettings.php:366
+#: 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.
-#: actions/emailsettings.php:374
-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.
-#: actions/emailsettings.php:379 actions/register.php:212
+#: 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/emailsettings.php:383
+#: 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.
-#: actions/emailsettings.php:387
+#: 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.
-#: actions/emailsettings.php:404 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.
-#: actions/emailsettings.php:411
+#: 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."
@@ -2146,86 +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.
-#: actions/emailsettings.php:432 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.
-#: actions/emailsettings.php:437
+#: actions/emailsettings.php:450
 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:446 actions/smssettings.php:422
-msgid "Couldn't delete email 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.
-#: actions/emailsettings.php:451
+#: 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.
-#: actions/emailsettings.php:471
+#: 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.
-#: actions/emailsettings.php:492
+#: actions/emailsettings.php:504
 msgid "The email address was removed."
 msgstr "O endereço de correio electrónico foi removido."
 
-#: actions/emailsettings.php:506 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.
-#: actions/emailsettings.php:517 actions/emailsettings.php:541
-#: 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.
-#: actions/emailsettings.php:521 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.
-#: actions/emailsettings.php:545 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."
 
-#: 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!"
 
-#: 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"
 
+#. 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"
 
-#: 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"
 
-#: 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."
 
-#: 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."
 
+#. 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 "
@@ -2234,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."
 
-#: 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 "
@@ -2243,45 +2699,62 @@ msgstr ""
 "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:118
+#. 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"
 
-#: 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!"
 
+#. 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: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"
 
-#: 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"
 
-#: 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."
 
-#: 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."
 
-#: 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."
 
-#: 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."
 
@@ -2293,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."
 
-#: 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!"
 
@@ -2343,6 +2816,7 @@ 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/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
@@ -2351,9 +2825,10 @@ msgstr "Não foi especificado um perfil."
 
 #. 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:86
+#: 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."
 
@@ -2423,22 +2898,19 @@ msgstr ""
 "Personalize o aspecto do seu grupo com uma imagem de fundo e uma paleta de "
 "cores à sua escolha."
 
-#. 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".
-#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:405 lib/designsettings.php:427
-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."
 
-#: 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"
 
-#: 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."
@@ -2446,23 +2918,28 @@ msgstr ""
 "Pode carregar uma imagem para logotipo do seu grupo. O tamanho máximo do "
 "ficheiro é %s."
 
-#: actions/grouplogo.php:236
+#. TRANS: Submit button for uploading a group logo.
+#: actions/grouplogo.php:244
 msgid "Upload"
 msgstr "Carregar"
 
-#: actions/grouplogo.php:289
+#. TRANS: Button text for cropping an uploaded group logo.
+#: actions/grouplogo.php:301
 msgid "Crop"
 msgstr "Cortar"
 
-#: actions/grouplogo.php:365
+#. 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."
 
-#: actions/grouplogo.php:399
+#. TRANS: Form success message after updating a group logo.
+#: actions/grouplogo.php:414
 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."
 
@@ -2522,7 +2999,9 @@ msgstr "Tornar este utilizador um gestor"
 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"
@@ -2547,7 +3026,7 @@ msgstr ""
 "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"
 
@@ -2603,14 +3082,14 @@ 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.
-#: actions/imsettings.php:74
+#: actions/imsettings.php:71
 #, php-format
 msgid ""
 "You can send and receive notices through Jabber/GTalk [instant messages](%%"
@@ -2620,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.
-#: 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.
-#: actions/imsettings.php:106 actions/imsettings.php:136
+#: actions/imsettings.php:102 actions/imsettings.php:132
 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.
-#: actions/imsettings.php:124
+#: actions/imsettings.php:120
 #, php-format
 msgid ""
 "Awaiting confirmation on this address. Check your Jabber/GTalk account for a "
@@ -2651,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.
-#: actions/imsettings.php:143
+#: actions/imsettings.php:139
 #, php-format
 msgid ""
 "Jabber or GTalk address, like \"UserName@example.org\". First, make sure to "
@@ -2662,63 +3141,63 @@ msgstr ""
 "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.
-#: 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.
-#: 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.
-#: 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.
-#: 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.
-#: actions/imsettings.php:290 actions/othersettings.php:190
+#: 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.
-#: 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.
-#: 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.
-#: 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.
-#: 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.
-#: 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.
-#: 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 %"
@@ -2728,28 +3207,29 @@ msgstr ""
 "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.
-#: 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.
-#: 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.
-#: 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.
-#: actions/imsettings.php:450
+#: actions/imsettings.php:440
 msgid "The IM address was removed."
 msgstr "O endereço do mensageiro instantâneo foi removido."
 
@@ -2955,131 +3435,145 @@ msgstr ""
 "\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."
 
-#: 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"
 
-#: 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."
 
+#. 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.
-#: 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."
 
-#: 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
-#: actions/licenseadminpanel.php:56
+#: actions/licenseadminpanel.php:55
 msgctxt "TITLE"
 msgid "License"
 msgstr ""
 
-#: actions/licenseadminpanel.php:67
+#: actions/licenseadminpanel.php:65
 msgid "License for this StatusNet site"
 msgstr ""
 
-#: actions/licenseadminpanel.php:139
+#: actions/licenseadminpanel.php:134
 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 ""
 
-#: actions/licenseadminpanel.php:156
+#: 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 ""
 
-#: actions/licenseadminpanel.php:171
+#: actions/licenseadminpanel.php:166
 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 ""
 
-#: actions/licenseadminpanel.php:187
+#: actions/licenseadminpanel.php:182
 msgid "License image must be blank or valid URL."
 msgstr ""
 
-#: actions/licenseadminpanel.php:239
+#: actions/licenseadminpanel.php:232
 msgid "License selection"
 msgstr ""
 
-#: actions/licenseadminpanel.php:245
+#: actions/licenseadminpanel.php:238
 msgid "Private"
 msgstr "Privado"
 
-#: actions/licenseadminpanel.php:246
+#: actions/licenseadminpanel.php:239
 msgid "All Rights Reserved"
 msgstr ""
 
-#: actions/licenseadminpanel.php:247
+#: actions/licenseadminpanel.php:240
 msgid "Creative Commons"
 msgstr ""
 
-#: actions/licenseadminpanel.php:252
+#: actions/licenseadminpanel.php:245
 msgid "Type"
 msgstr ""
 
-#: actions/licenseadminpanel.php:254
+#: actions/licenseadminpanel.php:247
 msgid "Select license"
 msgstr ""
 
-#: actions/licenseadminpanel.php:268
+#: actions/licenseadminpanel.php:261
 msgid "License details"
 msgstr ""
 
-#: actions/licenseadminpanel.php:274
+#: actions/licenseadminpanel.php:267
 msgid "Owner"
 msgstr ""
 
-#: actions/licenseadminpanel.php:275
+#: actions/licenseadminpanel.php:268
 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 ""
 
-#: actions/licenseadminpanel.php:284
+#: actions/licenseadminpanel.php:277
 msgid "The title of the license."
 msgstr ""
 
-#: actions/licenseadminpanel.php:292
+#: actions/licenseadminpanel.php:285
 msgid "License URL"
 msgstr ""
 
-#: actions/licenseadminpanel.php:293
+#: actions/licenseadminpanel.php:286
 msgid "URL for more information about the license."
 msgstr ""
 
-#: actions/licenseadminpanel.php:300
+#: actions/licenseadminpanel.php:293
 msgid "License Image URL"
 msgstr ""
 
-#: actions/licenseadminpanel.php:301
+#: actions/licenseadminpanel.php:294
 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 ""
 
@@ -3095,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."
 
-#: actions/login.php:210 actions/login.php:263 lib/logingroupnav.php:79
+#: actions/login.php:210 actions/login.php:263
 msgid "Login"
 msgstr "Entrar"
 
@@ -3103,11 +3597,11 @@ msgstr "Entrar"
 msgid "Login to site"
 msgstr "Iniciar sessão no site"
 
-#: actions/login.php:258 actions/register.php:491
+#: actions/login.php:258 actions/register.php:490
 msgid "Remember me"
 msgstr "Lembrar-me neste computador"
 
-#: actions/login.php:259 actions/register.php:493
+#: 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 "
@@ -3165,19 +3659,22 @@ msgid "New application"
 msgstr "Aplicação Nova"
 
 #. TRANS: Client error displayed trying to add a new application while not logged in.
-#: actions/newapplication.php:65
+#: 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."
 
+#. 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."
 
-#: actions/newapplication.php:184
+#. 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."
 
-#: actions/newapplication.php:266 actions/newapplication.php:275
+#. 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."
 
@@ -3186,11 +3683,23 @@ msgstr "Não foi possível criar a aplicação."
 msgid "New group"
 msgstr "Grupo novo"
 
+#. 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:110
+#: actions/newgroup.php:117
 msgid "Use this form to create a new group."
 msgstr "Use este formulário para criar um grupo novo."
 
+#. 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"
@@ -3490,7 +3999,8 @@ msgstr "Modificar 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"
 
@@ -3498,7 +4008,8 @@ msgstr "Mudança da senha"
 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"
 
@@ -3506,12 +4017,7 @@ msgstr "Nova"
 msgid "6 or more characters"
 msgstr "6 ou mais caracteres"
 
-#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:441
-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"
 
@@ -3535,11 +4041,12 @@ msgstr "Senha antiga incorrecta."
 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."
 
-#: 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."
 
@@ -3866,12 +4373,12 @@ msgstr ""
 "A licença ‘%1$s’ da nota não é compatível com a licença ‘%2$s’ do site."
 
 #. TRANS: Page title for profile settings.
-#: actions/profilesettings.php:61
+#: actions/profilesettings.php:59
 msgid "Profile settings"
 msgstr "Configurações do perfil"
 
 #. TRANS: Usage instructions for profile settings.
-#: actions/profilesettings.php:73
+#: actions/profilesettings.php:70
 msgid ""
 "You can update your personal profile info here so people know more about you."
 msgstr ""
@@ -3879,33 +4386,35 @@ msgstr ""
 "saibam mais sobre si."
 
 #. TRANS: Profile settings form legend.
-#: actions/profilesettings.php:102
+#: actions/profilesettings.php:98
 msgid "Profile information"
 msgstr "Informação do perfil"
 
 #. TRANS: Tooltip for field label in form for profile settings.
-#: actions/profilesettings.php:113
+#: 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"
 
 #. TRANS: Field label in form for profile settings.
 #. TRANS: Label for full group name (dt). Text hidden by default.
-#: actions/profilesettings.php:117 actions/register.php:456
+#. 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:157 lib/userprofile.php:152
+#: lib/groupeditform.php:149 lib/userprofile.php:156
 msgid "Full name"
 msgstr "Nome completo"
 
 #. TRANS: Field label in form for profile settings.
 #. TRANS: Form input field label.
-#: actions/profilesettings.php:122 actions/register.php:461
-#: 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"
 
 #. TRANS: Tooltip for field label in form for profile settings.
-#: actions/profilesettings.php:125
+#: 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"
@@ -3913,7 +4422,7 @@ msgstr "URL da sua página pessoal, blogue ou perfil noutro site na internet"
 #. 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:133 actions/register.php:472
+#: 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"
@@ -3921,44 +4430,46 @@ msgstr[0] "Descreva-se e aos seus interesses (máx. 140 caracteres)"
 msgstr[1] "Descreva-se e aos seus interesses (máx. 140 caracteres)"
 
 #. TRANS: Tooltip for field label in form for profile settings.
-#: actions/profilesettings.php:139 actions/register.php:477
+#: actions/profilesettings.php:135 actions/register.php:476
 msgid "Describe yourself and your interests"
 msgstr "Descreva-se e aos seus interesses"
 
 #. TRANS: Text area label in form for profile settings where users can provide.
 #. TRANS: their biography.
-#: actions/profilesettings.php:143 actions/register.php:479
+#: actions/profilesettings.php:139 actions/register.php:478
 msgid "Bio"
 msgstr "Biografia"
 
 #. TRANS: Field label in form for profile settings.
 #. TRANS: Label for group location (dt). Text hidden by default.
-#: actions/profilesettings.php:149 actions/register.php:484
+#. 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:180
-#: lib/userprofile.php:167
+#: actions/userauthorization.php:166 lib/groupeditform.php:172
+#: lib/userprofile.php:172
 msgid "Location"
 msgstr "Localidade"
 
 #. TRANS: Tooltip for field label in form for profile settings.
-#: actions/profilesettings.php:152 actions/register.php:486
+#: 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\""
 
 #. TRANS: Checkbox label in form for profile settings.
-#: actions/profilesettings.php:157
+#: actions/profilesettings.php:153
 msgid "Share my current location when posting notices"
 msgstr "Compartilhar a minha localização presente ao publicar notas"
 
 #. TRANS: Field label in form for profile settings.
-#: actions/profilesettings.php:165 actions/tagother.php:149
+#. TRANS: DT for tags in a profile.
+#: actions/profilesettings.php:161 actions/tagother.php:149
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
-#: lib/subscriptionlist.php:108 lib/userprofile.php:212
+#: lib/subscriptionlist.php:108 lib/userprofile.php:220
 msgid "Tags"
 msgstr "Categorias"
 
 #. TRANS: Tooltip for field label in form for profile settings.
-#: actions/profilesettings.php:168
+#: actions/profilesettings.php:164
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
@@ -3966,27 +4477,27 @@ msgstr ""
 "espaços"
 
 #. TRANS: Dropdownlist label in form for profile settings.
-#: actions/profilesettings.php:173
+#: actions/profilesettings.php:169
 msgid "Language"
 msgstr "Língua"
 
 #. TRANS: Tooltip for dropdown list label in form for profile settings.
-#: actions/profilesettings.php:175
+#: actions/profilesettings.php:171
 msgid "Preferred language"
 msgstr "Língua preferida"
 
 #. TRANS: Dropdownlist label in form for profile settings.
-#: actions/profilesettings.php:185
+#: actions/profilesettings.php:181
 msgid "Timezone"
 msgstr "Fuso horário"
 
 #. TRANS: Tooltip for dropdown list label in form for profile settings.
-#: actions/profilesettings.php:187
+#: actions/profilesettings.php:183
 msgid "What timezone are you normally in?"
 msgstr "Em que fuso horário se encontra normalmente?"
 
 #. TRANS: Checkbox label in form for profile settings.
-#: actions/profilesettings.php:193
+#: 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)"
@@ -3994,7 +4505,7 @@ msgstr "Subscrever automaticamente quem me subscreva (óptimo para não-humanos)
 #. 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:262 actions/register.php:229
+#: 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)."
@@ -4002,50 +4513,54 @@ msgstr[0] "Biografia demasiado extensa (máx. %d caracteres)."
 msgstr[1] "Biografia demasiado extensa (máx. %d caracteres)."
 
 #. TRANS: Validation error in form for profile settings.
-#: actions/profilesettings.php:273 actions/siteadminpanel.php:151
+#: actions/profilesettings.php:269 actions/siteadminpanel.php:151
 msgid "Timezone not selected."
 msgstr "Fuso horário não foi seleccionado."
 
 #. TRANS: Validation error in form for profile settings.
-#: actions/profilesettings.php:281
+#: actions/profilesettings.php:277
 #, fuzzy
 msgid "Language is too long (maximum 50 characters)."
 msgstr "Língua é demasiado extensa (máx. 50 caracteres)."
 
 #. TRANS: Validation error in form for profile settings.
 #. TRANS: %s is an invalid tag.
-#: actions/profilesettings.php:295 actions/tagother.php:178
+#: actions/profilesettings.php:291 actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr "Categoria inválida: \"%s\""
 
 #. TRANS: Server error thrown when user profile settings could not be updated to
 #. TRANS: automatically subscribe to any subscriber.
-#: actions/profilesettings.php:351
-msgid "Couldn't update user for autosubscribe."
+#: 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."
 
 #. TRANS: Server error thrown when user profile location preference settings could not be updated.
-#: actions/profilesettings.php:409
-msgid "Couldn't save location prefs."
+#: actions/profilesettings.php:405
+#, fuzzy
+msgid "Could not save location prefs."
 msgstr "Não foi possível gravar as preferências de localização."
 
-#. TRANS: Server error thrown when user profile settings could not be saved.
-#: actions/profilesettings.php:422
-msgid "Couldn't save profile."
-msgstr "Não foi possível gravar o perfil."
-
 #. TRANS: Server error thrown when user profile settings tags could not be saved.
-#: actions/profilesettings.php:431
-msgid "Couldn't save tags."
+#: actions/profilesettings.php:427 actions/tagother.php:200
+msgid "Could not save tags."
 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.
-#: actions/profilesettings.php:440 lib/adminpanelaction.php:138
+#: actions/profilesettings.php:436 lib/adminpanelaction.php:138
 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)."
@@ -4165,37 +4680,45 @@ msgstr ""
 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!"
 
-#: 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."
 
-#: 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."
 
-#: 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."
 
-#: 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."
 
-#: 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."
 
-#: 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."
 
-#: 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."
@@ -4203,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."
 
-#: 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"
 
-#: 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"
 
-#: 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."
 
-#: actions/recoverpassword.php:199 actions/recoverpassword.php:200
+#. TRANS: Field label on password recovery page.
+#: actions/recoverpassword.php:212
 msgid "Recover"
 msgstr "Recuperar"
 
-#: actions/recoverpassword.php:208
+#. TRANS: Button text on password recovery page.
+#: actions/recoverpassword.php:214
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Recover"
+msgstr "Recuperar"
+
+#. TRANS: Title for password recovery page in password reset mode.
+#: actions/recoverpassword.php:223
 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"
 
-#: 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"
 
-#: 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"
 
-#: 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!"
 
-#: 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"
 
-#: 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."
 
-#: 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."
 
-#: 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."
 
-#: 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."
 
-#: 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."
@@ -4273,24 +4829,35 @@ msgstr ""
 "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."
 
-#: actions/recoverpassword.php:365
+#. 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."
 
-#: 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."
 
-#: actions/recoverpassword.php:388 actions/register.php:256
+#. 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."
 
-#: 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."
 
@@ -4306,7 +4873,7 @@ msgstr "Desculpe, código de convite inválido."
 msgid "Registration successful"
 msgstr "Registo efectuado"
 
-#: actions/register.php:121 actions/register.php:512 lib/logingroupnav.php:85
+#: actions/register.php:121 actions/register.php:511
 msgid "Register"
 msgstr "Registar"
 
@@ -4334,64 +4901,56 @@ msgstr ""
 "Com este formulário pode criar uma conta nova. Poderá então publicar notas e "
 "ligar-se a amigos e colegas. "
 
-#: actions/register.php:433
-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:438
-msgid "6 or more characters. Required."
-msgstr "6 ou mais caracteres. Obrigatório."
-
-#: actions/register.php:442
-msgid "Same as password above. Required."
-msgstr "Repita a senha acima. Obrigatório."
+#: actions/register.php:437
+#, fuzzy
+msgid "6 or more characters."
+msgstr "6 ou mais caracteres"
 
 #. TRANS: Link description in user account settings menu.
-#: actions/register.php:446 actions/register.php:450
+#: actions/register.php:445 actions/register.php:449
 #: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:127
 msgid "Email"
 msgstr "Correio"
 
-#: actions/register.php:447 actions/register.php:451
+#: actions/register.php:446 actions/register.php:450
 msgid "Used only for updates, announcements, and password recovery"
 msgstr "Usado apenas para actualizações, anúncios e recuperação da senha"
 
-#: actions/register.php:458
+#: actions/register.php:457
 msgid "Longer name, preferably your \"real\" name"
 msgstr "Nome mais longo, de preferência o seu nome \"verdadeiro\""
 
-#: actions/register.php:463
+#: 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:524
+#: 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."
 
-#: actions/register.php:534
+#: 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.
-#: actions/register.php:538
+#: 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.
-#: actions/register.php:541
+#: 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.
-#: actions/register.php:546
+#: actions/register.php:545
 #, php-format
 msgid ""
 "My text and files are available under %s except this private data: password, "
@@ -4401,7 +4960,7 @@ msgstr ""
 "estes dados privados: senha, endereço de correio electrónico, endereço de "
 "mensageiro instantâneo, número de telefone."
 
-#: actions/register.php:589
+#: actions/register.php:588
 #, php-format
 msgid ""
 "Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -4434,7 +4993,7 @@ msgstr ""
 "\n"
 "Obrigado por se ter registado e esperamos que se divirta usando este serviço."
 
-#: actions/register.php:613
+#: actions/register.php:612
 msgid ""
 "(You should receive a message by email momentarily, with instructions on how "
 "to confirm your email address.)"
@@ -4442,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.)"
 
-#: actions/remotesubscribe.php:98
+#: actions/remotesubscribe.php:97
 #, php-format
 msgid ""
 "To subscribe, you can [login](%%action.login%%), or [register](%%action."
@@ -4454,79 +5013,84 @@ msgstr ""
 "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"
 
-#: actions/remotesubscribe.php:124
+#: actions/remotesubscribe.php:123
 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"
 
-#: actions/remotesubscribe.php:130
+#: actions/remotesubscribe.php:129
 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"
 
-#: 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"
 
-#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:411
+#. 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"
 
-#: actions/remotesubscribe.php:159
+#: actions/remotesubscribe.php:158
 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)."
 
-#: 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."
 
-#: 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."
 
-#: 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."
 
-#: 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."
 
-#: 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."
 
-#: actions/repeat.php:90
+#: actions/repeat.php:89
 msgid "You already repeated that notice."
 msgstr "Já repetiu essa nota."
 
-#: actions/repeat.php:114 lib/noticelist.php:691
+#: actions/repeat.php:112 lib/noticelist.php:692
 msgid "Repeated"
 msgstr "Repetida"
 
-#: actions/repeat.php:119
+#: actions/repeat.php:117
 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
-#: lib/personalgroupnav.php:108
+#: lib/personalgroupnav.php:109
 #, php-format
 msgid "Replies to %s"
 msgstr "Respostas a %s"
@@ -4582,6 +5146,97 @@ msgstr ""
 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."
@@ -4658,13 +5313,14 @@ msgstr "Organização"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:175
+#: lib/applicationeditform.php:208 lib/groupeditform.php:167
 msgid "Description"
 msgstr "Descrição"
 
 #. 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:187
+#: lib/profileaction.php:205
 msgid "Statistics"
 msgstr "Estatísticas"
 
@@ -4681,8 +5337,9 @@ msgstr "Operações da aplicação"
 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:66 lib/noticelist.php:672
+#: lib/deleteuserform.php:64 lib/noticelist.php:673
 msgid "Delete"
 msgstr "Apagar"
 
@@ -4723,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?"
 
-#: 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"
 
-#: 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."
 
-#: 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)"
 
-#: 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)"
 
-#: 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)"
 
-#: 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."
@@ -4756,7 +5420,9 @@ msgstr ""
 "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 "
@@ -4765,7 +5431,10 @@ msgstr ""
 "%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](%%%%"
@@ -4776,7 +5445,8 @@ msgstr ""
 "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."
 
@@ -4799,19 +5469,21 @@ msgid "Group profile"
 msgstr "Perfil do grupo"
 
 #. 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:180
+#: actions/userauthorization.php:175 lib/userprofile.php:186
 msgid "URL"
 msgstr "URL"
 
 #. 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:197
+#: actions/userauthorization.php:187 lib/userprofile.php:204
 msgid "Note"
 msgstr "Anotação"
 
 #. TRANS: Label for group aliases (dt). Text hidden by default.
-#: actions/showgroup.php:293 lib/groupeditform.php:187
+#: actions/showgroup.php:293 lib/groupeditform.php:179
 msgid "Aliases"
 msgstr "Nomes alternativos"
 
@@ -4850,8 +5522,11 @@ msgid "Members"
 msgstr "Membros"
 
 #. TRANS: Description for mini list of group members on a group page when the group has no members.
-#: actions/showgroup.php:408 lib/profileaction.php:117
-#: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
+#. 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)"
@@ -5205,70 +5880,70 @@ 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.
-#: 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.
-#: 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.
-#: actions/smssettings.php:111
+#: actions/smssettings.php:107
 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.
-#: 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.
-#: 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.
-#: 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.
-#: 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.
-#: 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.
-#: 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.
-#: actions/smssettings.php:195
+#: actions/smssettings.php:191
 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."
@@ -5277,32 +5952,32 @@ msgstr ""
 "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.
-#: 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.
-#: 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.
-#: 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.
-#: 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.
-#: 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."
@@ -5312,39 +5987,39 @@ msgstr ""
 "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.
-#: 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.
-#: 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.
-#: 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.
-#: 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.
-#: 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.
-#: 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 "
@@ -5355,8 +6030,9 @@ msgstr ""
 "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
@@ -5424,7 +6100,7 @@ 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.
-#: actions/subedit.php:89 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."
 
@@ -5432,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."
 
-#: 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."
@@ -5472,7 +6144,7 @@ msgid "These are the people who listen to %s's notices."
 msgstr "Estas são as pessoas que escutam as notas de %s."
 
 #. TRANS: Subscriber list text when the logged in user has no subscribers.
-#: actions/subscribers.php:116
+#: actions/subscribers.php:114
 #, fuzzy
 msgid ""
 "You have no subscribers. Try subscribing to people you know and they might "
@@ -5483,7 +6155,7 @@ msgstr ""
 
 #. 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:120
+#: 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?"
@@ -5493,7 +6165,7 @@ msgstr "%s não tem subscritores. Quer ser o primeiro?"
 #. 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:129
+#: actions/subscribers.php:127
 #, php-format
 msgid ""
 "%s has no subscribers. Why not [register an account](%%%%action.register%%%"
@@ -5502,13 +6174,6 @@ msgstr ""
 "%s não tem subscritores. Quer [registar uma conta](%%action.register%%) e "
 "ser o primeiro?"
 
-#. TRANS: Header for subscriptions overview for a user (first page).
-#. TRANS: %s is a user nickname.
-#: actions/subscriptions.php:51
-#, php-format
-msgid "%s subscriptions"
-msgstr "Subscrições de %s"
-
 #. 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
@@ -5533,7 +6198,7 @@ msgstr "Estas são as pessoas cujas notas %s está a escutar."
 #. 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:135
+#: actions/subscriptions.php:133
 #, php-format
 msgid ""
 "You're not listening to anyone's notices right now, try subscribing to "
@@ -5553,18 +6218,24 @@ msgstr ""
 #. 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:143 actions/subscriptions.php:149
+#: 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."
 
+#. 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:226
+#: actions/subscriptions.php:239
 msgid "Jabber"
 msgstr "Jabber"
 
 #. TRANS: Checkbox label for enabling SMS messages for a profile in a subscriptions list.
-#: actions/subscriptions.php:241
+#: actions/subscriptions.php:254
 msgid "SMS"
 msgstr "SMS"
 
@@ -5597,12 +6268,14 @@ msgstr "Argumento de identificação (ID) em falta."
 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"
 
+#. TRANS: DT element in area for user avatar.
 #: actions/tagother.php:81 actions/userauthorization.php:132
-#: lib/userprofile.php:107
+#: lib/userprofile.php:108
 msgid "Photo"
 msgstr "Foto"
 
@@ -5623,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."
 
-#: 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 ""
@@ -5696,7 +6365,6 @@ msgstr "Subscrição predefinida é inválida: '%1$s' não é utilizador."
 
 #. TRANS: Link description in user account settings menu.
 #: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Perfil"
 
@@ -5861,12 +6529,12 @@ msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Tipo de imagem incorrecto para o avatar da URL ‘%s’."
 
 #. TRANS: Page title for profile design page.
-#: actions/userdesignsettings.php:76 lib/designsettings.php:63
+#: actions/userdesignsettings.php:74 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Estilo do perfil"
 
 #. TRANS: Instructions for profile design page.
-#: actions/userdesignsettings.php:87 lib/designsettings.php:74
+#: 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."
@@ -5874,7 +6542,7 @@ msgstr ""
 "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!"
 
@@ -5973,13 +6641,13 @@ msgid "Author(s)"
 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.
-#: 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."
@@ -6041,42 +6709,42 @@ 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.
-#: 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.
-#: 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.
-#: 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.
-#: 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.
-#: 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.
-#: classes/Group_member.php:117
+#: classes/Group_member.php:151
 #, php-format
 msgid "%1$s has joined group %2$s."
 msgstr ""
@@ -6094,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.
-#: 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."
 
@@ -6104,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.
-#: 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.
-#: 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."
 
@@ -6121,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.
-#: 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.
-#: 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.
-#: 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.
-#: 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 ""
@@ -6145,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.
-#: 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."
@@ -6154,43 +6822,43 @@ msgstr ""
 "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.
-#: 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().
-#: classes/Notice.php:909
+#: 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.
-#: classes/Notice.php:1008
+#: 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.
-#: classes/Notice.php:1122
+#: 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.
-#: classes/Notice.php:1853
+#: classes/Notice.php:1655
 #, 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:247
+#: classes/Profile.php:172 classes/User_group.php:242
 #, fuzzy, php-format
 msgctxt "FANCYNAME"
 msgid "%1$s (%2$s)"
@@ -6198,7 +6866,7 @@ 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).
-#: classes/Profile.php:845
+#: classes/Profile.php:765
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
@@ -6206,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).
-#: classes/Profile.php:854
+#: classes/Profile.php:774
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -6224,48 +6892,48 @@ 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.
-#: 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.
-#: 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.
-#: 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.
-#: 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.
-#: 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.
-#: 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.
-#: 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.
-#: 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.
-#: 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."
@@ -6278,35 +6946,56 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "%1$s dá-lhe as boas-vindas, @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:923
+#: 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:927
+#: classes/User.php:922
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:511
+#: 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.
-#: classes/User_group.php:521
+#: 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.
-#: classes/User_group.php:544
+#: classes/User_group.php:553
 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:559
+#: 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
 msgid "Change your profile settings"
@@ -6364,61 +7053,62 @@ msgstr ""
 msgid "Primary site navigation"
 msgstr "Navegação primária deste site"
 
-#. TRANS: Tooltip for main menu option "Personal"
+#. 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"
 
-#. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:540
+#. 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"
 
-#. TRANS: Tooltip for main menu option "Account"
+#. 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"
 
-#. TRANS: Main menu option when logged in for access to user settings
+#. 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"
+#. TRANS: Tooltip for main menu option "Services".
 #: lib/action.php:547
 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
+#. 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"
 
-#. TRANS: Tooltip for menu option "Admin"
+#. TRANS: Tooltip for menu option "Admin".
 #: lib/action.php:553
 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.
 #: lib/action.php:556 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Gestor"
 
-#. TRANS: Tooltip for main menu option "Invite"
+#. 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"
 
-#. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
+#. TRANS: Main menu option when logged in and invitations are allowed for inviting new users.
 #: lib/action.php:563
 msgctxt "MENU"
 msgid "Invite"
@@ -6430,55 +7120,57 @@ 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
+#. TRANS: Main menu option when logged in to log out the current user.
 #: lib/action.php:572
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Sair"
 
-#. TRANS: Tooltip for main menu option "Register"
+#. TRANS: Tooltip for main menu option "Register".
 #: lib/action.php:577
 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:580
+#. 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"
 
-#. TRANS: Tooltip for main menu option "Login"
+#. TRANS: Tooltip for main menu option "Login".
 #: lib/action.php:583
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Iniciar uma sessão"
 
-#. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:586
+#. 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"
 
-#. TRANS: Tooltip for main menu option "Help"
+#. TRANS: Tooltip for main menu option "Help".
 #: lib/action.php:589
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Ajudem-me!"
 
-#. TRANS: Main menu option for help on the StatusNet site
+#. TRANS: Main menu option for help on the StatusNet site.
 #: lib/action.php:592
 msgctxt "MENU"
 msgid "Help"
 msgstr "Ajuda"
 
-#. TRANS: Tooltip for main menu option "Search"
+#. 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"
 
-#. TRANS: Main menu option when logged in or when the StatusNet instance is not private
+#. TRANS: Main menu option when logged in or when the StatusNet instance is not private.
 #: lib/action.php:598
 msgctxt "MENU"
 msgid "Search"
@@ -6640,12 +7332,80 @@ 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."
 
+#. 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."
@@ -6716,7 +7476,7 @@ msgid "User configuration"
 msgstr "Configuração do utilizador"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:122
 msgid "User"
 msgstr "Utilizador"
 
@@ -6795,23 +7555,27 @@ msgid ""
 msgstr ""
 
 #. TRANS: Exception thrown when no access token can be issued.
-#: lib/apioauthstore.php:186
+#: lib/apioauthstore.php:209
 #, fuzzy
 msgid "Could not issue access token."
 msgstr "Não foi possível inserir a mensagem."
 
-#. TRANS: Server error displayed when a database error occurs.
-#: lib/apioauthstore.php:243
+#: 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.
-#: lib/apioauthstore.php:285
+#: 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.
-#: lib/apioauthstore.php:290
+#: lib/apioauthstore.php:376
 msgid "Failed to delete revoked token."
 msgstr "Falha ao eliminar código revogado."
 
@@ -6927,10 +7691,16 @@ 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 ""
 
+#. 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.
 #: lib/attachmentlist.php:294
 msgid "Author"
@@ -7082,7 +7852,7 @@ 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.
 #. TRANS: %s is a location.
-#: lib/command.php:434 lib/mail.php:278
+#: lib/command.php:434 lib/mail.php:270
 #, php-format
 msgid "Location: %s"
 msgstr "Localidade: %s"
@@ -7090,7 +7860,7 @@ msgstr "Localidade: %s"
 #. TRANS: Whois output. %s is the homepage of the queried user.
 #. TRANS: Profile info line in new-subscriber notification e-mail.
 #. TRANS: %s is a homepage.
-#: lib/command.php:438 lib/mail.php:282
+#: lib/command.php:438 lib/mail.php:274
 #, php-format
 msgid "Homepage: %s"
 msgstr "Página pessoal: %s"
@@ -7360,26 +8130,26 @@ msgstr ""
 "tracking - ainda não implementado.\n"
 
 #. TRANS: Error message displayed when no configuration file was found for a StatusNet installation.
-#: lib/common.php:147
+#: 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).
-#: lib/common.php:150
+#: 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.
-#: lib/common.php:153
+#: 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.
-#: lib/common.php:157
+#: lib/common.php:171
 msgid "Go to the installer."
 msgstr "Ir para o instalador."
 
@@ -7451,26 +8221,59 @@ msgctxt "RADIO"
 msgid "Off"
 msgstr "Desligar"
 
-#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
-#: lib/designsettings.php:264
-#, fuzzy
-msgctxt "BUTTON"
-msgid "Reset"
-msgstr "Reiniciar"
+#. 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"
 
-#: 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"
 
-#: 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"
 
+#. 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"
@@ -7487,6 +8290,19 @@ msgstr "Atom"
 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"
@@ -7521,33 +8337,29 @@ msgstr "Prosseguir"
 msgid "Grant this user the \"%s\" role"
 msgstr "Atribuir a este utilizador a função \"%s\""
 
-#: lib/groupeditform.php:154
-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"
-
-#: lib/groupeditform.php:163
+#: 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"
 
-#: lib/groupeditform.php:168
+#: lib/groupeditform.php:160
 msgid "Describe the group or topic"
 msgstr "Descreva o grupo ou assunto"
 
-#: lib/groupeditform.php:170
+#: 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"
+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:182
+#: lib/groupeditform.php:174
 #, fuzzy
 msgid ""
 "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\""
 
-#: lib/groupeditform.php:190
+#: lib/groupeditform.php:182
 #, fuzzy, php-format
 msgid ""
 "Extra nicknames for the group, separated with commas or spaces. Maximum %d "
@@ -7654,40 +8466,41 @@ 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"
 
-#: 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."
 
 #. 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:90
+#: 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."
 
-#: lib/imagefile.php:95
+#. 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."
 
-#. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:103 lib/mediafile.php:228
-msgid "System error uploading file."
-msgstr "Ocorreu um erro de sistema ao transferir o ficheiro."
-
-#: lib/imagefile.php:111
+#. 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."
 
-#: lib/imagefile.php:160
+#. 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."
 
-#: lib/imagefile.php:197 lib/imagefile.php:237
+#. 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"
 
 #. TRANS: Number of megabytes. %d is the number.
-#: lib/imagefile.php:283
+#: lib/imagefile.php:303
 #, fuzzy, php-format
 msgid "%dMB"
 msgid_plural "%dMB"
@@ -7695,7 +8508,7 @@ msgstr[0] "MB"
 msgstr[1] "MB"
 
 #. TRANS: Number of kilobytes. %d is the number.
-#: lib/imagefile.php:287
+#: lib/imagefile.php:307
 #, fuzzy, php-format
 msgid "%dkB"
 msgid_plural "%dkB"
@@ -7703,7 +8516,7 @@ msgstr[0] "kB"
 msgstr[1] "kB"
 
 #. TRANS: Number of bytes. %d is the number.
-#: lib/imagefile.php:290
+#: lib/imagefile.php:310
 #, php-format
 msgid "%dB"
 msgid_plural "%dB"
@@ -7724,23 +8537,25 @@ msgstr "Origem da caixa de entrada desconhecida \"%s\"."
 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"
 
-#: 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"
 
 #. TRANS: Subject for address confirmation email.
-#: lib/mail.php:174
+#: lib/mail.php:168
 msgid "Email address confirmation"
 msgstr "Confirmação do endereço electrónico"
 
 #. TRANS: Body for address confirmation email.
 #. 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:179
+#: lib/mail.php:173
 #, fuzzy, php-format
 msgid ""
 "Hey, %1$s.\n"
@@ -7771,14 +8586,14 @@ msgstr ""
 
 #. 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:246
+#: 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."
 
 #. 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:253
+#: lib/mail.php:245
 #, php-format
 msgid ""
 "If you believe this account is being used abusively, you can block them from "
@@ -7793,7 +8608,7 @@ msgstr ""
 #. 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:263
+#: lib/mail.php:255
 #, fuzzy, php-format
 msgid ""
 "%1$s is now listening to your notices on %2$s.\n"
@@ -7821,14 +8636,14 @@ msgstr ""
 
 #. TRANS: Profile info line in new-subscriber notification e-mail.
 #. TRANS: %s is biographical information.
-#: lib/mail.php:286
+#: lib/mail.php:278
 #, php-format
 msgid "Bio: %s"
 msgstr "Bio: %s"
 
 #. TRANS: Subject of notification mail for new posting email address.
 #. TRANS: %s is the StatusNet sitename.
-#: lib/mail.php:315
+#: 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"
@@ -7836,7 +8651,7 @@ msgstr "Novo endereço electrónico para publicar no site %s"
 #. 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:321
+#: lib/mail.php:313
 #, fuzzy, php-format
 msgid ""
 "You have a new posting address on %1$s.\n"
@@ -7859,34 +8674,34 @@ msgstr ""
 
 #. TRANS: Subject line for SMS-by-email notification messages.
 #. TRANS: %s is the posting user's nickname.
-#: lib/mail.php:442
+#: lib/mail.php:434
 #, php-format
 msgid "%s status"
 msgstr "Estado de %s"
 
 #. TRANS: Subject line for SMS-by-email address confirmation message.
-#: lib/mail.php:468
+#: lib/mail.php:460
 msgid "SMS confirmation"
 msgstr "Confirmação SMS"
 
 #. TRANS: Main body heading for SMS-by-email address confirmation message.
 #. TRANS: %s is the addressed user's nickname.
-#: lib/mail.php:472
+#: 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:"
 
 #. TRANS: Subject for 'nudge' notification email.
 #. TRANS: %s is the nudging user.
-#: lib/mail.php:493
-#, php-format
-msgid "You've been nudged by %s"
+#: lib/mail.php:485
+#, fuzzy, php-format
+msgid "You have been nudged by %s"
 msgstr "%s envia-lhe um toque"
 
 #. 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:500
+#: lib/mail.php:492
 #, php-format
 msgid ""
 "%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -7915,7 +8730,7 @@ msgstr ""
 
 #. TRANS: Subject for direct-message notification email.
 #. TRANS: %s is the sending user's nickname.
-#: lib/mail.php:547
+#: lib/mail.php:539
 #, php-format
 msgid "New private message from %s"
 msgstr "Nova mensagem privada de %s"
@@ -7924,7 +8739,7 @@ msgstr "Nova mensagem privada de %s"
 #. 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:555
+#: lib/mail.php:547
 #, php-format
 msgid ""
 "%1$s (%2$s) sent you a private message:\n"
@@ -7959,7 +8774,7 @@ msgstr ""
 
 #. 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:607
+#: 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."
@@ -7969,7 +8784,7 @@ msgstr "%s (@%s) adicionou a sua nota às favoritas."
 #. 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:614
+#: lib/mail.php:606
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -8007,7 +8822,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:672
+#: lib/mail.php:664
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -8020,7 +8835,7 @@ msgstr ""
 
 #. 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:680
+#: 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"
@@ -8031,7 +8846,7 @@ msgstr "%s (@%s) enviou uma nota à sua atenção"
 #. 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:688
+#: lib/mail.php:680
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -8094,7 +8909,7 @@ msgstr ""
 "conversa com outros utilizadores. Outros podem enviar-lhe mensagens, a que "
 "só você terá acesso."
 
-#: lib/mailbox.php:228 lib/noticelist.php:521
+#: lib/mailbox.php:228 lib/noticelist.php:522
 msgid "from"
 msgstr "a partir de"
 
@@ -8126,40 +8941,6 @@ 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: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.
-#: 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.
-#: 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.
-#: 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.
-#: 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.
-#: 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 would cause a user to exceed a set quota.
 #: lib/mediafile.php:238 lib/mediafile.php:281
 msgid "File exceeds user's quota."
@@ -8180,7 +8961,7 @@ 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:394
+#: lib/mediafile.php:396
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -8191,7 +8972,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:399
+#: 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."
@@ -8226,17 +9007,17 @@ msgid "Send"
 msgstr "Enviar"
 
 #. TRANS: Validation error in form for registration, profile and group settings, etc.
-#: lib/nickname.php:145
+#: 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:158
+#: 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:171
+#: 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."
@@ -8277,55 +9058,55 @@ msgstr ""
 "tente novamente mais tarde"
 
 #. TRANS: Used in coordinates as abbreviation of north
-#: lib/noticelist.php:451
+#: lib/noticelist.php:452
 msgid "N"
 msgstr "N"
 
 #. TRANS: Used in coordinates as abbreviation of south
-#: lib/noticelist.php:453
+#: lib/noticelist.php:454
 msgid "S"
 msgstr "S"
 
 #. TRANS: Used in coordinates as abbreviation of east
-#: lib/noticelist.php:455
+#: lib/noticelist.php:456
 msgid "E"
 msgstr "E"
 
 #. TRANS: Used in coordinates as abbreviation of west
-#: lib/noticelist.php:457
+#: lib/noticelist.php:458
 msgid "W"
 msgstr "O"
 
-#: lib/noticelist.php:459
+#: 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"
 
-#: lib/noticelist.php:468
+#: lib/noticelist.php:469
 msgid "at"
 msgstr "coords."
 
-#: lib/noticelist.php:517
+#: lib/noticelist.php:518
 msgid "web"
 msgstr "web"
 
-#: lib/noticelist.php:583
+#: lib/noticelist.php:584
 msgid "in context"
 msgstr "no contexto"
 
-#: lib/noticelist.php:618
+#: lib/noticelist.php:619
 msgid "Repeated by"
 msgstr "Repetida por"
 
-#: lib/noticelist.php:645
+#: lib/noticelist.php:646
 msgid "Reply to this notice"
 msgstr "Responder a esta nota"
 
-#: lib/noticelist.php:646
+#: lib/noticelist.php:647
 msgid "Reply"
 msgstr "Responder"
 
-#: lib/noticelist.php:690
+#: lib/noticelist.php:691
 msgid "Notice repeated"
 msgstr "Nota repetida"
 
@@ -8362,34 +9143,52 @@ msgstr "Nota duplicada."
 msgid "Couldn't insert new subscription."
 msgstr "Não foi possível inserir nova subscrição."
 
-#: lib/personalgroupnav.php:102
-msgid "Personal"
-msgstr "Pessoal"
-
+#. TRANS: Personal group navigation menu option when logged in for viewing @-replies.
 #: lib/personalgroupnav.php:107
+#, fuzzy
+msgctxt "MENU"
 msgid "Replies"
 msgstr "Respostas"
 
-#: lib/personalgroupnav.php:117
+#. TRANS: Personal group navigation menu option when logged in for seeing own profile.
+#: 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"
 
-#: lib/personalgroupnav.php:128
+#. 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"
 
-#: lib/personalgroupnav.php:129
+#. 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"
 
-#: lib/personalgroupnav.php:133
+#. 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"
 
-#: lib/personalgroupnav.php:134
+#. 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"
 
+#. TRANS: Title for personal tag cloud section. %s is a user nickname.
 #: lib/personaltagcloudsection.php:56
 #, php-format
 msgid "Tags in %s's notices"
@@ -8400,39 +9199,50 @@ msgstr "Categorias nas notas de %s"
 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"
 
-#: 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"
 
-#: 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"
 
-#: 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"
 
-#: lib/profileaction.php:191
+#. TRANS: Label for user statistics.
+#: lib/profileaction.php:213
 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"
 
-#. 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"
 
-#: 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"
 
+#. TRANS: Server error displayed when using an unimplemented method.
 #: lib/profileformaction.php:123
 msgid "Unimplemented method."
 msgstr "Método não implementado."
@@ -8479,7 +9289,7 @@ msgid "Revoke the \"%s\" role from this user"
 msgstr "Retirar a função \"%s\" a este utilizador"
 
 #. TRANS: Client error on action trying to visit a non-existing page.
-#: lib/router.php:938
+#: lib/router.php:974
 #, fuzzy
 msgid "Page not found."
 msgstr "Método da API não encontrado."
@@ -8688,64 +9498,76 @@ msgstr "Abandonar"
 msgid "User %1$s (%2$d) has no profile record."
 msgstr "Utilizador não tem perfil."
 
-#: lib/userprofile.php:119
+#. TRANS: Link text for changeing the avatar of the logged in user.
+#: lib/userprofile.php:121
 msgid "Edit Avatar"
 msgstr "Editar Avatar"
 
-#: lib/userprofile.php:236 lib/userprofile.php:250
+#. 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"
 
-#: lib/userprofile.php:239
+#. 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..."
 
-#: lib/userprofile.php:265
+#. TRANS: Link title for link on user profile.
+#: lib/userprofile.php:277
 msgid "Edit profile settings"
 msgstr "Editar configurações do perfil"
 
-#: lib/userprofile.php:266
+#. TRANS: Link text for link on user profile.
+#: lib/userprofile.php:279
 msgid "Edit"
 msgstr "Editar"
 
-#: lib/userprofile.php:289
+#. 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"
 
-#: lib/userprofile.php:290
+#. TRANS: Link text for link on user profile.
+#: lib/userprofile.php:305
 msgid "Message"
 msgstr "Mensagem"
 
-#: lib/userprofile.php:331
+#. TRANS: Label text on user profile to select a user role.
+#: lib/userprofile.php:347
 msgid "Moderate"
 msgstr "Moderar"
 
-#: lib/userprofile.php:369
+#. TRANS: Label text on user profile to select a user role.
+#: lib/userprofile.php:386
 msgid "User role"
 msgstr "Função"
 
-#: lib/userprofile.php:371
+#. TRANS: Role that can be set for a user profile.
+#: lib/userprofile.php:389
 msgctxt "role"
 msgid "Administrator"
 msgstr "Gestor"
 
-#: lib/userprofile.php:372
+#. 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.
-#: lib/util.php:1276
+#: 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.
-#: lib/util.php:1279
+#: 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.
-#: lib/util.php:1283
+#: lib/util.php:1313
 #, php-format
 msgid "about one minute ago"
 msgid_plural "about %d minutes ago"
@@ -8753,12 +9575,12 @@ 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.
-#: lib/util.php:1286
+#: 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.
-#: lib/util.php:1290
+#: lib/util.php:1320
 #, php-format
 msgid "about one hour ago"
 msgid_plural "about %d hours ago"
@@ -8766,12 +9588,12 @@ 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.
-#: lib/util.php:1293
+#: 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.
-#: lib/util.php:1297
+#: lib/util.php:1327
 #, php-format
 msgid "about one day ago"
 msgid_plural "about %d days ago"
@@ -8779,12 +9601,12 @@ 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.
-#: lib/util.php:1300
+#: 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.
-#: lib/util.php:1304
+#: lib/util.php:1334
 #, php-format
 msgid "about one month ago"
 msgid_plural "about %d months ago"
@@ -8792,18 +9614,13 @@ 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.
-#: lib/util.php:1307
+#: lib/util.php:1337
 msgid "about a year ago"
 msgstr "há cerca de um ano"
 
-#: lib/webcolor.php:80
-#, php-format
-msgid "%s is not a valid color!"
-msgstr "%s não é uma cor válida!"
-
-#. TRANS: Validation error for a web colour.
-#. TRANS: %s is the provided (invalid) text for colour.
-#: lib/webcolor.php:120
+#. 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."
@@ -8824,32 +9641,21 @@ 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:64
+#: lib/xrd.php:63
 #, fuzzy
 msgid "Invalid XML."
 msgstr "Tamanho inválido."
 
 #. TRANS: Exception.
-#: lib/xrd.php:69
+#: lib/xrd.php:68
 msgid "Invalid XML, missing XRD root."
 msgstr ""
 
 #. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
-#: scripts/restoreuser.php:61
+#: scripts/restoreuser.php:62
 #, php-format
 msgid "Getting backup from file '%s'."
 msgstr ""
 
-#. TRANS: Commandline script output.
-#: scripts/restoreuser.php:91
-#, fuzzy
-msgid "No user specified; using backup user."
-msgstr "Não foi especificado um ID de utilizador."
-
-#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
-#: scripts/restoreuser.php:98
-#, php-format
-msgid "%d entry in backup."
-msgid_plural "%d entries in backup."
-msgstr[0] ""
-msgstr[1] ""
+#~ msgid "Personal"
+#~ msgstr "Pessoal"