diff --git a/app/config.json b/app/config.json
index 00661b000dcc72d07c7e9ddbd4517e49e22e32b5..5705af13203131f1e614be55f615289f6c1003a1 100644
--- a/app/config.json
+++ b/app/config.json
@@ -27,7 +27,8 @@
       "en": "license/license_g1-en",
       "fr-FR": "license/license_g1-fr-FR",
       "es-ES": "license/license_g1-es-ES",
-      "eo-EO": "license/license_g1-eo-EO"
+      "eo-EO": "license/license_g1-eo-EO",
+      "pt-PT": "license/license_g1-pt-PT"
     },
     "feed": {
       "jsonFeed": {
@@ -125,7 +126,8 @@
       "fr-FR": "license/license_g1-fr-FR",
       "en": "license/license_g1-en",
       "es-ES": "license/license_g1-es-ES",
-      "eo-EO": "license/license_g1-eo-EO"
+      "eo-EO": "license/license_g1-eo-EO",
+      "pt-PT": "license/license_g1-pt-PT"
     },
     "feed": {
       "jsonFeed": {
@@ -287,7 +289,8 @@
       "fr-FR": "license/license_g1-fr-FR",
       "en": "license/license_g1-en",
       "es-ES": "license/license_g1-es-ES",
-      "eo-EO": "license/license_g1-eo-EO"
+      "eo-EO": "license/license_g1-eo-EO",
+      "pt-PT": "license/license_g1-pt-PT"
     },
     "node": {
       "host": "g1.e-is.pro",
@@ -360,7 +363,8 @@
       "fr-FR": "license/license_g1-fr-FR.txt",
       "en": "license/license_g1-en.txt",
       "es-ES": "license/license_g1-es-ES",
-      "eo-EO": "license/license_g1-eo-EO"
+      "eo-EO": "license/license_g1-eo-EO",
+      "pt-PT": "license/license_g1-pt-PT"
     },
     "node": {
       "host": "g1.duniter.org",
diff --git a/www/js/services/settings-services.js b/www/js/services/settings-services.js
index 63b7ded6d7c027391e229eb7b62a782adc3e333b..93d65e276fb579e8abe590e5523fe3b6477281f3 100644
--- a/www/js/services/settings-services.js
+++ b/www/js/services/settings-services.js
@@ -11,9 +11,10 @@ angular.module('cesium.settings.services', ['ngApi', 'cesium.config'])
     {id:'eo-EO', label:'Esperanto', flag: 'eo'},
     {id:'fr-FR', label:'Français', flag: 'fr'},
     {id:'nl-NL', label:'Nederlands', flag: 'nl'},
-    {id:'es-ES', label:'Spanish', flag: 'es'},
+    {id:'es-ES', label:'Español', flag: 'es'},
     {id:'ca', label:'Català', flag: 'ca'},
     {id:'it-IT', label:'Italiano', flag: 'it'},
+    {id:'pt-PT', label:'Português', flag: 'pt'},
     {id:'de-DE', label:'Deutsch', flag: 'de'}
   ];
   var fallbackLocale = csConfig.fallbackLanguage ? fixLocale(csConfig.fallbackLanguage) : 'en';
@@ -113,7 +114,8 @@ angular.module('cesium.settings.services', ['ngApi', 'cesium.config'])
     license: {
       "en": "license/license_g1-en",
       "fr-FR": "license/license_g1-fr-FR",
-      "es-ES": "license/license_g1-es-ES"
+      "es-ES": "license/license_g1-es-ES",
+      "pt-PT": "license/license_g1-pt-PT"
     }
   },
     fixedSettings,
diff --git a/www/plugins/es/locale-pt-PT.json b/www/plugins/es/locale-pt-PT.json
new file mode 100644
index 0000000000000000000000000000000000000000..f0a0511949769a66da18a92e8a5f3cc54193a8a0
--- /dev/null
+++ b/www/plugins/es/locale-pt-PT.json
@@ -0,0 +1,609 @@
+{
+  "COMMON": {
+    "ABUSES_TEXT": "{{total}} pessoa{{total > 1 ? 's' : ''}} {{total > 1 ? 'sinalizaram' : 'sinalizoua'}}  um problema",
+    "BTN_LIKE": "Gosta de mim",
+    "BTN_LIKE_REMOVE": "Deixou de gostar de mim",
+    "BTN_REMOVE_REPORTED_ABUSE": "Cancelar reportar",
+    "BTN_REPORT_ABUSE_DOTS": "Reportar um problema ou um abuso...",
+    "COMMENT_HELP": "Comentário",
+    "LIKES_TEXT": "A {{total}} pessoa{{total > 1 ? 's' : ''}} {{total > 1 ? 'gostaram' : 'gostou'}} desta página",
+    "NOTIFICATION": {
+        "HAS_UNREAD": "Tem {{count}} notifica{{count>0?'ções':'ção'}} não lida{{count>0?'s':''}}",
+        "TITLE": "Nova notificação | {{'COMMON.APP_NAME'|translate}}"
+    },
+    "REPORT_ABUSE": {
+      "ASK_DELETE": "Pedir a eliminação?",
+      "CONFIRM": {
+          "SENT": "Reporte enviado. Grato!"
+      },
+      "REASON_HELP": "Eu explico o problema...",
+      "SUB_TITLE": "Por favor explique brevemente o problema :",
+      "TITLE": "Assinalar um problema"
+    },
+
+    "CATEGORY": "Categoria",
+    "CATEGORIES": "Categorias",
+    "CATEGORY_SEARCH_HELP": "Procurar",
+    "LAST_MODIFICATION_DATE": "Atualização em",
+    "SUBMIT_BY": "Enviado por",
+    "BTN_PUBLISH": "Publicar",
+    "BTN_PICTURE_DELETE": "Apagar",
+    "BTN_PICTURE_FAVORISE": "Principal",
+    "BTN_PICTURE_ROTATE": "Rodar",
+    "BTN_ADD_PICTURE": "Adicionar uma foto",
+    "NOTIFICATIONS": {
+      "TITLE": "Notificações",
+      "MARK_ALL_AS_READ": "Marcar tudo como lido",
+      "NO_RESULT": "Nenhuma notificação",
+      "SHOW_ALL": "Ver tudo",
+      "LOAD_NOTIFICATIONS_FAILED": "Falha ao carregar as notificações"
+    }
+  },
+  "DOCUMENT": {
+    "HASH": "Hash: ",
+    "LOOKUP": {
+      "BTN_COMPACT": "Compactar",
+      "HAS_CREATE_OR_UPDATE_PROFILE": "Perfil criado ou modificado",
+      "LAST_DOCUMENTS_DOTS": "Últimos documentos :",
+      "TITLE": "Procura de documentos",
+      "BTN_ACTIONS": "Ações",
+      "SEARCH_HELP": "issuer:AAA*, time:1508406169",
+      "LAST_DOCUMENTS": "Últimos documentos",
+      "SHOW_QUERY": "Ver a procura",
+      "HIDE_QUERY": "Esconder a procura",
+      "HEADER_TIME": "Data/Hora",
+      "HEADER_ISSUER": "Emissor",
+      "HEADER_RECIPIENT": "Destinatário",
+      "HEADER_AMOUNT": "Quantia",
+      "READ": "Lido",
+      "BTN_REMOVE": "Apagar este documento",
+      "POPOVER_ACTIONS": {
+        "TITLE": "Acções",
+        "REMOVE_ALL": "Apagar estes documentos..."
+      }
+    },
+    "INFO": {
+      "REMOVED": "Documento apagado"
+    },
+    "CONFIRM": {
+      "REMOVE": "Deseja <b>apagar este documento</b>?",
+      "REMOVE_ALL": "Deseja <b>apagar estes documentos</b>?"
+    },
+    "ERROR": {
+      "LOAD_DOCUMENTS_FAILED": "Falha ao procurar os documentos",
+      "REMOVE_FAILED": "Falha ao apagar o documento",
+      "REMOVE_ALL_FAILED": "Falha ao apagar os documentos"
+    }
+  },
+  "MENU": {
+    "REGISTRY": "Páginas",
+    "USER_PROFILE": "O meu perfil",
+    "MESSAGES": "Mensagens",
+    "NOTIFICATIONS": "Notificações",
+    "INVITATIONS": "Convites"
+  },
+  "ACCOUNT": {
+    "NEW": {
+      "ORGANIZATION_ACCOUNT": "Conta para uma organização",
+      "ORGANIZATION_ACCOUNT_HELP": "Se representa uma empresa, uma associação, etc.<br/>Nenhum dividendo universal será criado por esta conta."
+    },
+    "EVENT": {
+      "MEMBER_WITHOUT_PROFILE": "Para obter as suas certificações mais rapidamente, complete <a ui-sref=\"app.edit_profile\">o seu perfil de usuário</a>. Os membros concederão mais facilmente a sua confiança a uma identidade verificável."
+    },
+    "ERROR": {
+      "WS_CONNECTION_FAILED": "Cesium não pode receber as notificações, por causa de uma falha técnica (conexão ao nó de dados Cesium+).<br/><br/>Se o problema persistir, por favor <b>escolha outro nó de dados</b> nas definições de Cesium+."
+    }
+  },
+  "WOT": {
+    "BTN_SUGGEST_CERTIFICATIONS_DOTS": "Sugerir identidades a certificar…",
+    "BTN_ASK_CERTIFICATIONS_DOTS": "Pedir a membros que o certifiquem…",
+    "BTN_ASK_CERTIFICATION": "Pedir uma certificação",
+    "SUGGEST_CERTIFICATIONS_MODAL": {
+      "TITLE": "Sugerir certificações",
+      "HELP": "Selecionar as suas sugestões"
+    },
+    "ASK_CERTIFICATIONS_MODAL": {
+      "TITLE": "Solicitar certificações",
+      "HELP": "Selecionar os destinatários"
+    },
+    "SEARCH": {
+      "DIVIDER_PROFILE": "Contas",
+      "DIVIDER_PAGE": "Páginas",
+      "DIVIDER_GROUP": "Grupos"
+    },
+    "CONFIRM": {
+      "SUGGEST_CERTIFICATIONS": "Deseja <b>enviar estas sugestões de certificação</b> ?",
+      "ASK_CERTIFICATION": "Deseja <b>enviar um pedido de certificação</b> ?",
+      "ASK_CERTIFICATIONS": "Deseja <b>enviar um pedido de certificação</b> a estas pessoas ?"
+    }
+  },
+  "INVITATION": {
+    "TITLE": "Convites",
+    "NO_RESULT": "Nenhum convite em espera",
+    "BTN_DELETE_ALL": "Apagar todos os convites",
+    "BTN_DELETE": "Apagar o convite",
+    "BTN_NEW_INVITATION": "Novo convite",
+    "ASK_CERTIFICATION": "<a href=\"#/app/wot/{{pubkey}}/{{::uid}}\">{{::name||uid}}</a> solicita a sua certificação",
+    "SUGGESTION_CERTIFICATION": "<a href=\"#/app/wot/{{::pubkey}}/{{::uid}}\">{{::name||uid}}</a> foi sugerido/a para certificação",
+    "SUGGESTED_BY": "Sugestão enviada por <a class=\"positive\" href=\"#/app/wot/{{::issuer.pubkey}}/{{::issuer.uid}}\">{{::issuer.name||issuer.uid}}</a>",
+    "NOTIFICATIONS": {
+      "TITLE": "Convites"
+    },
+    "LIST": {
+      "TITLE": "Convites"
+    },
+    "NEW": {
+      "TITLE": "Novo convite",
+      "RECIPIENTS": "Para",
+      "RECIPIENTS_HELP": "Destinatários do convite",
+      "RECIPIENTS_MODAL_TITLE": "Destinatários",
+      "RECIPIENTS_MODAL_HELP": "Por favor, escolha os destinatários :",
+      "SUGGESTION_IDENTITIES": "Sugestão de certificação",
+      "SUGGESTION_IDENTITIES_HELP": "Certificações a sugerir",
+      "SUGGESTION_IDENTITIES_MODAL_TITLE": "Sugestões",
+      "SUGGESTION_IDENTITIES_MODAL_HELP": "Por favor, escolha as suas sugestões :"
+    },
+    "CONFIRM": {
+      "DELETE_ALL_CONFIRMATION": "A eliminação dos convites é uma <b>operação irreversível</b>.<br/><br/>Deseja continuar ?",
+      "SEND_INVITATIONS_TO_CERTIFY": "Deseja <b>enviar este convite a certificar</b> ?"
+    },
+    "INFO": {
+      "INVITATION_SENT": "Convite enviado"
+    },
+    "ERROR": {
+      "LOAD_INVITATIONS_FAILED": "Falha ao carregar os convites",
+      "REMOVE_INVITATION_FAILED": "Falha ao eliminar convite",
+      "REMOVE_ALL_INVITATIONS_FAILED": "Falha ao eliminar os convites",
+      "SEND_INVITATION_FAILED": "Falha ao enviar convite",
+      "BAD_INVITATION_FORMAT": "<span class=\"assertive\"><i class=\"ion-close-circled\"></i> convite ilegível (formato desconhecido)</span> - enviado por <a ui-sref=\"app.wot_identity({pubkey: '{{::pubkey}}', uid: '{{::uid}}' })\">{{::name||uid}}</a>"
+    }
+  },
+  "COMMENTS": {
+    "DIVIDER": "Comentários",
+    "SHOW_MORE_COMMENTS": "Visualizar os comentários anteriores",
+    "COMMENT_HELP": "O seu comentário, perguntas, etc.",
+    "COMMENT_HELP_REPLY_TO": "A sua reposta…",
+    "BTN_SEND": "Enviar",
+    "POPOVER_SHARE_TITLE": "Mensagem #{{number}}",
+    "MODIFIED_ON": "modificado em {{time|formatDate}}",
+    "MODIFIED_PARENTHESIS": "(modificado então)",
+    "REPLY": "Responder",
+    "REPLY_TO": "Reposta a :",
+    "REPLY_TO_LINK": "Em reposta a ",
+    "REPLY_TO_DELETED_COMMENT": "Em reposta a um comentário apagado",
+    "REPLY_COUNT": "{{replyCount}} repostas",
+    "DELETED_COMMENT": "Comentário apagado",
+    "ERROR": {
+      "FAILED_SAVE_COMMENT": "Falha ao gravar o comentário",
+      "FAILED_REMOVE_COMMENT": "Falha ao eliminar comentário"
+    }
+  },
+  "MESSAGE": {
+    "REPLY_TITLE_PREFIX": "Rep: ",
+    "FORWARD_TITLE_PREFIX": "Tr: ",
+    "BTN_REPLY": "Responder",
+    "BTN_COMPOSE": "Nova mensagem",
+    "BTN_WRITE": "Escrever",
+    "NO_MESSAGE_INBOX": "Nenhuma mensagem recebida",
+    "NO_MESSAGE_OUTBOX": "Nenhuma mensagem enviada",
+    "NOTIFICATIONS": {
+      "TITLE": "Mensajes",
+      "MESSAGE_RECEIVED": "<b>Mensagem recebida</b><br/>de"
+    },
+    "LIST": {
+      "INBOX": "Caixa de entrada",
+      "OUTBOX": "Mensagens enviadas",
+      "LAST_INBOX": "Novas mensagens",
+      "LAST_OUTBOX": "Mensagens enviadas",
+      "BTN_LAST_MESSAGES": "Mensagens recentes",
+      "TITLE": "Mensagens",
+      "SEARCH_HELP": "Procurar em mensagens",
+      "POPOVER_ACTIONS": {
+        "TITLE": "Opções",
+        "DELETE_ALL": "Apagar todas as mensagens"
+      }
+    },
+    "COMPOSE": {
+      "TITLE": "Nova mensagem",
+      "TITLE_REPLY": "Responder",
+      "SUB_TITLE": "Nova mensagem",
+      "TO": "Para",
+      "OBJECT": "Objeto",
+      "OBJECT_HELP": "Objeto",
+      "ENCRYPTED_HELP": "Tenha em conta que esta mensagem será cifrada antes do envio, com o fim de que só o destinatário possa lê la, e que se tenha a segurança de que é da sua autoria.",
+      "MESSAGE": "Mensagem",
+      "MESSAGE_HELP": "Conteúdo da mensagem",
+      "CONTENT_CONFIRMATION": "O conteúdo da mensagem está vazio.<br/><br/>deseja enviar a mensagem assim?"
+    },
+    "VIEW": {
+      "TITLE": "Mensagem",
+      "SENDER": "Enviado por",
+      "RECIPIENT": "Enviado para",
+      "NO_CONTENT": "Mensagem vazia",
+      "DELETE": "Eliminar a mensagem"
+    },
+    "CONFIRM": {
+      "REMOVE": "Deseja <b>apagar esta mensagem</b> ?<br/><br/>Esta operação é irreversível.",
+      "REMOVE_ALL" : "Deseja <b>apagar todas as mensagens</b> ?<br/><br/>Esta operação é irreversível.",
+      "MARK_ALL_AS_READ": "Deseja <b>marcar todas as mensagens como lidas</b> ?",
+      "USER_HAS_NO_PROFILE": "Esta identidade não tem nenhum perfil Cesium+. Pode não estar habilitada a extensão Cesium+, y <b>não poderá ver a sua mensagem</b>.<br/><br/>Deseja <b>continuar</b> de qualquer forma?"
+    },
+    "INFO": {
+      "MESSAGE_REMOVED": "Mensagem apagada",
+      "All_MESSAGE_REMOVED": "Toda as mensagens foram apagadas",      "MESSAGE_SENT": "Mensagem enviada"
+    },
+    "ERROR": {
+      "SEND_MSG_FAILED": "Falha no envio da mensagem.",
+      "LOAD_MESSAGES_FAILED": "Falha ao recuperar as mensagens.",
+      "LOAD_MESSAGE_FAILED": "Falha ao recuperar a mensagem.",
+      "MESSAGE_NOT_READABLE": "Leitura da mensagem impossível.",
+      "USER_NOT_RECIPIENT": "Não há destinatário nesta mensagem : impossível decifrar.",
+      "NOT_AUTHENTICATED_MESSAGE": "A autenticidade da mensagem é duvidosa ou o seu conteúdo está corrompido.",
+      "REMOVE_MESSAGE_FAILED": "Falha ao eliminar mensagem",
+      "MESSAGE_CONTENT_TOO_LONG": "Valor demasiado longo ({{maxLength}} caracteres max).",
+      "MARK_AS_READ_FAILED": "Impossível marcar a mensagem como 'lida'.",
+      "LOAD_NOTIFICATIONS_FAILED": "Falha ao recuperar as notificações de mensagens.",
+      "REMOVE_All_MESSAGES_FAILED": "Falha ao eliminar todas as mensagens.",
+      "MARK_ALL_AS_READ_FAILED": "Falha ao marcar as mensagens como lidas.",
+      "RECIPIENT_IS_MANDATORY": "O destinatário é obrigatório."
+    }
+  },
+  "BLOCKCHAIN": {
+    "LOOKUP": {
+      "SEARCH_HELP": "Número de bloco, hash, chave pública, etc.",
+      "POPOVER_FILTER_TITLE": "Filtros",
+      "HEADER_MEDIAN_TIME": "Data / Hora",
+      "HEADER_BLOCK": "Bloco #",
+      "HEADER_ISSUER": "Nó emissor",
+      "BTN_LAST": "Últimos blocos",
+      "DISPLAY_QUERY": "Mostrar a consulta",
+      "HIDE_QUERY": "Ocultar a consulta",
+      "TX_SEARCH_FILTER": {
+        "MEMBER_FLOWS": "Entradas/saídas de membros",
+        "EXISTING_TRANSACTION": "transações existentes",
+        "PERIOD": "<b class=\"ion-clock\"></b> Entre o <b class=\"gray\">{{params[1]|medianDateShort}}</b> ({{params[1]|medianTime}}) e o <b class=\"gray\">{{params[2]|medianDateShort}}</b> ({{params[2]|medianTime}})",
+        "ISSUER": "<b class=\"ion-android-desktop\"></b> Calculado por <b class=\"ion-key\"></b> {{params[1]|formatPubkey}}",
+        "TX_PUBKEY": "<b class=\"ion-card\"></b> Transações que implicam <b class=\"ion-key\"></b> {{params[1]|formatPubkey}}"
+      }
+    },
+    "ERROR": {
+      "SEARCH_BLOCKS_FAILED": "Falha na procura dos blocos."
+    }
+  },
+  "GROUP": {
+    "GENERAL_DIVIDER": "Informações gerais",
+    "LOCATION_DIVIDER": "Localização",
+    "SOCIAL_NETWORKS_DIVIDER": "Redes sociais e site",
+    "TECHNICAL_DIVIDER": "Informações técnicas",
+    "CREATED_TIME": "Criada {{creationTime|formatFromNow}}",
+    "NOTIFICATIONS": {
+      "TITLE": "Convites"
+    },
+    "LOOKUP": {
+      "TITLE": "Grupos",
+      "SEARCH_HELP": "Nome de grupo, palavras , lugar, etc.",
+      "LAST_RESULTS_LIST": "Novos grupos :",
+      "OPEN_RESULTS_LIST": "Grupos abertos :",
+      "MANAGED_RESULTS_LIST": "Grupos fechados :",
+      "BTN_LAST": "Novos grupos",
+      "BTN_NEW": "Adiciono um grupo"
+    },
+    "TYPE": {
+      "TITLE": "Novo grupo",
+      "SELECT_TYPE": "Tipo de grupo :",
+      "OPEN_GROUP": "Grupo aberto",
+      "OPEN_GROUP_HELP": "Um grupo aberto é acessível por qualquer membro da moeda.",
+      "MANAGED_GROUP": "Grupo administrado",
+      "MANAGED_GROUP_HELP": "Um grupo administrado é gerido por administradores e moderadores, que podem aceitar, recusar ou excluir um membro do seu seio.",
+      "ENUM": {
+        "OPEN": "Grupo aberto",
+        "MANAGED": "Grupo administrado"
+      }
+    },
+    "VIEW": {
+      "POPOVER_SHARE_TITLE": "{{title}}",
+      "MENU_TITLE": "Opções",
+      "REMOVE_CONFIRMATION" : "Deseja eliminar este grupo?<br/><br/>Esta operação é irreversível."
+    },
+    "EDIT": {
+      "TITLE": "Grupo",
+      "TITLE_NEW": "Novo grupo",
+      "RECORD_TITLE": "Título",
+      "RECORD_TITLE_HELP": "Título",
+      "RECORD_DESCRIPTION": "Descrição",
+      "RECORD_DESCRIPTION_HELP": "Descrição"
+    },
+    "ERROR": {
+      "SEARCH_GROUPS_FAILED": "Falha na procura de grupos",
+      "REMOVE_RECORD_FAILED": "Falha ao eliminar o grupo"
+    },
+    "INFO": {
+      "RECORD_REMOVED" : "Grupo eliminado"
+    }
+  },
+  "REGISTRY": {
+    "CATEGORY": "Atividade principal",
+    "GENERAL_DIVIDER": "Informações gerais",
+    "LOCATION_DIVIDER": "Localização",
+    "SOCIAL_NETWORKS_DIVIDER": "Redes sociais e site",
+    "TECHNICAL_DIVIDER": "Informações técnicas",
+    "BTN_SHOW_WOT": "Pessoas",
+    "BTN_SHOW_WOT_HELP": "Procurar pessoas",
+    "BTN_SHOW_PAGES": "Páginas",
+    "BTN_SHOW_PAGES_HELP": "Procura de páginas",
+    "BTN_NEW": "Criar uma página",
+    "MY_PAGES": "As minhas páginas",
+    "NO_PAGE": "Sem páginas",
+    "SEARCH": {
+      "TITLE": "Páginas",
+      "SEARCH_HELP": "O quê, Quem, ex: cabeleireiro, restaurante Sol.",
+      "BTN_ADD": "Novo",
+      "BTN_LAST_RECORDS": "Páginas recentes",
+      "BTN_ADVANCED_SEARCH": "Procura avançada",
+      "BTN_OPTIONS": "Procura avançada",
+      "TYPE": "Tipo de página",
+      "LOCATION_HELP": "Cidade",
+      "RESULTS": "Resultados",
+      "RESULT_COUNT_LOCATION": "{{count}} Resultado{{count>0?'s':''}}, próximo de {{location}}",
+      "RESULT_COUNT": "{{count}} resultado{{count>0?'s':''}}",
+      "LAST_RECORDS": "Páginas recentes",
+      "LAST_RECORD_COUNT_LOCATION": "{{count}} página{{count>0?'s':''}} reciente{{count>0?'s':''}}, próximo de {{location}}",
+      "LAST_RECORD_COUNT": "{{count}} página{{count>0?'s':''}} reciente{{count>0?'s':''}}",
+      "POPOVER_FILTERS": {
+        "BTN_ADVANCED_SEARCH": "Opções avançadas"
+      }
+    },
+    "VIEW": {
+      "TITLE": "Anuário",
+      "CATEGORY": "Atividade principal :",
+      "LOCATION": "Localização :",
+      "MENU_TITLE": "Opções",
+      "POPOVER_SHARE_TITLE": "{{title}}",
+      "REMOVE_CONFIRMATION" : "Deseja apagar esta página ?<br/><br/>Esta operação é irreversível."
+    },
+    "TYPE": {
+      "TITLE": "Nueva página",
+      "SELECT_TYPE": "Tipo de página :",
+      "ENUM": {
+        "SHOP": "Comercio local",
+        "COMPANY": "Empresa",
+        "ASSOCIATION": "Associação",
+        "INSTITUTION": "Instituição"
+      }
+    },
+    "EDIT": {
+      "TITLE": "Edição",
+      "TITLE_NEW": "Nova página",
+      "RECORD_TYPE":"Tipo de página",
+      "RECORD_TITLE": "Nome",
+      "RECORD_TITLE_HELP": "Nome",
+      "RECORD_DESCRIPTION": "Descrição",
+      "RECORD_DESCRIPTION_HELP": "Descrição da atividade",
+      "RECORD_ADDRESS": "Rua",
+      "RECORD_ADDRESS_HELP": "Rua, edifício…",
+      "RECORD_CITY": "Cidade",
+      "RECORD_CITY_HELP": "Cidade",
+      "RECORD_SOCIAL_NETWORKS": "Redes sociais e site",
+      "RECORD_PUBKEY": "Chave pública",
+      "RECORD_PUBKEY_HELP": "Chave pública para receber pagamentos"
+    },
+    "WALLET": {
+      "PAGE_DIVIDER": "Páginas",
+      "PAGE_DIVIDER_HELP": "As páginas referem-se a coletivos que aceitam moeda ou a promovem: lojas, empresas, negócios, associações, instituições. Armazenam-se fora da rede da moeda, em <a ui-sref=\"app.es_network\">a rede Cesium+</a>."
+    },
+    "ERROR": {
+      "LOAD_CATEGORY_FAILED": "Falha no carregamento da lista de atividades",
+      "LOAD_RECORD_FAILED": "Falha durante o carregamento da página",
+      "LOOKUP_RECORDS_FAILED": "Falha durante a execução de procura.",
+      "REMOVE_RECORD_FAILED": "Falha na eliminação da página",
+      "SAVE_RECORD_FAILED": "Falha durante a gravação",
+      "RECORD_NOT_EXISTS": "Página inexistente",
+      "GEO_LOCATION_NOT_FOUND": "Cidade ou código postal não encontrado"
+    },
+    "INFO": {
+      "RECORD_REMOVED" : "Página apagada",
+      "RECORD_SAVED": "Página guardada"
+    }
+  },
+  "PROFILE": {
+    "PROFILE_DIVIDER": "Perfil Cesium+",
+    "PROFILE_DIVIDER_HELP": "Estes são dados auxiliares, armazenados fora da rede monetária",
+    "NO_PROFILE_DEFINED": "Nenhum perfil Cesium+",
+    "BTN_ADD": "Entra no meu perfil",
+    "BTN_EDIT": "Editar o meu perfil",
+    "BTN_DELETE": "Eliminar o meu perfil",
+    "BTN_REORDER": "Reordenar",
+    "UID": "Pseudónimo",
+    "TITLE": "Nome, Apelidos",
+    "TITLE_HELP": "Nome, Apelidos",
+    "DESCRIPTION": "Sobre mim",
+    "DESCRIPTION_HELP": "Sobre mim…",
+    "SOCIAL_HELP": "http://...",
+    "GENERAL_DIVIDER": "Informações gerais",
+    "SOCIAL_NETWORKS_DIVIDER": "Redes sociais, sites",
+    "TECHNICAL_DIVIDER": "Informações técnicas",
+    "MODAL_AVATAR": {
+      "TITLE": "Foto de perfil",
+      "SELECT_FILE_HELP": "Por favor, <b>escolha uma imagem</b>:",
+      "BTN_SELECT_FILE": "Escolher uma imagem",
+      "RESIZE_HELP": "<b>Enquadre a imagem</b>, se necessário. Um clique pressionado sobre a imagem permite deslocá-la. faça clique na zona inferior esquerda para fazer zoom.",
+      "RESULT_HELP": "<b>Aqui está o resultado</b> tal como se verá no seu perfil :"
+    },
+    "CONFIRM": {
+      "DELETE": "Deseja <b>eliminar o seu perfil Cesium+?</b><br/><br/>Esta operação é irreversível.",
+      "DELETE_BY_MODERATOR": "Deseja <b>eliminar este perfil Cesium+?</b><br/><br/>Esta operação é irreversível ."
+    },
+    "ERROR": {
+      "DELETE_PROFILE_FAILED": "falhar durante a eliminação do perfil",
+      "REMOVE_PROFILE_FAILED": "Falha de eliminação do perfil",
+      "LOAD_PROFILE_FAILED": "Falha no carregamento do perfil de usuário.",
+      "SAVE_PROFILE_FAILED": "Falha durante a gravação",
+      "INVALID_SOCIAL_NETWORK_FORMAT": "Formato inválido: por favor, indique uma direção válida.<br/><br/>Exemplos :<ul><li>- Uma página Facebook (https://www.facebook.com/user)</li><li>- Uma página web (http://www.meusitio.pt)</li><li>- Uma direção de email (jose@dalton.com)</li></ul>",
+      "IMAGE_RESIZE_FAILED": "Falhou o redimensionamento da imagem"
+    },
+    "INFO": {
+      "PROFILE_REMOVED": "Perfil eliminado",
+      "PROFILE_SAVED": "Perfil guardado"
+    },
+    "HELP": {
+      "WARNING_PUBLIC_DATA": "A informação do seu perfil <b>é pública</b>: visível também por pessoas <b>sem conta</b>.<br/>{{'PROFILE.PROFILE_DIVIDER_HELP'|translate}}"
+    }
+  },
+  "LIKE": {
+    "ERROR": {
+        "FAILED_TOGGLE_LIKE": "Impossível executar esta ação."
+    }
+  },
+  "LOCATION": {
+    "BTN_GEOLOC_ADDRESS": "Atualizar a partir do endereço",
+    "USE_GEO_POINT": "Aparecer no mapa {{'COMMON.APP_NAME'|translate}}",
+    "LOADING_LOCATION": "Encontrar a direção…",
+    "LOCATION_DIVIDER": "Localização",
+    "ADDRESS": "Rua",
+    "ADDRESS_HELP": "Rua, número, etc…",
+    "CITY": "Cidade",
+    "CITY_HELP": "Cidade, País",
+    "DISTANCE": "Distancia máxima dos arredores da cidade",
+    "DISTANCE_UNIT": "km",
+    "DISTANCE_OPTION": "{{value}} {{'LOCATION.DISTANCE_UNIT'|translate}}",
+    "SEARCH_HELP": "Cidade, País",
+    "PROFILE_POSITION": "Posição do perfil",
+    "MODAL": {
+      "TITLE": "Procurar por direção",
+      "SEARCH_HELP": "Cidade, País",
+      "ALTERNATIVE_RESULT_DIVIDER": "Resultados alternativos para <b>{{address}}</b> :",
+      "POSITION": "Latitud/Longitud : {{lat}} / {{lon}}"
+    },
+    "ERROR": {
+      "CITY_REQUIRED_IF_STREET": "Requerido sei uma rua foi inserida",
+      "REQUIRED_FOR_LOCATION": "Campo obrigatório para aparecer no mapa",
+      "INVALID_FOR_LOCATION": "Localização desconhecida",
+      "GEO_LOCATION_FAILED": "Não se pode recuperar a sua localização Por favor use o botão de procura",
+      "ADDRESS_LOCATION_FAILED": "Não se pode recuperar a posição da direção."
+    }
+  },
+  "SUBSCRIPTION": {
+    "SUBSCRIPTION_DIVIDER": "Serviços on line",
+    "SUBSCRIPTION_DIVIDER_HELP": "Os serviços on line oferecem serviços adicionais, proporcionados por um terceiro.",
+    "BTN_ADD": "Agregar um serviço",
+    "BTN_EDIT": "Administrar os meus serviços",
+    "NO_SUBSCRIPTION": "Nenhum serviço definido",
+    "SUBSCRIPTION_COUNT": "Serviços / Subscrição",
+    "EDIT": {
+      "TITLE": "Serviços on line",
+      "HELP_TEXT": "Faça a gestão das suas subscrições e outros serviços on line aqui",
+      "PROVIDER": "Provedor:"
+    },
+    "TYPE": {
+      "ENUM": {
+        "EMAIL": "Receber notificações por correio eletrónico"
+      }
+    },
+    "CONFIRM": {
+      "DELETE_SUBSCRIPTION": "Deseja <b>eliminar</b> esta subscrição ?"
+    },
+    "ERROR": {
+      "LOAD_SUBSCRIPTIONS_FAILED": "Falha ao carregar serviços em linha",
+      "ADD_SUBSCRIPTION_FAILED": "Falha ao carregar subscrição",
+      "UPDATE_SUBSCRIPTION_FAILED": "Falha durante a atualização da subscrição",
+      "DELETE_SUBSCRIPTION_FAILED": "Falha ao eliminar a subscrição"
+    },
+    "MODAL_EMAIL": {
+      "TITLE" : "Notificação por correio eletrónico",
+      "HELP" : "Preencha este formulário para <b>ser notificado por correio eletrónico</b> dos eventos da sua conta. <br/> A sua direção de correi eletrónico será cifrada e visível unicamente para o provedor de serviços.",
+      "EMAIL_LABEL" : "O seu correio eletrónico :",
+      "EMAIL_HELP": "maria@dominio.com",
+      "FREQUENCY_LABEL": "Frequência das notificações :",
+      "FREQUENCY_DAILY": "Diária",
+      "FREQUENCY_WEEKLY": "Semanal",
+      "PROVIDER": "Provedor de serviço :"
+    }
+  },
+  "ES_PEER": {
+    "DOCUMENT_COUNT": "Número de documentos",
+    "DOCUMENTS": "Documentos",
+    "EMAIL_SUBSCRIPTION_COUNT": "{{emailSubscription}} suscrito/a{{emailSubscription ? 's' : ''}} para notificações por correio",
+    "NAME": "Nome",
+    "SOFTWARE": "Software"
+  },
+  "ES_SETTINGS": {
+    "PLUGIN_NAME": "Cesium+",
+    "PLUGIN_NAME_HELP": "Perfis, notificações, mensagens privadas",
+    "ENABLE_TOGGLE": "Ativar a extensão",
+    "ENABLE_MESSAGE_TOGGLE": "Ativar as mensagens privadas",
+    "ENABLE_REMOTE_STORAGE": "Ativar o armazenamento remoto",
+    "ENABLE_REMOTE_STORAGE_HELP": "Permite armazenar (cifrado) as suas definições nos nós Cesium+",
+    "PEER": "Localização do nó de dados",
+    "POPUP_PEER": {
+      "TITLE" : "Nodo de dados",
+      "HELP" : "Ingresse a direção do nó que quer utilizar:",
+      "PEER_HELP": "servidor.domínio.com:porta"
+    },
+    "NOTIFICATIONS": {
+      "DIVIDER": "Notificações",
+      "HELP_TEXT": "Ative os tipos de notificações que deseja receber:",
+      "ENABLE_TX_SENT": "Notificar a validação dos <b>pagamentos emitidos</b>",
+      "ENABLE_TX_RECEIVED": "Notificar a validação dos <b>pagamentos recebidos</b>",
+      "ENABLE_CERT_SENT": "Notificar a validação das <b>certificações emitidas</b>",
+      "ENABLE_CERT_RECEIVED": "Notificar a validação das <b>certificações recebidas</b>",
+      "ENABLE_HTML5_NOTIFICATION": "Alertar a cada nova notificação",
+      "ENABLE_HTML5_NOTIFICATION_HELP": "Abre uma pequena janela pop-up a cada nova notificação."
+    },
+    "CONFIRM": {
+      "ASK_ENABLE_TITLE": "Outras funcionalidades",
+      "ASK_ENABLE": "A extensão de Cesium+ está desabilitada nas definições, desativando certas funcionalidades: <ul><li>&nbsp;&nbsp;<b><i class=\"icon ion-person\"></i> Perfis de usuário/a</b>;<li>&nbsp;&nbsp;<b><i class=\"icon ion-android-notification\"></i> Notificações</b>;<li>&nbsp;&nbsp;<b><i class=\"icon ion-email\"></i> Mensagens privados</b>.</ul><br/><br/><b>Deseja reativar</b> a extensão?"
+    }
+  },
+  "ES_WALLET": {
+    "ERROR": {
+      "RECIPIENT_IS_MANDATORY": "Um destinatário é obrigatório para cifrar."
+    }
+  },
+  "EVENT": {
+    "NODE_STARTED": "O Seu nó PT API <b>{{params[0]}}</b> foi iniciado",
+    "NODE_BMA_DOWN": "O nó <b>{{params[0]}}:{{params[1]}}</b> (utilizado pelo seu nó PT API) <b>não é localizável</b>.",
+    "NODE_BMA_UP": "O nó <b>{{params[0]}}:{{params[1]}}</b> está novamente acessível.",
+    "MEMBER_JOIN": "Agora é <b>membro</b> da moeda <b>{{params[0]}}</b> !",
+    "MEMBER_LEAVE": "Não é <b>membro</b> da moeda <b>{{params[0]}}</b>!",
+    "MEMBER_EXCLUDE": "Você já não é membro da moeda <b>{{params[0]}}</b>, por falta de renovação ou certificações.",
+    "MEMBER_REVOKE": "O seu estado de membro foi revogado. já não é membro da moeda <b>{{params[0]}}</b>.",
+    "MEMBER_ACTIVE": "O seu estado de membro <b>{{params[0]}}</b> foi <b>renovado com sucesso</b>.",
+    "TX_SENT": "O seu <b>pagamento</b> para <span ng-class=\"{'gray': !notification.uid, 'positive':notification.uid}\" ><i class=\"icon\" ng-class=\"{'ion-person': notification.uid, 'ion-key': !notification.uid}\"></i>&thinsp;{{name||uid||params[1]}}</span> fue efectuado.",
+    "TX_SENT_MULTI": "O seu <b>pagamento</b> para <b>{{params[1]}}</b> foi efetuado.",
+    "TX_RECEIVED": "<b>Recebeu um pagamento</b> de <span ng-class=\"{'gray': !notification.uid, 'positive':notification.uid}\"><i class=\"icon\" ng-class=\"{'ion-person': notification.uid, 'ion-key': !notification.uid}\"></i>&thinsp;{{name||uid||params[1]}}</span>.",
+    "TX_RECEIVED_MULTI": "<b>Recebeu um pagamento</b> de <b>{{params[1]}}</b>.",
+    "CERT_SENT": "A sua <b>certificação</b> a <span ng-class=\"{'gray': !notification.uid, 'positive':notification.uid}\" ><i class=\"icon\" ng-class=\"{'ion-person': notification.uid, 'ion-key': !notification.uid}\"></i>&thinsp;{{name||uid||params[1]}}</span> foi efetuada.",
+    "CERT_RECEIVED": "<b>Recebeu uma certificação</b> de <span ng-class=\"{'gray': !notification.uid, 'positive':notification.uid}\"><i class=\"icon\" ng-class=\"{'ion-person': notification.uid, 'ion-key': !notification.uid}\"></i>&thinsp;{{name||uid||params[1]}}</span>.",
+    "USER": {
+        "ABUSE_RECEIVED": "<span class=\"positive\"><i class=\"icon ion-person\"></i>&thinsp;{{name||params[1]}}</span> reportou o seu perfil",
+        "DELETION_RECEIVED": "<span class=\"positive\"><i class=\"icon ion-person\"></i>&thinsp;{{name||params[1]}}</span> reportou um perfil para apagar : <b>{{params[2]}}</b>",
+        "FOLLOW_RECEIVED": "<span class=\"positive\"><i class=\"icon ion-person\"></i>&thinsp;{{name||params[1]}}</span> veja a atividade do seu perfil",
+        "LIKE_RECEIVED": "A <span class=\"positive\"><i class=\"icon ion-person\"></i>&thinsp;{{name||params[1]}}</span> gostou do seu perfil</b>",
+        "MODERATION_RECEIVED": "<span class=\"positive\"><i class=\"icon ion-person\"></i>&thinsp;{{name||params[1]}}</span> pede moderação sobre o perfil : <b>{{params[2]}}</b><br/><b class=\"dark ion-quote\"> </b><span class=\"text-italic\">{{params[3]}}</span>",
+        "STAR_RECEIVED": "<span class=\"positive\"><i class=\"icon ion-person\"></i>&thinsp;{{name||params[1]}}</span> pontuou com ({{params[3]}} <b class=\"ion-star\">)"
+    },
+    "PAGE": {
+      "ABUSE_RECEIVED": "<span class=\"positive\"><i class=\"icon ion-person\"></i>&thinsp;{{name||params[1]}}</span> reportou a sua página : <b>{{params[2]}}</b>",
+      "DELETION_RECEIVED": "<span class=\"positive\"><i class=\"icon ion-person\"></i>&thinsp;{{name||params[1]}}</span> reportou uma página para apagar : <b>{{params[2]}}</b>",
+      "FOLLOW_CLOSE": "<span class=\"positive\"><i class=\"icon ion-person\"></i>&thinsp;{{name||params[1]}}</span> fechou a página : <b>{{params[2]}}</b>",
+      "FOLLOW_NEW": "<span class=\"positive\"><i class=\"icon ion-person\"></i>&thinsp;{{name||params[1]}}</span> adicionou a página : <b>{{params[2]}}</b>",
+      "FOLLOW_NEW_COMMENT": "<span class=\"positive\"><i class=\"icon ion-person\"></i>&thinsp;{{name||params[1]}}</span> comentou a página : <b>{{params[2]}}</b>",
+      "FOLLOW_RECEIVED": "<span class=\"positive\"><i class=\"icon ion-person\"></i>&thinsp;{{name||params[1]}}</span> segue a sua página : <b>{{params[2]}}</b>",
+      "FOLLOW_UPDATE": "<span class=\"positive\"><i class=\"icon ion-person\"></i>&thinsp;{{name||params[1]}}</span> modificou a página : <b>{{params[2]}}</b>",
+      "FOLLOW_UPDATE_COMMENT": "<span class=\"positive\"><i class=\"icon ion-person\"></i>&thinsp;{{name||params[1]}}</span> modificou o seu comentário na página : <b>{{params[2]}}</b>",
+      "MODERATION_RECEIVED": "<span class=\"positive\"><i class=\"icon ion-person\"></i>&thinsp;{{name||params[1]}}</span> pede-vos moderação sobre a página : <b>{{params[2]}}</b><br/><b class=\"dark ion-quote\"> </b><span class=\"text-italic\">{{params[3]}}</span>",
+
+      "NEW_COMMENT": "<span ng-class=\"{'gray': !notification.uid, 'positive':notification.uid}\"><i class=\"icon\" ng-class=\"{'ion-person': notification.uid, 'ion-key': !notification.uid}\"></i>&thinsp;{{name||uid||params[1]}}</span> comentou a sua referencia : <b>{{params[2]}}</b>",
+      "UPDATE_COMMENT": "<span ng-class=\"{'gray': !notification.uid, 'positive':notification.uid }\"><i class=\"icon\" ng-class=\"{'ion-person': notification.uid, 'ion-key': !notification.uid}\"></i>&thinsp;{{name||uid||params[1]}}</span> modificou o seu comentário sobre a sua referencia : <b>{{params[2]}}</b>",
+      "NEW_REPLY_COMMENT": "<span ng-class=\"{'gray': !notification.uid, 'positive':notification.uid}\"><i class=\"icon\" ng-class=\"{'ion-person': notification.uid, 'ion-key': !notification.uid}\"></i>&thinsp;{{name||uid||params[1]}}</span> contestou o seu comentário sobre a referencia : <b>{{params[2]}}</b>",
+      "UPDATE_REPLY_COMMENT": "<span ng-class=\"{'gray': !notification.uid, 'positive':notification.uid }\"><i class=\"icon\" ng-class=\"{'ion-person': notification.uid, 'ion-key': !notification.uid}\"></i>&thinsp;{{name||uid||params[1]}}</span> modificou a reposta ao seu comentário sobre a referencia : <b>{{params[2]}}</b>"
+    }
+  },
+  "CONFIRM": {
+    "ES_USE_FALLBACK_NODE": "Nó de dados <b>{{old}}</b> indisponível ou endereço inválido.<br/><br/>Deseja utilizar temporariamente o nó de dados <b>{{new}}</b>?"
+  },
+  "ERROR": {
+    "ES_CONNECTION_ERROR": "Nó de dados <b>{{server}}</b> indisponível ou endereço inválido.<br/><br/>Cesium continuará funcionando, <b>sem a extensão Cesium+</b> (perfis de usuário, mensagens privadas), mapas e gráficos).<br/><br/>Verifique a sua ligação à Internet, o altere o nó de dados em <a class=\"positive\" ng-click=\"doQuickFix('settings')\"> nas definições da extensão </a>.",
+    "ES_MAX_UPLOAD_BODY_SIZE": "O volume de dados a enviar excede o limite estabelecido pelo servidor.<br/><br/>Por favor, tente novamente depois, por exemplo, apagando fotos."
+  }
+}