diff --git a/web/public/static/langs/pt.json b/web/public/static/langs/pt.json
index 4429324..a1024ca 100644
--- a/web/public/static/langs/pt.json
+++ b/web/public/static/langs/pt.json
@@ -1,25 +1,25 @@
{
"action_bar_clear_notifications": "Limpar todas as notificações",
"action_bar_send_test_notification": "Enviar notificação de teste",
- "action_bar_unsubscribe": "Desinscrever",
+ "action_bar_unsubscribe": "Anular subscrição",
"action_bar_toggle_mute": "Ativa/Desativa notificações",
"action_bar_toggle_action_menu": "Abrir/fechar menu de ação",
"message_bar_type_message": "Escreva uma mensagem aqui",
"message_bar_error_publishing": "Erro ao publicar notificação",
"message_bar_publish": "Publicar mensagem",
- "nav_topics_title": "Tópicos inscritos",
+ "nav_topics_title": "Tópicos subscritos",
"nav_button_all_notifications": "Todas notificações",
"nav_button_settings": "Configurações",
"nav_button_documentation": "Documentação",
"nav_button_publish_message": "Publicar notificação",
- "nav_button_subscribe": "Inscrever no tópico",
+ "nav_button_subscribe": "Subscrever tópico",
"nav_button_muted": "Notificações desativadas",
- "nav_button_connecting": "Conectando",
- "alert_grant_title": "Notificações estão desativadas",
- "alert_grant_description": "Conceder ao navegador permissão para mostrar notificações.",
- "alert_not_supported_title": "Notificações não são suportadas",
+ "nav_button_connecting": "A ligar",
+ "alert_grant_title": "As notificações estão desativadas",
+ "alert_grant_description": "Conceder permissão ao seu navegador para mostrar notificações.",
+ "alert_not_supported_title": "Notificações não suportadas",
"notifications_list": "Lista de notificações",
- "alert_not_supported_description": "Notificações não são suportadas pelo seu navagador.",
+ "alert_not_supported_description": "As notificações não são suportadas pelo seu navegador.",
"notifications_list_item": "Notificação",
"notifications_mark_read": "Marcar como lido",
"notifications_delete": "Apagar",
@@ -31,144 +31,144 @@
"notifications_attachment_copy_url_title": "Copiar URL do anexo para a área de transferência",
"notifications_attachment_copy_url_button": "Copiar URL",
"notifications_attachment_open_title": "Ir para {{url}}",
- "notifications_attachment_link_expired": "a ligação à transferência expirou",
+ "notifications_attachment_link_expired": "a ligação de transferência expirou",
"notifications_attachment_open_button": "Abrir anexo",
"notifications_attachment_link_expires": "a ligação expira em {{date}}",
- "notifications_attachment_file_image": "Ficheiro de imagem",
- "notifications_attachment_file_video": "Ficheiro de vídeo",
- "notifications_attachment_file_audio": "Ficheiro de áudio",
- "notifications_attachment_file_app": "Ficheiro apk android",
- "notifications_attachment_file_document": "Outros documentos",
+ "notifications_attachment_file_image": "ficheiro de imagem",
+ "notifications_attachment_file_video": "ficheiro de vídeo",
+ "notifications_attachment_file_audio": "ficheiro de áudio",
+ "notifications_attachment_file_app": "ficheiro apk Android",
+ "notifications_attachment_file_document": "outros documentos",
"notifications_click_copy_url_title": "Copiar URL da ligação para a área de transferência",
"notifications_click_copy_url_button": "Copiar ligação",
"notifications_click_open_button": "Abrir ligação",
"notifications_actions_open_url_title": "Ir para {{url}}",
"notifications_actions_not_supported": "Ação não suportada na app web",
"notifications_actions_http_request_title": "Enviar HTTP {{method}} para {{url}}",
- "notifications_none_for_topic_title": "Ainda não recebeu nenhuma notificação para esse tópico.",
- "notifications_none_for_topic_description": "Para enviar notificações para esse tópico, basta usar os métodos PUT ou POST na URL do tópico.",
+ "notifications_none_for_topic_title": "Ainda não recebeu nenhuma notificação deste tópico.",
+ "notifications_none_for_topic_description": "Para enviar notificações deste tópico, basta usar os métodos PUT ou POST no URL do tópico.",
"notifications_none_for_any_title": "Ainda não recebeu nenhuma notificação.",
- "notifications_none_for_any_description": "Para enviar notificações a um tópico, basta usar os métodos PUT ou POST para o URL do tópico. Aqui um exemplo usando um dos seus tópicos.",
+ "notifications_none_for_any_description": "Para enviar notificações dum tópico, basta usar os métodos PUT ou POST no URL do tópico. Eis um exemplo usando um dos seus tópicos.",
"notifications_no_subscriptions_title": "Parece que ainda não tem nenhuma inscrição.",
- "notifications_no_subscriptions_description": "Clique na ligação \"{{linktext}}\" para criar ou inscrever num tópico. Depois disso, poderá enviar mensagens via PUT ou POST e receberá notificações aqui.",
+ "notifications_no_subscriptions_description": "Clique na ligação \"{{linktext}}\" para criar ou subscrever um tópico. Depois, poderá enviar mensagens via PUT ou POST e receberá notificações aqui.",
"notifications_example": "Exemplo",
- "notifications_more_details": "Para mais informações, confira site ou documentação.",
- "notifications_loading": "Carregando notificações…",
+ "notifications_more_details": "Para mais informações, aceda ao site ou à documentação.",
+ "notifications_loading": "A carregar notificações…",
"publish_dialog_title_topic": "Publicar em {{topic}}",
"publish_dialog_title_no_topic": "Publicar notificação",
- "publish_dialog_progress_uploading": "Enviando …",
- "publish_dialog_progress_uploading_detail": "Fazendo upload de {{loaded}}/{{total}} ({{percent}}%)…",
+ "publish_dialog_progress_uploading": "A enviar …",
+ "publish_dialog_progress_uploading_detail": "A enviar {{loaded}}/{{total}} ({{percent}}%)…",
"publish_dialog_message_published": "Notificação publicada",
- "publish_dialog_attachment_limits_file_and_quota_reached": "excede {{fileSizeLimit}} limite de ficheiro e cota, {{remainingBytes}} restante",
- "publish_dialog_attachment_limits_quota_reached": "excede a cota, {{remainingBytes}} restantes",
+ "publish_dialog_attachment_limits_file_and_quota_reached": "excede limite de ficheiro de {{fileSizeLimit}} e cota, {{remainingBytes}} restante(s)",
+ "publish_dialog_attachment_limits_quota_reached": "excede a cota, {{remainingBytes}} restante(s)",
"publish_dialog_priority_min": "Prioridade mínima",
- "publish_dialog_priority_low": "Baixa prioridade",
+ "publish_dialog_priority_low": "Prioridade baixa",
"publish_dialog_priority_default": "Prioridade padrão",
- "publish_dialog_priority_high": "Alta prioridade",
+ "publish_dialog_priority_high": "Prioridade alta",
"publish_dialog_base_url_label": "URL de serviço",
- "publish_dialog_base_url_placeholder": "URL de serviço, por exemplo https://example.com",
+ "publish_dialog_base_url_placeholder": "URL de serviço, por exemplo: https://exemplo.com",
"publish_dialog_topic_label": "Nome do tópico",
- "publish_dialog_topic_placeholder": "Nome do tópico, por exemplo, phil_alerts",
- "publish_dialog_topic_reset": "Resetar tópico",
- "publish_dialog_title_placeholder": "Título da notificação, por exemplo Alerta de espaço em disco",
+ "publish_dialog_topic_placeholder": "Nome do tópico, por exemplo: \"avisos_do_filipe\"",
+ "publish_dialog_topic_reset": "Limpar tópico",
+ "publish_dialog_title_placeholder": "Título da notificação, por exemplo: \"Alerta de espaço em disco\"",
"publish_dialog_message_label": "Mensagem",
- "publish_dialog_message_placeholder": "Digite uma mensagem aqui",
+ "publish_dialog_message_placeholder": "Escreva uma mensagem aqui",
"publish_dialog_tags_label": "Etiquetas",
- "publish_dialog_tags_placeholder": "Lista de etiquetas, separadas por vírgula, por exemplo: srv1-backup",
+ "publish_dialog_tags_placeholder": "Lista de etiquetas, separadas por vírgula, por exemplo: aviso, srv1-backup",
"publish_dialog_priority_label": "Prioridade",
- "publish_dialog_click_label": "Clique em URL",
+ "publish_dialog_click_label": "URL de clique",
"publish_dialog_click_placeholder": "URL que é aberto quando a notificação é clicada",
- "publish_dialog_click_reset": "Remover URL clicável",
+ "publish_dialog_click_reset": "Remover URL de clique",
"publish_dialog_email_label": "Email",
"publish_dialog_filename_placeholder": "Nome do ficheiro anexado",
- "publish_dialog_email_placeholder": "Email para encaminhar a notificação, por exemplo phil@example.com",
- "publish_dialog_email_reset": "Remover encaminhar email",
+ "publish_dialog_email_placeholder": "Endereça para o qual encaminhar a notificação, por exemplo: filipe@exemplo.com",
+ "publish_dialog_email_reset": "Remover encaminhamento por email",
"publish_dialog_attach_label": "URL de anexo",
- "publish_dialog_attach_placeholder": "Anexar ficheiro por URL, por exemplo, https://f-droid.org/F-Droid.apk",
- "publish_dialog_attach_reset": "Remover URL do anexo",
+ "publish_dialog_attach_placeholder": "Anexar ficheiro por URL, por exemplo: https://f-droid.org/F-Droid.apk",
+ "publish_dialog_attach_reset": "Remover URL de anexo",
"publish_dialog_filename_label": "Nome do ficheiro",
"publish_dialog_delay_label": "Atraso",
- "publish_dialog_delay_placeholder": "Atraso na entrega, por exemplo {{{unixTimestamp}}, {{relativeTime}}, ou \"{{naturalLanguage}}\" (apenas em inglês)",
- "publish_dialog_other_features": "Outros recursos:",
- "publish_dialog_chip_click_label": "Clique em URL",
+ "publish_dialog_delay_placeholder": "Atraso na entrega, por exemplo \"{{{unixTimestamp}}\", \"{{relativeTime}}\", ou \"{{naturalLanguage}}\" (apenas em Inglês)",
+ "publish_dialog_other_features": "Outras funcionalidades:",
+ "publish_dialog_chip_click_label": "URL de clique",
"publish_dialog_chip_topic_label": "Alterar tópico",
- "publish_dialog_details_examples_description": "Para obter exemplos e uma descrição detalhada de todos os recursos de envio, consulte a documentação.",
+ "publish_dialog_details_examples_description": "Para obter exemplos e uma descrição detalhada de todas as funcionalidades de envio, consulte a documentação.",
"publish_dialog_button_cancel_sending": "Cancelar o envio",
"publish_dialog_attached_file_filename_placeholder": "Nome do ficheiro anexado",
"publish_dialog_attached_file_remove": "Remover ficheiro anexado",
- "emoji_picker_search_clear": "Limpar",
- "subscribe_dialog_subscribe_description": "Os tópicos podem não ser protegidos por palavra-passe, então escolha um nome que não seja fácil de adivinhar. Uma vez inscrito, pode PUT/POST notificações.",
+ "emoji_picker_search_clear": "Limpar pesquisa",
+ "subscribe_dialog_subscribe_description": "Os tópicos podem não ser protegidos por palavra-passe, por isso escolha um nome que não seja fácil de adivinhar. Uma vez subscrito, pode usar os métodos PUT/POST para publicar notificações.",
"subscribe_dialog_subscribe_use_another_label": "Usar outro servidor",
"subscribe_dialog_error_user_not_authorized": "Utilizador {{username}} não autorizado",
"prefs_notifications_min_priority_description_max": "Mostrar notificações se prioridade for 5 (máxima)",
"prefs_notifications_delete_after_one_week": "Após uma semana",
"prefs_notifications_delete_after_one_month": "Após um mês",
- "prefs_notifications_delete_after_never_description": "Notificações nunca serão auto excluídas",
- "prefs_notifications_delete_after_one_week_description": "Notificações são automaticamente excluídas após uma semana",
- "prefs_notifications_delete_after_one_month_description": "Notificações são automaticamente excluídas após um mês",
- "prefs_users_dialog_username_label": "Utilizador, por exemplo phil",
+ "prefs_notifications_delete_after_never_description": "As notificações nunca serão eliminadas automaticamente",
+ "prefs_notifications_delete_after_one_week_description": "As notificações serão eliminadas automaticamente após uma semana",
+ "prefs_notifications_delete_after_one_month_description": "As notificações serão eliminadas automaticamente após um mês",
+ "prefs_users_dialog_username_label": "Utilizador, por exemplo: \"filipe\"",
"prefs_users_dialog_password_label": "Palavra-passe",
"prefs_users_dialog_button_cancel": "Cancelar",
"prefs_users_dialog_button_add": "Adicionar",
- "error_boundary_description": "Isto obviamente não deveria ter acontecido. Lamentamos muito por isto.
Se tiver um minuto, por favor relate isto no GitHub, ou informe-nos através de Discord ou Matrix.",
- "error_boundary_stack_trace": "Rastreamento de pilha",
- "error_boundary_gathering_info": "Coletar mais informações …",
- "error_boundary_unsupported_indexeddb_title": "Navegação anônima não suportada",
- "error_boundary_unsupported_indexeddb_description": "O ntfy web app precisa do IndexedDB para funcionar e o seu navegador não suporta IndexedDB no modo de navegação privada.
Embora isso seja lamentável, também não faz muito sentido usar o ntfy web app no modo de navegação privada de qualquer maneira, porque tudo é armazenado no armazenamento do navegador. Pode ler mais sobre isso nesta edição do GitHub, ou falar conosco em Discord ou Matrix.",
+ "error_boundary_description": "Obviamente, isto não devia acontecer, lamentamos o sucedido.
Se tiver um minuto, por favor relate isto no GitHub, ou informe-nos através de Discord ou Matrix.",
+ "error_boundary_stack_trace": "Erro (\"stack trace\")",
+ "error_boundary_gathering_info": "A recolher mais informações …",
+ "error_boundary_unsupported_indexeddb_title": "Navegação anónima não suportada",
+ "error_boundary_unsupported_indexeddb_description": "A aplicação web ntfy necessita da \"IndexedDB\" para funcionar e o seu navegador não a suporta no modo de navegação privada.
Embora isso seja inconveniente, também não faz muito sentido usar a aplicação no modo de navegação privada de qualquer maneira, visto que tudo é guardado no armazenamento do navegador. Pode ler mais sobre isso nesta questão no GitHub, ou falar connosco por Discord ou Matrix.",
"action_bar_show_menu": "Mostrar menu",
- "action_bar_logo_alt": "nfty logo",
+ "action_bar_logo_alt": "logótipo do ntfy",
"action_bar_settings": "Configurações",
"message_bar_show_dialog": "Mostrar caixa de publicação",
"alert_grant_button": "Conceder agora",
- "publish_dialog_attachment_limits_file_reached": "excede o limite de ficheiro {{fileSizeLimit}}",
+ "publish_dialog_attachment_limits_file_reached": "excede o limite de ficheiro de {{fileSizeLimit}}",
"publish_dialog_emoji_picker_show": "Escolher emoji",
"publish_dialog_priority_max": "Prioridade máxima",
"publish_dialog_title_label": "Título",
- "publish_dialog_delay_reset": "Remover entrega adiada da notificação",
+ "publish_dialog_delay_reset": "Remover atraso de entrega",
"publish_dialog_chip_email_label": "Encaminhar para email",
"publish_dialog_chip_attach_url_label": "Anexar ficheiro por URL",
"publish_dialog_chip_attach_file_label": "Anexar ficheiro local",
- "publish_dialog_chip_delay_label": "Atraso na entrega",
+ "publish_dialog_chip_delay_label": "Atraso de entrega",
"publish_dialog_button_cancel": "Cancelar",
"publish_dialog_button_send": "Enviar",
- "publish_dialog_checkbox_publish_another": "Publicar outro",
+ "publish_dialog_checkbox_publish_another": "Publicar outra",
"publish_dialog_attached_file_title": "Ficheiro anexado:",
- "publish_dialog_drop_file_here": "Solte o ficheiro aqui",
+ "publish_dialog_drop_file_here": "Arraste o ficheiro para aqui",
"emoji_picker_search_placeholder": "Pesquisar emoji",
- "subscribe_dialog_subscribe_title": "Inscrever no tópico",
- "subscribe_dialog_subscribe_topic_placeholder": "Nome do tópico, por exemplo phil_alerts",
- "subscribe_dialog_subscribe_base_url_label": "URL de subscrição",
+ "subscribe_dialog_subscribe_title": "Subscrever tópico",
+ "subscribe_dialog_subscribe_topic_placeholder": "Nome do tópico, por exemplo: \"alertas_do_filipe\"",
+ "subscribe_dialog_subscribe_base_url_label": "URL de serviço",
"subscribe_dialog_subscribe_button_cancel": "Cancelar",
- "subscribe_dialog_subscribe_button_subscribe": "Inscrever",
- "subscribe_dialog_login_title": "Login necessário",
- "subscribe_dialog_login_description": "Esse tópico é protegido por palavra-passe. Por favor digite o nome de utilizador e palavra-passe para inscrever.",
- "subscribe_dialog_login_username_label": "Nome, por exemplo phil",
+ "subscribe_dialog_subscribe_button_subscribe": "Subscrever",
+ "subscribe_dialog_login_title": "Autenticação necessária",
+ "subscribe_dialog_login_description": "Esse tópico é protegido por palavra-passe. Por favor insira um nome de utilizador e palavra-passe para subscrever.",
+ "subscribe_dialog_login_username_label": "Nome, por exemplo: \"filipe\"",
"subscribe_dialog_login_password_label": "Palavra-passe",
"subscribe_dialog_login_button_back": "Voltar",
- "subscribe_dialog_login_button_login": "Login",
- "subscribe_dialog_error_user_anonymous": "anônimo",
+ "subscribe_dialog_login_button_login": "Autenticar",
+ "subscribe_dialog_error_user_anonymous": "anónimo",
"prefs_notifications_title": "Notificações",
"prefs_notifications_sound_title": "Som de notificações",
"prefs_notifications_sound_description_none": "Notificações não reproduzem nenhum som quando chegam",
"prefs_notifications_sound_description_some": "Notificações reproduzem som {{sound}} quando chegam",
"prefs_notifications_sound_no_sound": "Sem som",
"prefs_notifications_sound_play": "Reproduzir som selecionado",
- "prefs_notifications_min_priority_title": "Mínima prioridade",
- "prefs_notifications_min_priority_description_any": "Mostrando todas as notificações, independente da prioridade",
+ "prefs_notifications_min_priority_title": "Prioridade mínima",
+ "prefs_notifications_min_priority_description_any": "A mostrar todas as notificações, independentemente da prioridade",
"prefs_notifications_min_priority_description_x_or_higher": "Mostrar notificações se prioridade for {{number}} ({{name}}) ou acima",
"prefs_notifications_min_priority_any": "Qualquer prioridade",
- "prefs_notifications_min_priority_low_and_higher": "Baixa prioridade e acima",
+ "prefs_notifications_min_priority_low_and_higher": "Prioridade baixa e acima",
"prefs_notifications_min_priority_default_and_higher": "Prioridade padrão e acima",
- "prefs_notifications_min_priority_high_and_higher": "Alta prioridade e acima",
+ "prefs_notifications_min_priority_high_and_higher": "Prioridade alta e acima",
"prefs_notifications_min_priority_max_only": "Apenas prioridade máxima",
- "prefs_notifications_delete_after_title": "Apagar notificações",
+ "prefs_notifications_delete_after_title": "Eliminar notificações",
"prefs_notifications_delete_after_never": "Nunca",
"prefs_notifications_delete_after_three_hours": "Após três horas",
"prefs_notifications_delete_after_one_day": "Após um dia",
- "prefs_notifications_delete_after_three_hours_description": "Notificações são automaticamente excluídas após três horas",
- "prefs_notifications_delete_after_one_day_description": "Notificações são automaticamente excluídas após um dia",
+ "prefs_notifications_delete_after_three_hours_description": "As notificações serão eliminadas automaticamente após três horas",
+ "prefs_notifications_delete_after_one_day_description": "As notificações serão eliminadas automaticamente após um dia",
"prefs_users_title": "Gerir utilizadores",
- "prefs_users_description": "Adicionar/remover utilizadores nos seus tópicos protegidos. Note que o utilizador e palavra-passe são salvos no armazenamento local do navegador.",
+ "prefs_users_description": "Adicionar/remover utilizadores aos seus tópicos protegidos. Note que o utilizador e palavra-passe são guardados no armazenamento local do navegador.",
"prefs_users_table": "Tabela de utilizadores",
"prefs_users_add_button": "Adicionar utilizador",
"prefs_users_edit_button": "Editar utilizador",
@@ -177,15 +177,15 @@
"prefs_users_table_base_url_header": "URL de serviço",
"prefs_users_dialog_title_add": "Adicionar utilizador",
"prefs_users_dialog_title_edit": "Editar utilizador",
- "prefs_users_dialog_base_url_label": "URL de serviço, exemplo https://ntfy.sh",
+ "prefs_users_dialog_base_url_label": "URL de serviço, por exemplo: https://ntfy.sh",
"prefs_users_dialog_button_save": "Gravar",
"prefs_appearance_title": "Aparência",
- "prefs_appearance_language_title": "LInguagem",
- "priority_min": "minima",
+ "prefs_appearance_language_title": "Idioma",
+ "priority_min": "mínima",
"priority_low": "baixa",
"priority_default": "padrão",
"priority_high": "alta",
"priority_max": "máxima",
- "error_boundary_title": "Ah não, ntfy parou de funcionar",
- "error_boundary_button_copy_stack_trace": "Copiar rastreamento de pilha"
+ "error_boundary_title": "Oh não, o ntfy parou de funcionar",
+ "error_boundary_button_copy_stack_trace": "Copiar erro (\"stack trace\")"
}