pt.ts 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460
  1. export default {
  2. email_sent: "Email enviado",
  3. cant_send_email: "Não foi possível enviar o email",
  4. logout: "Terminar sessão",
  5. verify_email: "Verifique o seu email",
  6. verify_email_subtitle: "Por favor, verifique o seu email para continuar.",
  7. resend_email: "Reenviar email",
  8. resend_email_countdown: "Reenviar email em {seconds} segundos",
  9. signin_error_subtitle: "Por favor, verifique as suas credenciais e tente novamente.",
  10. register_title: "Criar conta",
  11. register_description: "Insira os seus dados abaixo para criar uma conta",
  12. register_terms: "Ao registar-se, concorda com os nossos",
  13. register_privacy: "Termos e Condições",
  14. register_privacy_link: "e com a nossa",
  15. register_privacy_link_2: "Política de Privacidade",
  16. password_forgot_title: "Esqueceu-se da palavra-passe?",
  17. password_forgot_subtitle: "Insira o seu email para redefinir a palavra-passe",
  18. new_password: "Nova palavra-passe",
  19. new_password_placeholder: "Insira a nova palavra-passe",
  20. current_password: "Palavra-passe atual",
  21. current_password_placeholder: "Insira a palavra-passe atual",
  22. confirm_password: "Confirmar palavra-passe",
  23. confirm_password_placeholder: "Confirme a palavra-passe",
  24. success: {
  25. feedback_sent: "Feedback enviado",
  26. password_forgot_success: "Email enviado",
  27. reset_password_success: "Palavra-passe redefinida com sucesso",
  28. password_updated_successfully: "Palavra-passe atualizada com sucesso",
  29. },
  30. error: {
  31. invalid_credentials: "Credenciais inválidas ou conta inexistente",
  32. upload_failed: "Falha ao enviar ficheiro",
  33. generic_error: "Erro durante a operação",
  34. sending_email: "Erro ao enviar email",
  35. },
  36. backend_errors: {
  37. EMAIL_ALREADY_EXISTS: "Este email já está registado",
  38. INVALID_FILE_TYPE: "Tipo de ficheiro inválido",
  39. FILE_TOO_LARGE: "Ficheiro demasiado grande",
  40. NO_FILE_UPLOADED: "Nenhum ficheiro enviado",
  41. IMAGE_PROCESSING_ERROR: "Erro no processamento da imagem",
  42. upload_failed: "Falha no envio",
  43. },
  44. profile: {
  45. new_workout: "Novo treino",
  46. alert: {
  47. title: "O seu progresso está guardado no navegador.",
  48. create_account: "Crie uma conta",
  49. log_in: "Inicie sessão",
  50. to_ensure_it_is_not_getting_lost: "para garantir que não se perde.",
  51. },
  52. },
  53. // Release Notes
  54. release_notes: {
  55. title: "Novidades",
  56. release_notes: "Notas de Lançamento",
  57. notes: {
  58. note_2025_06_23: {
  59. title: "🇵🇹 Suporte Português & Banner de Doação",
  60. content:
  61. "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>. 🙏",
  62. },
  63. note_2025_06_22: {
  64. title: "🌍 Novos idiomas e melhorias de desempenho!",
  65. content:
  66. "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. ⚡",
  67. },
  68. note_2025_06_19: {
  69. title: "📱 Agora disponível como PWA!",
  70. content:
  71. "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. 🚀",
  72. },
  73. note_2025_06_18: {
  74. title:
  75. "🚀 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>!",
  76. content:
  77. "O Workout.cool chegou ao primeiro lugar no Hacker News! Obrigado a todos pelo apoio incrível e bem-vindos todos os novos utilizadores! 💪",
  78. },
  79. note_2025_06_01: {
  80. title: "🎉 Novo: Dialogo de Notas de Lançamento",
  81. content: "Agora pode ver as novidades diretamente no cabeçalho! Fique atento a mais atualizações.",
  82. },
  83. note_2025_05_20: {
  84. title: "Melhorias na UI",
  85. content: "Responsividade móvel aprimorada e efeitos subtis ao passar o cursor sobre botões.",
  86. },
  87. },
  88. },
  89. // Donation Alert
  90. donation_alert: {
  91. title: "Mantém Workout.cool gratuito. Apoia-nos via",
  92. or: "ou",
  93. },
  94. // Donation Modal
  95. donation_modal: {
  96. support_via: "Apoiar via...",
  97. title: "Apoiar o projeto",
  98. congrats: "Parabéns pelo seu treino! 🎉",
  99. subtitle: "Esta app ajuda-o gratuitamente, mas tem um custo real para mim...",
  100. costs_title: "A realidade dos custos",
  101. costs_description:
  102. "Actualmente, as doações nem sequer cobrem os custos básicos: servidores, autenticação, infraestrutura, base de dados, etc.",
  103. open_source_title: "100% Open Source",
  104. open_source_description:
  105. "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.",
  106. no_ads: "Sem publicidade",
  107. no_tracking: "Sem rastreamento",
  108. impact_title: "O seu impacto",
  109. impact_3_euros: "• Mesmo 3€ cobrem 1 semana de servidor",
  110. impact_support: "• O seu apoio mantém a app gratuita para todos",
  111. impact_footer: "Cada doação, mesmo pequena, faz uma diferença real! 🙏",
  112. later_button: "Mais tarde",
  113. support_button: "Apoiar o projeto",
  114. },
  115. // Contact Support
  116. contact_support: "Contactar Suporte",
  117. contact_support_subtitle: "Descreva o seu problema e iremos ajudá-lo o mais rápido possível. Também pode escrever-nos diretamente para",
  118. // Social Platforms
  119. social_platforms: {
  120. x: "X (Twitter)",
  121. facebook: "Facebook",
  122. email: "Email",
  123. whatsapp: "WhatsApp",
  124. website: "Website",
  125. phone: "Telefone",
  126. youtube: "YouTube",
  127. linkedin: "LinkedIn",
  128. snapchat: "Snapchat",
  129. instagram: "Instagram",
  130. tiktok: "TikTok",
  131. threads: "Threads",
  132. },
  133. // Workout Builder
  134. workout_builder: {
  135. confirm_delete: "Tem a certeza de que pretende eliminar esta sessão de treino?",
  136. steps: {
  137. equipment: {
  138. title: "Equipamento",
  139. description: "Selecione o seu equipamento",
  140. },
  141. muscles: {
  142. title: "Músculos",
  143. description: "Escolha a sua zona de treino",
  144. },
  145. exercises: {
  146. title: "Exercícios",
  147. description: "Personalize o seu treino",
  148. },
  149. },
  150. muscles: {
  151. back: "Costas",
  152. abdominals: "Abdominais",
  153. biceps: "Bíceps",
  154. triceps: "Tríceps",
  155. chest: "Peito",
  156. shoulders: "Ombros",
  157. quadriceps: "Quadríceps",
  158. hamstrings: "Isquiotibiais",
  159. glutes: "Glúteos",
  160. calves: "Panturrilhas",
  161. forearms: "Antebraços",
  162. traps: "Trapézio",
  163. obliques: "Oblíquos",
  164. },
  165. exercise: {
  166. watch_video: "Ver vídeo",
  167. shuffle: "Aleatorizar",
  168. pick: "Escolher",
  169. remove: "Remover",
  170. no_video_available: "Vídeo indisponível.",
  171. },
  172. loading: {
  173. exercises: "A carregar exercícios...",
  174. },
  175. error: {
  176. loading_exercises: "Erro ao carregar exercícios",
  177. },
  178. no_exercises_found: "Nenhum exercício encontrado. Experimente mudar a seleção de equipamento ou músculos.",
  179. equipment: {
  180. bodyweight: {
  181. label: "Peso corporal",
  182. description: "Exercícios apenas com o peso do corpo",
  183. },
  184. dumbbell: {
  185. label: "Halteres",
  186. description: "Exercícios com halteres",
  187. },
  188. barbell: {
  189. label: "Barra",
  190. description: "Movimentos compostos com barra",
  191. },
  192. kettlebell: {
  193. label: "Kettlebell",
  194. description: "Exercícios dinâmicos com kettlebell",
  195. },
  196. band: {
  197. label: "Elástico",
  198. description: "Exercícios com banda de resistência",
  199. },
  200. plate: {
  201. label: "Placa",
  202. description: "Exercícios usando discos de peso",
  203. },
  204. pullup_bar: {
  205. label: "Barra de barra fixa",
  206. description: "Exercícios para a parte superior do corpo com barra fixa",
  207. },
  208. bench: {
  209. label: "Banco",
  210. description: "Exercícios de banco e apoio",
  211. },
  212. },
  213. navigation: {
  214. previous: "Anterior",
  215. continue: "Continuar",
  216. complete: "Concluir",
  217. },
  218. stats: {
  219. "muscle_selected#zero": "0 músculos selecionados",
  220. "muscle_selected#one": "1 músculo selecionado",
  221. "muscle_selected#other": "{count} músculos selecionados",
  222. "equipment_selected#zero": "0 equipamentos selecionados",
  223. "equipment_selected#one": "1 equipamento selecionado",
  224. "equipment_selected#other": "{count} equipamentos selecionados",
  225. selected: "Selecionado",
  226. total: "Total",
  227. equipment_ready: "equipamento pronto",
  228. equipment_ready_plural: "equipamentos prontos",
  229. },
  230. selection: {
  231. choose_your_arsenal: "Escolha o seu arsenal",
  232. select_equipment_description: "Selecione equipamento para desbloquear treinos personalizados",
  233. clear_all: "Limpar tudo",
  234. muscle_selection_coming_soon: "Seleção de músculos (Em breve)",
  235. muscle_selection_description: "Selecione o(s) músculo(s) que deseja treinar clicando neles.",
  236. exercise_selection_coming_soon: "Seleção de exercícios (Em breve)",
  237. exercise_selection_description: "Nesta etapa verá recomendações de exercícios personalizadas.",
  238. },
  239. session: {
  240. back_to_workout: "Voltar ao treino",
  241. congrats: "Parabéns, treino concluído! 🎉",
  242. congrats_subtitle: "Conseguiu!",
  243. see_instructions: "Ver instruções",
  244. finish_set: "Concluir série",
  245. finish_session: "Terminar sessão",
  246. bodyweight: "Peso corporal",
  247. weight: "Peso",
  248. reps: "Reps",
  249. time: "Tempo",
  250. next_exercise: "Próximo exercício",
  251. add_set: "Adicionar série",
  252. add_column: "Adicionar coluna",
  253. add_row: "Adicionar linha",
  254. remove_column: "Remover coluna",
  255. set_number: "Série {number}",
  256. set_number_plural: "Séries {number}",
  257. set_number_singular: "Série {number}",
  258. set_number_plural_singular: "Séries {number}",
  259. workout_in_progress: "Treino em curso",
  260. started_at: "Iniciado às",
  261. quit_workout: "Abandonar treino",
  262. elapsed_time: "Tempo decorrido",
  263. chronometer: "Cronómetro",
  264. exercise_progress: "Progresso do exercício",
  265. total_volume: "Volume total",
  266. current_exercise: "Exercício atual",
  267. complete: "Concluído",
  268. active: "Ativo",
  269. already_have_a_active_session: "Já tem uma sessão ativa. Não é possível repetir sem terminar ou abandonar o treino.",
  270. no_exercise_selected: "Nenhum exercício selecionado",
  271. quit_workout_title: "Abandonar treino?",
  272. progress: "Progresso",
  273. quit_warning: "Tem a certeza de que pretende abandonar? Pode guardar o progresso ou perdê-lo completamente.",
  274. save_and_quit: "Guardar e sair",
  275. quit_without_save: "Sair sem guardar",
  276. continue_workout: "Continuar treino",
  277. history: "Histórico de treinos [{count}]",
  278. no_workout_yet: "Ainda sem treinos.",
  279. start: "iniciar",
  280. end: "terminar",
  281. exercise: "EXERCÍCIO",
  282. repeat: "Repetir",
  283. delete: "Eliminar",
  284. },
  285. attribute_value: {
  286. bodyweight: "Peso corporal",
  287. strength: "Força",
  288. powerlifting: "Powerlifting",
  289. calisthenic: "Calistenia",
  290. plyometrics: "Pliometria",
  291. stretching: "Alongamento",
  292. strongman: "Strongman",
  293. cardio: "Cardio",
  294. stabilization: "Estabilização",
  295. power: "Potência",
  296. resistance: "Resistência",
  297. crossfit: "CrossFit",
  298. weightlifting: "Levantamento de peso",
  299. neck: "Pescoço",
  300. lats: "Dorsais",
  301. adductors: "Adutores",
  302. abductors: "Abdutores",
  303. groin: "Virilha",
  304. full_body: "Corpo inteiro",
  305. rotator_cuff: "Manguito rotador",
  306. hip_flexor: "Flexor da anca",
  307. achilles_tendon: "Tendão de Aquiles",
  308. fingers: "Dedos",
  309. smith_machine: "Máquina Smith",
  310. other: "Outro",
  311. ez_bar: "Barra EZ",
  312. machine: "Máquina",
  313. desk: "Secretária",
  314. none: "Nenhum",
  315. cable: "Cabo",
  316. medicine_ball: "Medicine ball",
  317. swiss_ball: "Swiss ball",
  318. foam_roll: "Rolo de espuma",
  319. trx: "TRX",
  320. box: "Caixa",
  321. ropes: "Corda",
  322. spin_bike: "Bicicleta de spinning",
  323. step: "Step",
  324. bosu: "BOSU",
  325. tyre: "Pneu",
  326. sandbag: "Saco de areia",
  327. pole: "Barra vertical",
  328. wall: "Parede",
  329. bar: "Barra",
  330. rack: "Rack",
  331. car: "Carro",
  332. sled: "Sledge",
  333. chain: "Corrente",
  334. skierg: "SkiErg",
  335. rope: "Corda",
  336. na: "N/D",
  337. isolation: "Isolamento",
  338. compound: "Composto",
  339. },
  340. },
  341. commons: {
  342. signup_with: "Inscrever com {provider}",
  343. signin_with: "Entrar com {provider}",
  344. signup: "Inscrever-se",
  345. login: "Iniciar sessão",
  346. connecting: "A ligar...",
  347. login_to_your_account_title: "Inicie sessão na sua conta",
  348. login_to_your_account_subtitle: "Insira as suas credenciais abaixo para entrar",
  349. password_forgot: "Esqueceu-se da palavra-passe?",
  350. password_reset_success: "Palavra-passe redefinida com sucesso",
  351. dont_have_account: "Ainda não tem conta?",
  352. already_have_account: "Já tem uma conta?",
  353. or: "Ou",
  354. add: "Adicionar",
  355. your_feminine: "a sua",
  356. password: "Palavra-passe",
  357. email: "Email",
  358. logout: "Terminar sessão",
  359. first_name: "Nome",
  360. last_name: "Apelido",
  361. verify_password: "Verificar palavra-passe",
  362. submit: "Enviar",
  363. upload: "Carregar",
  364. cancel: "Cancelar",
  365. save_changes: "Guardar alterações",
  366. change: "Alterar",
  367. subject: "Assunto",
  368. message: "Mensagem",
  369. saving: "A guardar...",
  370. edit: "Editar",
  371. more_options: "Mais opções",
  372. open_link: "Abrir ligação",
  373. hide: "Ocultar",
  374. make_visible: "Tornar visível",
  375. delete: "Eliminar",
  376. share: "Partilhar",
  377. title: "Título",
  378. subtitle: "Subtítulo",
  379. content: "Conteúdo",
  380. save: "Guardar",
  381. button: "Botão",
  382. card: "Cartão",
  383. go_back: "Voltar atrás",
  384. next: "Seguinte",
  385. choose_image: "Escolher imagem",
  386. soon: "Em breve",
  387. coming_soon_with_emoji: "Em breve 🤫",
  388. no_image: "Sem imagem",
  389. description: "Descrição",
  390. price: "Preço",
  391. duration: "Duração",
  392. location: "Localização",
  393. schedule: "Agenda",
  394. participants_info: "Informação dos participantes",
  395. description_placeholder: "Insira a descrição",
  396. title_placeholder: "Insira o título",
  397. changes_saved: "Alterações guardadas",
  398. replace: "Substituir",
  399. loading: "A carregar...",
  400. image_deleted: "A imagem foi eliminada",
  401. discover_workoutcool: "Descubra o Workout Cool",
  402. received_just_now: "Recebido agora mesmo",
  403. copied: "Copiado",
  404. url_copied: "A URL foi copiada",
  405. copy_failed: "Falha ao copiar",
  406. accordion: "Acordeão",
  407. image: "Imagem",
  408. other: "Outro",
  409. register: "Registar",
  410. instantly: "instantaneamente",
  411. immediately: "imediatamente",
  412. link: "Ligação",
  413. accept: "Aceitar",
  414. deny: "Negar",
  415. invalid_input: "Entrada inválida. Por favor, verifique os erros.",
  416. copy_url: "Copiar URL",
  417. page_url: "URL da página",
  418. saving_short: "A guardar...",
  419. saved_short: "OK",
  420. looks_like_you_are_lost: "Parece que está perdido",
  421. the_page_you_are_looking_for_is_not_available: "A página que procura não está disponível",
  422. go_to_home: "Ir para o início",
  423. go_to_profile: "Ir para o perfil",
  424. terms: "Termos de Serviço",
  425. privacy: "Política de Privacidade",
  426. sales_terms: "Termos de Venda",
  427. consent_banner: "Utilizamos cookies para melhorar a sua experiência. Ao clicar em Aceitar, concorda com a nossa utilização de cookies.",
  428. about: "Sobre nós",
  429. profile: "Perfil",
  430. donate: "Doar",
  431. my_account: "A minha conta",
  432. dashboard: "Dashboard",
  433. home: "Início",
  434. changelog: "Histórico de alterações",
  435. stop_impersonation_button: "Parar personificação",
  436. impersonating_user_label: "Personificando utilizador",
  437. re_hello: "Re Olá",
  438. back_to_login: "Voltar para Login",
  439. sending: "A enviar...",
  440. send_me_link: "Enviar-me ligação",
  441. extremely_dissatisfied: "Extremamente insatisfeito",
  442. somewhat_dissatisfied: "Ligeiramente insatisfeito",
  443. neutral: "Neutro",
  444. satisfied: "Satisfeito",
  445. support: "Suporte",
  446. change_language: "Alterar idioma",
  447. in_progress: "Em progresso",
  448. },
  449. } as const;