Skip to content

Commit

Permalink
feat(i18n): add Portuguese language support (#406)
Browse files Browse the repository at this point in the history
Added Portuguese translations to the application, including localization for app content, common phrases, external resources, language settings, and shortcuts.

Co-authored-by: Innei <i@innei.in>
  • Loading branch information
upupnoah and Innei committed Sep 14, 2024
1 parent 6a8b243 commit d624c43
Show file tree
Hide file tree
Showing 11 changed files with 511 additions and 1 deletion.
207 changes: 207 additions & 0 deletions locales/app/pt.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,207 @@
{
"ai_daily.title": "Principais Notícias - {{title}}",
"ai_daily.tooltip.content": "Aqui estão as notícias selecionadas pela IA da sua linha do tempo (<From /> - <To />), que podem ser importantes para si.",
"ai_daily.tooltip.update_schedule": "Atualizações diárias às 8h00 e às 20h00.",
"app.app_name": "NOME_APP",
"app.copy_logo_svg": "Copiar Logo SVG",
"app.toggle_sidebar": "Alternar Barra Lateral",
"discover.any_url_or_keyword": "Qualquer URL ou Palavra-chave",
"discover.default_option": " (padrão)",
"discover.feed_description": "A descrição deste feed é a seguinte, e pode preencher o formulário de parâmetros com as informações relevantes.",
"discover.feed_maintainers": "Este feed é fornecido por RSSHub, com créditos para <maintainers />",
"discover.import.click_to_upload": "Clique para carregar o ficheiro OPML",
"discover.popular": "Popular",
"discover.preview": "Pré-visualizar",
"discover.rss_hub_route": "Rota RSSHub",
"discover.rss_url": "URL do RSS",
"discover.select_placeholder": "Selecionar",
"early_access": "Acesso Antecipado",
"entry_actions.copy_link": "Copiar link",
"entry_actions.failed_to_save_to_eagle": "Falha ao guardar no Eagle.",
"entry_actions.failed_to_save_to_instapaper": "Falha ao guardar no Instapaper.",
"entry_actions.failed_to_save_to_readwise": "Falha ao guardar no Readwise.",
"entry_actions.link_copied": "Link copiado para a área de transferência.",
"entry_actions.mark_as_read": "Marcar como lido",
"entry_actions.mark_as_unread": "Marcar como não lido",
"entry_actions.open_in_browser": "Abrir no navegador",
"entry_actions.save_media_to_eagle": "Guardar mídia no Eagle",
"entry_actions.save_to_instapaper": "Guardar no Instapaper",
"entry_actions.save_to_readwise": "Guardar no Readwise",
"entry_actions.saved_to_eagle": "Guardado no Eagle.",
"entry_actions.saved_to_instapaper": "Guardado no Instapaper.",
"entry_actions.saved_to_readwise": "Guardado no Readwise.",
"entry_actions.share": "Partilhar",
"entry_actions.star": "Favorito",
"entry_actions.starred": "Favoritado.",
"entry_actions.tip": "Dica",
"entry_actions.unstar": "Remover favorito",
"entry_actions.unstarred": "Favorito removido.",
"entry_column.refreshing": "A atualizar entradas...",
"entry_content.ai_summary": "Resumo IA",
"entry_content.fetching_content": "A obter conteúdo original e a processar...",
"entry_content.header.play_tts": "Reproduzir TTS",
"entry_content.header.readability": "Legibilidade",
"entry_content.no_content": "Sem conteúdo",
"entry_content.readability_notice": "Este conteúdo é fornecido pela Readability. Se encontrar erros tipográficos, consulte o site de origem para ver o conteúdo original.",
"entry_content.render_error": "Erro ao renderizar:",
"entry_content.report_issue": "Relatar problema",
"entry_content.web_app_notice": "Talvez a aplicação web não suporte este tipo de conteúdo. Pode fazer o download da aplicação para desktop.",
"entry_list.zero_unread": "Sem não lidos",
"entry_list_header.daily_report": "Relatório Diário",
"entry_list_header.hide_no_image_items": "Ocultar entradas sem imagens",
"entry_list_header.items": "itens",
"entry_list_header.new_entries_available": "Novas entradas disponíveis",
"entry_list_header.refetch": "Recarregar",
"entry_list_header.refresh": "Atualizar",
"entry_list_header.show_all": "Mostrar tudo",
"entry_list_header.show_all_items": "Mostrar todas as entradas",
"entry_list_header.show_unread_only": "Mostrar apenas não lidos",
"entry_list_header.switch_to_grid": "Mudar para grelha",
"entry_list_header.switch_to_masonry": "Mudar para layout de alvenaria",
"entry_list_header.unread": "não lidos",
"feed_claim_modal.choose_verification_method": "Existem três métodos de verificação. Pode escolher um para confirmar.",
"feed_claim_modal.claim_button": "Reivindicar",
"feed_claim_modal.content_instructions": "Copie o conteúdo abaixo e publique-o no seu feed RSS mais recente.",
"feed_claim_modal.description_current": "Descrição atual:",
"feed_claim_modal.description_instructions": "Copie o seguinte conteúdo e cole-o no campo <code /> do seu feed RSS.",
"feed_claim_modal.failed_to_load": "Falha ao carregar a mensagem de reivindicação",
"feed_claim_modal.rss_format_choice": "Os geradores de RSS geralmente têm dois formatos. Por favor, copie os formatos XML e JSON conforme necessário.",
"feed_claim_modal.rss_instructions": "Copie o código abaixo e cole-o no seu gerador de RSS.",
"feed_claim_modal.rss_json_format": "Formato JSON",
"feed_claim_modal.rss_xml_format": "Formato XML",
"feed_claim_modal.rsshub_notice": "Este feed é fornecido pelo RSSHub com um tempo de cache de 1 hora. Por favor, aguarde até 1 hora para que as alterações apareçam após a publicação do conteúdo.",
"feed_claim_modal.tab_content": "Conteúdo",
"feed_claim_modal.tab_description": "Descrição",
"feed_claim_modal.tab_rss": "Tag RSS",
"feed_claim_modal.verify_ownership": "Para reivindicar este feed como seu, precisa de verificar a propriedade.",
"feed_form.add_follow": "Adicionar seguir",
"feed_form.category": "Categoria",
"feed_form.category_description": "Por padrão, os seus feeds seguidos serão agrupados por site.",
"feed_form.error_fetching_feed": "Erro ao obter o feed.",
"feed_form.feed_not_found": "Feed não encontrado.",
"feed_form.feedback": "Comentários",
"feed_form.follow": "Seguir",
"feed_form.followed": "🎉 Seguido.",
"feed_form.private_follow": "Seguir em privado",
"feed_form.private_follow_description": "Se este seguimento será ou não visível publicamente no seu perfil.",
"feed_form.retry": "Tentar novamente",
"feed_form.title": "Título",
"feed_form.title_description": "Título personalizado para este feed. Deixe em branco para usar o padrão.",
"feed_form.unfollow": "Deixar de seguir",
"feed_form.update": "Atualizar",
"feed_form.update_follow": "Atualizar seguir",
"feed_form.updated": "🎉 Atualizado.",
"feed_form.view": "Ver",
"feed_item.claimed_by_owner": "Este feed foi reivindicado por",
"feed_item.claimed_by_unknown": "o proprietário.",
"feed_item.claimed_by_you": "Reivindicado por si",
"feed_item.claimed_feed": "Feed reivindicado",
"feed_item.error_since": "Erro desde",
"feed_item.not_publicly_visible": "Não visível publicamente no seu perfil",
"feed_view_type.articles": "Artigos",
"feed_view_type.audios": "Áudios",
"feed_view_type.notifications": "Notificações",
"feed_view_type.pictures": "Imagens",
"feed_view_type.social_media": "Redes Sociais",
"feed_view_type.videos": "Vídeos",
"mark_all_read_button.auto_confirm_info": "Será confirmado automaticamente após 3 segundos.",
"mark_all_read_button.confirm": "Confirmar",
"mark_all_read_button.confirm_mark_all": "Marcar {{which}} como lido?",
"mark_all_read_button.confirm_mark_all_info": "Confirmar marcar tudo como lido?",
"mark_all_read_button.mark_all_as_read": "Marcar tudo como lido",
"mark_all_read_button.mark_as_read": "Marcar {{which}} como lido",
"mark_all_read_button.undo": "Desfazer",
"player.back_10s": "Voltar 10s",
"player.close": "Fechar",
"player.download": "Download",
"player.exit_full_screen": "Sair de ecrã completo",
"player.forward_10s": "Avançar 10s",
"player.full_screen": "Ecrã completo",
"player.mute": "Silenciar",
"player.open_entry": "Abrir entrada",
"player.pause": "Pausar",
"player.play": "Reproduzir",
"player.playback_rate": "Velocidade de reprodução",
"player.unmute": "Ativar som",
"player.volume": "Volume",
"search.empty.no_results": "Nenhum resultado encontrado.",
"search.group.entries": "Entradas",
"search.group.feeds": "Feeds",
"search.options.all": "Todos",
"search.options.entries": "Entradas",
"search.options.feeds": "Feeds",
"search.options.search_type": "Tipo de pesquisa",
"search.placeholder": "Pesquisar...",
"search.result_count_local_mode": "(Modo local)",
"search.tooltip.local_search": "Esta pesquisa abrange os dados disponíveis localmente. Tente recarregar para incluir os dados mais recentes.",
"shortcuts.guide.title": "Guia de Atalhos",
"sidebar.category_remove_dialog.cancel": "Cancelar",
"sidebar.category_remove_dialog.continue": "Continuar",
"sidebar.category_remove_dialog.description": "Esta operação vai apagar a sua categoria, mas os feeds que ela contém serão mantidos e agrupados por site.",
"sidebar.category_remove_dialog.title": "Remover Categoria",
"sidebar.feed_actions.claim": "Reivindicar",
"sidebar.feed_actions.claim_feed": "Reivindicar Feed",
"sidebar.feed_actions.copy_feed_id": "Copiar ID do feed",
"sidebar.feed_actions.copy_feed_url": "Copiar URL do feed",
"sidebar.feed_actions.edit": "Editar",
"sidebar.feed_actions.edit_feed": "Editar feed",
"sidebar.feed_actions.feed_owned_by_you": "Este feed pertence a si",
"sidebar.feed_actions.mark_all_as_read": "Marcar tudo como lido",
"sidebar.feed_actions.navigate_to_feed": "Navegar para o feed",
"sidebar.feed_actions.open_feed_in_browser": "Abrir feed no navegador",
"sidebar.feed_actions.open_site_in_browser": "Abrir site no navegador",
"sidebar.feed_actions.unfollow": "Deixar de seguir",
"sidebar.feed_actions.unfollow_feed": "Deixar de seguir feed",
"sidebar.feed_column.context_menu.change_to_other_view": "Mudar para outro modo de visualização",
"sidebar.feed_column.context_menu.delete_category": "Apagar categoria",
"sidebar.feed_column.context_menu.delete_category_confirmation": "Apagar categoria {{folderName}}?",
"sidebar.feed_column.context_menu.mark_as_read": "Marcar como lido",
"sidebar.feed_column.context_menu.rename_category": "Renomear categoria",
"sidebar.select_sort_method": "Selecionar método de ordenação",
"signin.continue_with_github": "Continuar com o GitHub",
"signin.continue_with_google": "Continuar com o Google",
"signin.sign_in_to": "Iniciar sessão em",
"sync_indicator.disabled": "Por motivos de segurança, a sincronização está desativada.",
"sync_indicator.offline": "Offline",
"sync_indicator.synced": "Sincronizado com o servidor",
"tip_modal.amount": "Quantia",
"tip_modal.claim_feed": "Reivindicar este feed",
"tip_modal.create_wallet": "Criar Grátis",
"tip_modal.feed_owner": "Proprietário do Feed",
"tip_modal.low_balance": "O seu saldo não é suficiente para cobrir esta dica. Por favor, ajuste a quantia.",
"tip_modal.no_wallet": "Ainda não tem uma carteira. Por favor, crie uma carteira para enviar dicas.",
"tip_modal.tip_amount_sent": "foi enviado ao autor.",
"tip_modal.tip_now": "Enviar Dica Agora",
"tip_modal.tip_sent": "Dica enviada com sucesso! Obrigado pelo seu apoio.",
"tip_modal.tip_support": "⭐ Envie uma dica para mostrar o seu apoio!",
"tip_modal.unclaimed_feed": "Ninguém reivindicou este feed ainda. O Power recebido será mantido em segurança no contrato blockchain até ser reivindicado.",
"user_button.account": "Conta",
"user_button.download_desktop_app": "Descarregar aplicação para desktop",
"user_button.log_out": "Terminar sessão",
"user_button.power": "Power",
"user_button.preferences": "Preferências",
"user_button.profile": "Perfil",
"user_profile.close": "Fechar",
"user_profile.edit": "Editar",
"user_profile.loading": "A carregar",
"user_profile.share": "Partilhar",
"user_profile.toggle_item_style": "Alternar Estilo de Item",
"words.add": "Adicionar",
"words.confirm": "Confirmar",
"words.discover": "Descobrir",
"words.email": "E-mail",
"words.import": "Importar",
"words.items": "Itens",
"words.language": "Idioma",
"words.load_archived_entries": "Carregar entradas arquivadas",
"words.login": "Iniciar sessão",
"words.rss": "RSS",
"words.rss3": "RSS3",
"words.rsshub": "RSSHub",
"words.search": "Pesquisar",
"words.starred": "Favoritos",
"words.unread": "Não lidos",
"words.user": "Utilizador",
"words.which.all": "todos",
"words.zero_items": "Sem itens"
}
28 changes: 28 additions & 0 deletions locales/common/pt.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"app.copied_to_clipboard": "Copiado para a área de transferência",
"cancel": "Cancelar",
"confirm": "Confirmar",
"ok": "OK",
"quantifier.piece": "",
"time.last_night": "Ontem à noite",
"time.the_night_before_last": "Anteontem à noite",
"time.today": "Hoje",
"time.yesterday": "Ontem",
"tips.load-lng-error": "Falha ao carregar o pacote de idioma",
"words.back": "Voltar",
"words.copy": "Copiar",
"words.edit": "Editar",
"words.entry": "Entrada",
"words.id": "ID",
"words.items_one": "Item",
"words.items_other": "Itens",
"words.local": "local",
"words.record": "registo",
"words.record_one": "registo",
"words.record_other": "registos",
"words.result": "resultado",
"words.result_one": "resultado",
"words.result_other": "resultados",
"words.space": " ",
"words.which.all": "Todos"
}
42 changes: 42 additions & 0 deletions locales/external/pt.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"feed": {
"follow_one": "seguir",
"follow_other": "seguimentos",
"followsAndReads": "{{subscriptionCount}} {{subscriptionNoun}} com {{readCount}} {{readNoun}} no {{appName}}",
"read_one": "leitura",
"read_other": "leituras"
},
"header": {
"app": "App",
"download": "Descarregar"
},
"invitation": {
"activate": "Ativar",
"codeOptions": {
"1": "Procure um utilizador de teste alpha que o convide.",
"2": "Junte-se ao nosso servidor Discord para receber ofertas ocasionais.",
"3": "Siga a nossa conta no X para receber ofertas ocasionais."
},
"earlyAccess": "O Follow está atualmente em acesso antecipado e requer um código de convite para ser utilizado.",
"earlyAccessMessage": "😰 Lamentamos, o Follow está atualmente em acesso antecipado e requer um código de convite.",
"generateButton": "Gerar novo código",
"generateCost": "Pode gastar {{INVITATION_PRICE}} Power para gerar um código de convite para os seus amigos.",
"getCodeMessage": "Pode obter um código de convite das seguintes maneiras:",
"title": "Código de Convite"
},
"login": {
"backToWebApp": "Voltar à App Web",
"continueWithGitHub": "Continuar com GitHub",
"continueWithGoogle": "Continuar com Google",
"logInTo": "Iniciar sessão em ",
"openApp": "Abrir Aplicação",
"redirecting": "A redirecionar",
"welcomeTo": "Bem-vindo ao "
},
"redirect": {
"continueInBrowser": "Continuar no Navegador",
"instruction": "Agora é o momento de abrir {{APP_NAME}} e fechar esta página com segurança.",
"openApp": "Abrir {{APP_NAME}}",
"successMessage": "Conectou-se com sucesso à conta {{APP_NAME}}."
}
}
1 change: 1 addition & 0 deletions locales/lang/en.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"langs.en": "English",
"langs.ja": "日本語",
"langs.pt": "Português",
"langs.zh-CN": "简体中文",
"name": "English"
}
1 change: 1 addition & 0 deletions locales/lang/ja.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"langs.en": "English",
"langs.ja": "日本語",
"langs.pt": "Português",
"langs.zh-CN": "简体中文",
"name": "日本語"
}
7 changes: 7 additions & 0 deletions locales/lang/pt.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"langs.en": "English",
"langs.ja": "日本語",
"langs.pt": "Português",
"langs.zh-CN": "简体中文",
"name": "Português"
}
1 change: 1 addition & 0 deletions locales/lang/zh-CN.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"langs.en": "English",
"langs.ja": "日本語",
"langs.pt": "Português",
"langs.zh-CN": "简体中文",
"name": "简体中文"
}
Loading

0 comments on commit d624c43

Please sign in to comment.