123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460 |
- export default {
- email_sent: "Email enviado",
- cant_send_email: "Não foi possível enviar o email",
- logout: "Terminar sessão",
- verify_email: "Verifique o seu email",
- verify_email_subtitle: "Por favor, verifique o seu email para continuar.",
- resend_email: "Reenviar email",
- resend_email_countdown: "Reenviar email em {seconds} segundos",
- signin_error_subtitle: "Por favor, verifique as suas credenciais e tente novamente.",
- register_title: "Criar conta",
- register_description: "Insira os seus dados abaixo para criar uma conta",
- register_terms: "Ao registar-se, concorda com os nossos",
- register_privacy: "Termos e Condições",
- register_privacy_link: "e com a nossa",
- register_privacy_link_2: "Política de Privacidade",
- password_forgot_title: "Esqueceu-se da palavra-passe?",
- password_forgot_subtitle: "Insira o seu email para redefinir a palavra-passe",
- new_password: "Nova palavra-passe",
- new_password_placeholder: "Insira a nova palavra-passe",
- current_password: "Palavra-passe atual",
- current_password_placeholder: "Insira a palavra-passe atual",
- confirm_password: "Confirmar palavra-passe",
- confirm_password_placeholder: "Confirme a palavra-passe",
- success: {
- feedback_sent: "Feedback enviado",
- password_forgot_success: "Email enviado",
- reset_password_success: "Palavra-passe redefinida com sucesso",
- password_updated_successfully: "Palavra-passe atualizada com sucesso",
- },
- error: {
- invalid_credentials: "Credenciais inválidas ou conta inexistente",
- upload_failed: "Falha ao enviar ficheiro",
- generic_error: "Erro durante a operação",
- sending_email: "Erro ao enviar email",
- },
- backend_errors: {
- EMAIL_ALREADY_EXISTS: "Este email já está registado",
- INVALID_FILE_TYPE: "Tipo de ficheiro inválido",
- FILE_TOO_LARGE: "Ficheiro demasiado grande",
- NO_FILE_UPLOADED: "Nenhum ficheiro enviado",
- IMAGE_PROCESSING_ERROR: "Erro no processamento da imagem",
- upload_failed: "Falha no envio",
- },
- profile: {
- new_workout: "Novo treino",
- alert: {
- title: "O seu progresso está guardado no navegador.",
- create_account: "Crie uma conta",
- log_in: "Inicie sessão",
- to_ensure_it_is_not_getting_lost: "para garantir que não se perde.",
- },
- },
- // Release Notes
- release_notes: {
- title: "Novidades",
- release_notes: "Notas de Lançamento",
- notes: {
- note_2025_06_23: {
- title: "🇵🇹 Suporte Português & Banner de Doação",
- content:
- "A app agora suporta <strong>português</strong>! Também adicionámos um <em>banner de doação</em> para ajudar a suportar os custos do projeto via <a href='https://github.com/sponsors/snouzy' target='_blank' rel='noopener' class='text-blue-500 hover:underline'>GitHub Sponsors</a> ou <a href='https://ko-fi.com/workoutcool' target='_blank' rel='noopener' class='text-blue-500 hover:underline'>Ko-fi</a>. 🙏",
- },
- note_2025_06_22: {
- title: "🌍 Novos idiomas e melhorias de desempenho!",
- content:
- "A aplicação agora está disponível em chinês e russo! Também melhoramos o desempenho do arrastar e largar para uma experiência mais fluida. ⚡",
- },
- note_2025_06_19: {
- title: "📱 Agora disponível como PWA!",
- content:
- "O Workout.cool v1.2 já é uma Progressive Web App! Instale-a no seu telemóvel para uma experiência de aplicação nativa com acesso offline. 🚀",
- },
- note_2025_06_18: {
- title:
- "🚀 Nº 1 em destaque no <a href='https://news.ycombinator.com/item?id=44309320' target='_blank' rel='noopener' class='text-blue-500 hover:underline'>Hacker News</a>!",
- content:
- "O Workout.cool chegou ao primeiro lugar no Hacker News! Obrigado a todos pelo apoio incrível e bem-vindos todos os novos utilizadores! 💪",
- },
- note_2025_06_01: {
- title: "🎉 Novo: Dialogo de Notas de Lançamento",
- content: "Agora pode ver as novidades diretamente no cabeçalho! Fique atento a mais atualizações.",
- },
- note_2025_05_20: {
- title: "Melhorias na UI",
- content: "Responsividade móvel aprimorada e efeitos subtis ao passar o cursor sobre botões.",
- },
- },
- },
- // Donation Alert
- donation_alert: {
- title: "Mantém Workout.cool gratuito. Apoia-nos via",
- or: "ou",
- },
- // Donation Modal
- donation_modal: {
- support_via: "Apoiar via...",
- title: "Apoiar o projeto",
- congrats: "Parabéns pelo seu treino! 🎉",
- subtitle: "Esta app ajuda-o gratuitamente, mas tem um custo real para mim...",
- costs_title: "A realidade dos custos",
- costs_description:
- "Actualmente, as doações nem sequer cobrem os custos básicos: servidores, autenticação, infraestrutura, base de dados, etc.",
- open_source_title: "100% Open Source",
- open_source_description:
- "Esta app é completamente gratuita e de código aberto. Não há lucro - é um projeto de paixão para ajudar a comunidade e ajudar as pessoas a fazer exercício.",
- no_ads: "Sem publicidade",
- no_tracking: "Sem rastreamento",
- impact_title: "O seu impacto",
- impact_3_euros: "• Mesmo 3€ cobrem 1 semana de servidor",
- impact_support: "• O seu apoio mantém a app gratuita para todos",
- impact_footer: "Cada doação, mesmo pequena, faz uma diferença real! 🙏",
- later_button: "Mais tarde",
- support_button: "Apoiar o projeto",
- },
- // Contact Support
- contact_support: "Contactar Suporte",
- contact_support_subtitle: "Descreva o seu problema e iremos ajudá-lo o mais rápido possível. Também pode escrever-nos diretamente para",
- // Social Platforms
- social_platforms: {
- x: "X (Twitter)",
- facebook: "Facebook",
- email: "Email",
- whatsapp: "WhatsApp",
- website: "Website",
- phone: "Telefone",
- youtube: "YouTube",
- linkedin: "LinkedIn",
- snapchat: "Snapchat",
- instagram: "Instagram",
- tiktok: "TikTok",
- threads: "Threads",
- },
- // Workout Builder
- workout_builder: {
- confirm_delete: "Tem a certeza de que pretende eliminar esta sessão de treino?",
- steps: {
- equipment: {
- title: "Equipamento",
- description: "Selecione o seu equipamento",
- },
- muscles: {
- title: "Músculos",
- description: "Escolha a sua zona de treino",
- },
- exercises: {
- title: "Exercícios",
- description: "Personalize o seu treino",
- },
- },
- muscles: {
- back: "Costas",
- abdominals: "Abdominais",
- biceps: "Bíceps",
- triceps: "Tríceps",
- chest: "Peito",
- shoulders: "Ombros",
- quadriceps: "Quadríceps",
- hamstrings: "Isquiotibiais",
- glutes: "Glúteos",
- calves: "Panturrilhas",
- forearms: "Antebraços",
- traps: "Trapézio",
- obliques: "Oblíquos",
- },
- exercise: {
- watch_video: "Ver vídeo",
- shuffle: "Aleatorizar",
- pick: "Escolher",
- remove: "Remover",
- no_video_available: "Vídeo indisponível.",
- },
- loading: {
- exercises: "A carregar exercícios...",
- },
- error: {
- loading_exercises: "Erro ao carregar exercícios",
- },
- no_exercises_found: "Nenhum exercício encontrado. Experimente mudar a seleção de equipamento ou músculos.",
- equipment: {
- bodyweight: {
- label: "Peso corporal",
- description: "Exercícios apenas com o peso do corpo",
- },
- dumbbell: {
- label: "Halteres",
- description: "Exercícios com halteres",
- },
- barbell: {
- label: "Barra",
- description: "Movimentos compostos com barra",
- },
- kettlebell: {
- label: "Kettlebell",
- description: "Exercícios dinâmicos com kettlebell",
- },
- band: {
- label: "Elástico",
- description: "Exercícios com banda de resistência",
- },
- plate: {
- label: "Placa",
- description: "Exercícios usando discos de peso",
- },
- pullup_bar: {
- label: "Barra de barra fixa",
- description: "Exercícios para a parte superior do corpo com barra fixa",
- },
- bench: {
- label: "Banco",
- description: "Exercícios de banco e apoio",
- },
- },
- navigation: {
- previous: "Anterior",
- continue: "Continuar",
- complete: "Concluir",
- },
- stats: {
- "muscle_selected#zero": "0 músculos selecionados",
- "muscle_selected#one": "1 músculo selecionado",
- "muscle_selected#other": "{count} músculos selecionados",
- "equipment_selected#zero": "0 equipamentos selecionados",
- "equipment_selected#one": "1 equipamento selecionado",
- "equipment_selected#other": "{count} equipamentos selecionados",
- selected: "Selecionado",
- total: "Total",
- equipment_ready: "equipamento pronto",
- equipment_ready_plural: "equipamentos prontos",
- },
- selection: {
- choose_your_arsenal: "Escolha o seu arsenal",
- select_equipment_description: "Selecione equipamento para desbloquear treinos personalizados",
- clear_all: "Limpar tudo",
- muscle_selection_coming_soon: "Seleção de músculos (Em breve)",
- muscle_selection_description: "Selecione o(s) músculo(s) que deseja treinar clicando neles.",
- exercise_selection_coming_soon: "Seleção de exercícios (Em breve)",
- exercise_selection_description: "Nesta etapa verá recomendações de exercícios personalizadas.",
- },
- session: {
- back_to_workout: "Voltar ao treino",
- congrats: "Parabéns, treino concluído! 🎉",
- congrats_subtitle: "Conseguiu!",
- see_instructions: "Ver instruções",
- finish_set: "Concluir série",
- finish_session: "Terminar sessão",
- bodyweight: "Peso corporal",
- weight: "Peso",
- reps: "Reps",
- time: "Tempo",
- next_exercise: "Próximo exercício",
- add_set: "Adicionar série",
- add_column: "Adicionar coluna",
- add_row: "Adicionar linha",
- remove_column: "Remover coluna",
- set_number: "Série {number}",
- set_number_plural: "Séries {number}",
- set_number_singular: "Série {number}",
- set_number_plural_singular: "Séries {number}",
- workout_in_progress: "Treino em curso",
- started_at: "Iniciado às",
- quit_workout: "Abandonar treino",
- elapsed_time: "Tempo decorrido",
- chronometer: "Cronómetro",
- exercise_progress: "Progresso do exercício",
- total_volume: "Volume total",
- current_exercise: "Exercício atual",
- complete: "Concluído",
- active: "Ativo",
- already_have_a_active_session: "Já tem uma sessão ativa. Não é possível repetir sem terminar ou abandonar o treino.",
- no_exercise_selected: "Nenhum exercício selecionado",
- quit_workout_title: "Abandonar treino?",
- progress: "Progresso",
- quit_warning: "Tem a certeza de que pretende abandonar? Pode guardar o progresso ou perdê-lo completamente.",
- save_and_quit: "Guardar e sair",
- quit_without_save: "Sair sem guardar",
- continue_workout: "Continuar treino",
- history: "Histórico de treinos [{count}]",
- no_workout_yet: "Ainda sem treinos.",
- start: "iniciar",
- end: "terminar",
- exercise: "EXERCÍCIO",
- repeat: "Repetir",
- delete: "Eliminar",
- },
- attribute_value: {
- bodyweight: "Peso corporal",
- strength: "Força",
- powerlifting: "Powerlifting",
- calisthenic: "Calistenia",
- plyometrics: "Pliometria",
- stretching: "Alongamento",
- strongman: "Strongman",
- cardio: "Cardio",
- stabilization: "Estabilização",
- power: "Potência",
- resistance: "Resistência",
- crossfit: "CrossFit",
- weightlifting: "Levantamento de peso",
- neck: "Pescoço",
- lats: "Dorsais",
- adductors: "Adutores",
- abductors: "Abdutores",
- groin: "Virilha",
- full_body: "Corpo inteiro",
- rotator_cuff: "Manguito rotador",
- hip_flexor: "Flexor da anca",
- achilles_tendon: "Tendão de Aquiles",
- fingers: "Dedos",
- smith_machine: "Máquina Smith",
- other: "Outro",
- ez_bar: "Barra EZ",
- machine: "Máquina",
- desk: "Secretária",
- none: "Nenhum",
- cable: "Cabo",
- medicine_ball: "Medicine ball",
- swiss_ball: "Swiss ball",
- foam_roll: "Rolo de espuma",
- trx: "TRX",
- box: "Caixa",
- ropes: "Corda",
- spin_bike: "Bicicleta de spinning",
- step: "Step",
- bosu: "BOSU",
- tyre: "Pneu",
- sandbag: "Saco de areia",
- pole: "Barra vertical",
- wall: "Parede",
- bar: "Barra",
- rack: "Rack",
- car: "Carro",
- sled: "Sledge",
- chain: "Corrente",
- skierg: "SkiErg",
- rope: "Corda",
- na: "N/D",
- isolation: "Isolamento",
- compound: "Composto",
- },
- },
- commons: {
- signup_with: "Inscrever com {provider}",
- signin_with: "Entrar com {provider}",
- signup: "Inscrever-se",
- login: "Iniciar sessão",
- connecting: "A ligar...",
- login_to_your_account_title: "Inicie sessão na sua conta",
- login_to_your_account_subtitle: "Insira as suas credenciais abaixo para entrar",
- password_forgot: "Esqueceu-se da palavra-passe?",
- password_reset_success: "Palavra-passe redefinida com sucesso",
- dont_have_account: "Ainda não tem conta?",
- already_have_account: "Já tem uma conta?",
- or: "Ou",
- add: "Adicionar",
- your_feminine: "a sua",
- password: "Palavra-passe",
- email: "Email",
- logout: "Terminar sessão",
- first_name: "Nome",
- last_name: "Apelido",
- verify_password: "Verificar palavra-passe",
- submit: "Enviar",
- upload: "Carregar",
- cancel: "Cancelar",
- save_changes: "Guardar alterações",
- change: "Alterar",
- subject: "Assunto",
- message: "Mensagem",
- saving: "A guardar...",
- edit: "Editar",
- more_options: "Mais opções",
- open_link: "Abrir ligação",
- hide: "Ocultar",
- make_visible: "Tornar visível",
- delete: "Eliminar",
- share: "Partilhar",
- title: "Título",
- subtitle: "Subtítulo",
- content: "Conteúdo",
- save: "Guardar",
- button: "Botão",
- card: "Cartão",
- go_back: "Voltar atrás",
- next: "Seguinte",
- choose_image: "Escolher imagem",
- soon: "Em breve",
- coming_soon_with_emoji: "Em breve 🤫",
- no_image: "Sem imagem",
- description: "Descrição",
- price: "Preço",
- duration: "Duração",
- location: "Localização",
- schedule: "Agenda",
- participants_info: "Informação dos participantes",
- description_placeholder: "Insira a descrição",
- title_placeholder: "Insira o título",
- changes_saved: "Alterações guardadas",
- replace: "Substituir",
- loading: "A carregar...",
- image_deleted: "A imagem foi eliminada",
- discover_workoutcool: "Descubra o Workout Cool",
- received_just_now: "Recebido agora mesmo",
- copied: "Copiado",
- url_copied: "A URL foi copiada",
- copy_failed: "Falha ao copiar",
- accordion: "Acordeão",
- image: "Imagem",
- other: "Outro",
- register: "Registar",
- instantly: "instantaneamente",
- immediately: "imediatamente",
- link: "Ligação",
- accept: "Aceitar",
- deny: "Negar",
- invalid_input: "Entrada inválida. Por favor, verifique os erros.",
- copy_url: "Copiar URL",
- page_url: "URL da página",
- saving_short: "A guardar...",
- saved_short: "OK",
- looks_like_you_are_lost: "Parece que está perdido",
- the_page_you_are_looking_for_is_not_available: "A página que procura não está disponível",
- go_to_home: "Ir para o início",
- go_to_profile: "Ir para o perfil",
- terms: "Termos de Serviço",
- privacy: "Política de Privacidade",
- sales_terms: "Termos de Venda",
- consent_banner: "Utilizamos cookies para melhorar a sua experiência. Ao clicar em Aceitar, concorda com a nossa utilização de cookies.",
- about: "Sobre nós",
- profile: "Perfil",
- donate: "Doar",
- my_account: "A minha conta",
- dashboard: "Dashboard",
- home: "Início",
- changelog: "Histórico de alterações",
- stop_impersonation_button: "Parar personificação",
- impersonating_user_label: "Personificando utilizador",
- re_hello: "Re Olá",
- back_to_login: "Voltar para Login",
- sending: "A enviar...",
- send_me_link: "Enviar-me ligação",
- extremely_dissatisfied: "Extremamente insatisfeito",
- somewhat_dissatisfied: "Ligeiramente insatisfeito",
- neutral: "Neutro",
- satisfied: "Satisfeito",
- support: "Suporte",
- change_language: "Alterar idioma",
- in_progress: "Em progresso",
- },
- } as const;
|