From afc15b1369204cdf05a0b63f7865f01ecd0cc33a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ningu=C3=A9m=20Mesmo?= Date: Mon, 22 Sep 2025 21:43:04 +0200 Subject: [PATCH] Translated using Weblate (Portuguese (Portugal)) Currently translated at 100.0% (317 of 317 strings) Translation: wger Workout Manager/Mobile App Translate-URL: https://hosted.weblate.org/projects/wger/mobile/pt_PT/ --- lib/l10n/app_pt_PT.arb | 2132 ++++++++++++++++++++-------------------- 1 file changed, 1074 insertions(+), 1058 deletions(-) diff --git a/lib/l10n/app_pt_PT.arb b/lib/l10n/app_pt_PT.arb index a5a7c90e..bca6294f 100644 --- a/lib/l10n/app_pt_PT.arb +++ b/lib/l10n/app_pt_PT.arb @@ -1,1062 +1,1078 @@ { - "login": "Iniciar sessão", - "@login": { - "description": "Text for login button" - }, - "success": "Sucesso", - "@success": { - "description": "Message when an action completed successfully, usually used as a heading" - }, - "noMatchingExerciseFound": "Não foram encontrados exercícios", - "@noMatchingExerciseFound": { - "description": "Message returned if no exercises match the searched string" - }, - "labelDashboard": "Painel", - "@labelDashboard": { - "description": "Title for screen dashboard" - }, - "exercise": "Exercício", - "@exercise": { - "description": "An exercise for a workout" - }, - "usernameValidChars": "O nome de utilizador só pode conter letras, números e os caracteres @, +, ., - e _", - "@usernameValidChars": { - "description": "Error message when the user tries to register a username with forbidden characters" - }, - "searchNamesInEnglish": "Também procurar nomes em inglês", - "@searchNamesInEnglish": {}, - "useCustomServer": "Usar servidor personalizado", - "@useCustomServer": { - "description": "Toggle button allowing users to switch between the default and a custom wger server" - }, - "equipment": "Equipamento", - "@equipment": { - "description": "Equipment needed to perform an exercise" - }, - "userProfile": "O teu perfil", - "@userProfile": {}, - "register": "Registar", - "@register": { - "description": "Text for registration button" - }, - "comment": "Comentário", - "@comment": { - "description": "Comment, additional information" - }, - "customServerHint": "Introduz o endereço do teu próprio servidor, senão será usado o predefinido", - "@customServerHint": { - "description": "Hint text for the form where the users can enter their own wger instance" - }, - "useDefaultServer": "Usar servidor predefinido", - "@useDefaultServer": { - "description": "Toggle button allowing users to switch between the default and a custom wger server" - }, - "invalidUrl": "Introduz um URL válido", - "@invalidUrl": { - "description": "Error message when the user enters an invalid URL, e.g. in the login form" - }, - "passwordsDontMatch": "As palavras-passe não coincidem", - "@passwordsDontMatch": { - "description": "Error message when the user enters two different passwords during registration" - }, - "passwordTooShort": "A palavra-passe é demasiado curta", - "@passwordTooShort": { - "description": "Error message when the user a password that is too short" - }, - "selectAvailablePlates": "Selecionar discos disponíveis", - "@selectAvailablePlates": {}, - "barWeight": "Peso da barra", - "@barWeight": {}, - "useColors": "Usar cores", - "@useColors": {}, - "password": "Palavra-passe", - "@password": {}, - "confirmPassword": "Confirmar palavra-passe", - "@confirmPassword": {}, - "invalidEmail": "Introduz um e-mail válido", - "@invalidEmail": { - "description": "Error message when the user enters an invalid email" - }, - "email": "Endereço de e-mail", - "@email": {}, - "username": "Nome de utilizador", - "@username": {}, - "invalidUsername": "Introduz um nome de utilizador válido", - "@invalidUsername": { - "description": "Error message when the user enters an invalid username" - }, - "useApiToken": "Usar Token da API", - "@useApiToken": {}, - "useUsernameAndPassword": "Usar nome de utilizador e palavra-passe", - "@useUsernameAndPassword": {}, - "apiToken": "Token da API", - "@apiToken": {}, - "invalidApiToken": "Introduz uma chave API válida", - "@invalidApiToken": { - "description": "Error message when the user enters an invalid API key" - }, - "apiTokenValidChars": "Uma chave API só pode conter letras de a-f, números de 0-9 e ter exatamente 40 caracteres", - "@apiTokenValidChars": { - "description": "Error message when the user tries to input a API key with forbidden characters" - }, - "customServerUrl": "URL da instância wger", - "@customServerUrl": { - "description": "Label in the form where the users can enter their own wger instance" - }, - "reset": "Repor", - "@reset": { - "description": "Button text allowing the user to reset the entered values to the default" - }, - "registerInstead": "Ainda não tens conta? Regista-te agora", - "@registerInstead": {}, - "loginInstead": "Já tens conta? Inicia sessão", - "@loginInstead": {}, - "labelBottomNavWorkout": "Treino", - "@labelBottomNavWorkout": { - "description": "Label used in bottom navigation, use a short word" - }, - "labelBottomNavNutrition": "Nutrição", - "@labelBottomNavNutrition": { - "description": "Label used in bottom navigation, use a short word" - }, - "labelWorkoutLogs": "Registos de treino", - "@labelWorkoutLogs": { - "description": "(Workout) logs" - }, - "labelWorkoutPlan": "Plano de treino", - "@labelWorkoutPlan": { - "description": "Title for screen workout plan" - }, - "successfullyDeleted": "Eliminado", - "@successfullyDeleted": { - "description": "Message when an item was successfully deleted" - }, - "successfullySaved": "Guardado", - "@successfullySaved": { - "description": "Message when an item was successfully saved" - }, - "exerciseList": "Lista de exercícios", - "@exerciseList": {}, - "exercises": "Exercícios", - "@exercises": { - "description": "Multiple exercises for a workout" - }, - "exerciseName": "Nome do exercício", - "@exerciseName": { - "description": "Label for the name of a workout exercise" - }, - "searchExercise": "Procura um exercício para adicionar", - "@searchExercise": { - "description": "Label on set form. Selected exercises are added to the set" - }, - "muscles": "Músculos", - "@muscles": { - "description": "(main) muscles trained by an exercise" - }, - "musclesSecondary": "Músculos secundários", - "@musclesSecondary": { - "description": "secondary muscles trained by an exercise" - }, - "category": "Categoria", - "@category": { - "description": "Category for an exercise, ingredient, etc." - }, - "routines": "Rotinas", - "@routines": {}, - "newRoutine": "Nova rotina", - "@newRoutine": {}, - "noRoutines": "Ainda não tens rotinas", - "@noRoutines": {}, - "reps": "Repetições", - "@reps": { - "description": "Shorthand for repetitions, used when space constraints are tighter" - }, - "sets": "Séries", - "@sets": { - "description": "The number of sets to be done for one exercise" - }, - "rir": "Repetições em Reserva", - "@rir": { - "description": "Shorthand for Repetitions In Reserve" - }, - "restTime": "Tempo de descanso", - "@restTime": {}, - "rirNotUsed": "ReR não utilizado", - "@rirNotUsed": { - "description": "Label used in RiR slider when the RiR value is not used/saved for the current setting or log" - }, - "useMetric": "Usar unidades métricas para peso corporal", - "@useMetric": {}, - "weightUnit": "Unidade de peso", - "@weightUnit": {}, - "set": "Série", - "@set": { - "description": "A set in a workout plan" - }, - "needsLogsToAdvance": "Precisa de registos para avançar", - "@needsLogsToAdvance": {}, - "repetitionUnit": "Unidade de repetição", - "@repetitionUnit": {}, - "dayDescriptionHelp": "Descrição do que é feito neste dia (ex.: \"dia de puxar\") ou que músculos são treinados (ex.: \"peito e ombros\")", - "@dayDescriptionHelp": {}, - "exerciseNr": "Exercício {nr}", - "@exerciseNr": { - "description": "Header in form indicating the number of the current exercise. Can also be translated as something like 'Set Nr. xy'.", - "type": "text", - "placeholders": { - "nr": { - "type": "String" - } - } - }, - "supersetNr": "Superset {nr}", - "@supersetNr": { - "description": "Header in form indicating the number of the current exercise. Can also be translated as something like 'Superset Nr. xy'.", - "type": "text", - "placeholders": { - "nr": { - "type": "String" - } - } - }, - "sameRepetitions": "Se fizeres o mesmo número de repetições e peso em todas as séries, basta preencher uma linha. Por exemplo: para 4 séries de 10, escreve \"10\" e fica automaticamente \"4 x 10\".", - "@sameRepetitions": {}, - "impression": "Impressão", - "@impression": { - "description": "General impression (e.g. for a workout session) such as good, bad, etc." - }, - "notes": "Notas", - "@notes": { - "description": "Personal notes, e.g. for a workout session" - }, - "workoutSession": "Sessão de treino", - "@workoutSession": { - "description": "A (logged) workout session" - }, - "isRestDayHelp": "Nota que todas as séries e exercícios serão removidos se marcares o dia como descanso.", - "@isRestDayHelp": {}, - "restDay": "Dia de descanso", - "@restDay": {}, - "isRestDay": "É dia de descanso", - "@isRestDay": {}, - "selectExercises": "Se quiseres fazer um superset, podes procurar vários exercícios - eles serão agrupados", - "@selectExercises": {}, - "gymMode": "Modo ginásio", - "@gymMode": { - "description": "Label when starting the gym mode" - }, - "plateCalculator": "Discos", - "@plateCalculator": { - "description": "Label used for the plate calculator in the gym mode" - }, - "plateCalculatorNotDivisible": "Não é possível atingir o peso com os discos disponíveis", - "@plateCalculatorNotDivisible": { - "description": "Error message when the current weight is not reachable with plates (e.g. 33.1 kg)" - }, - "pause": "Pausa", - "@pause": { - "description": "Noun, not an imperative! Label used for the pause when using the gym mode" - }, - "jumpTo": "Ir para", - "@jumpTo": { - "description": "Imperative. Label used in popup allowing the user to jump to a specific exercise while in the gym mode" - }, - "todaysWorkout": "O teu treino de hoje", - "@todaysWorkout": {}, - "logHelpEntries": "Se houver várias entradas no mesmo dia com o mesmo número de repetições mas pesos diferentes, só aparece no gráfico a de maior peso.", - "@logHelpEntries": {}, - "logHelpEntriesUnits": "Apenas são mostradas entradas com unidade de peso (kg ou lb) e repetições, outras como tempo ou até falhar são ignoradas.", - "@logHelpEntriesUnits": {}, - "description": "Descrição", - "@description": {}, - "name": "Nome", - "@name": { - "description": "Name for a workout or nutritional plan" - }, - "save": "Guardar", - "@save": {}, - "verify": "Verificar", - "@verify": {}, - "addSet": "Adicionar série", - "@addSet": { - "description": "Label for the button that adds a set (to a workout day)" - }, - "addMeal": "Adicionar refeição", - "@addMeal": {}, - "mealLogged": "Refeição registada no diário", - "@mealLogged": {}, - "ingredientLogged": "Ingrediente registado no diário", - "@ingredientLogged": {}, - "logMeal": "Registar refeição no diário nutricional", - "@logMeal": {}, - "addIngredient": "Adicionar ingrediente", - "@addIngredient": {}, - "logIngredient": "Registar ingrediente no diário nutricional", - "@logIngredient": {}, - "searchIngredient": "Procurar ingrediente", - "@searchIngredient": { - "description": "Label on ingredient search form" - }, - "nutritionalPlan": "Plano nutricional", - "@nutritionalPlan": {}, - "nutritionalDiary": "Diário nutricional", - "@nutritionalDiary": {}, - "nutritionalPlans": "Planos nutricionais", - "@nutritionalPlans": {}, - "noNutritionalPlans": "Ainda não tens planos nutricionais", - "@noNutritionalPlans": { - "description": "Message shown when the user has no nutritional plans" - }, - "onlyLogging": "Registar apenas calorias", - "@onlyLogging": {}, - "onlyLoggingHelpText": "Marca esta opção se quiseres registar só as calorias, sem plano nutricional detalhado", - "@onlyLoggingHelpText": {}, - "goalMacro": "Objetivos de macronutrientes", - "@goalMacro": { - "description": "The goal for macronutrients" - }, - "selectMealToLog": "Seleciona uma refeição para registar no diário", - "@selectMealToLog": {}, - "yourCurrentNutritionPlanHasNoMealsDefinedYet": "O teu plano nutricional atual não tem refeições definidas", - "@yourCurrentNutritionPlanHasNoMealsDefinedYet": { - "description": "Message shown when a nutrition plan doesn't have any meals" - }, - "toAddMealsToThePlanGoToNutritionalPlanDetails": "Para adicionar refeições ao plano, vai aos detalhes do plano nutricional", - "@toAddMealsToThePlanGoToNutritionalPlanDetails": { - "description": "Message shown to guide users to the nutritional plan details page to add meals" - }, - "goalEnergy": "Objetivo energético", - "@goalEnergy": {}, - "goalProtein": "Objetivo de proteína", - "@goalProtein": {}, - "goalCarbohydrates": "Objetivo de hidratos de carbono", - "@goalCarbohydrates": {}, - "goalFat": "Objetivo de gordura", - "@goalFat": {}, - "goalFiber": "Objetivo de fibra", - "@goalFiber": {}, - "anErrorOccurred": "Ocorreu um erro!", - "@anErrorOccurred": {}, - "errorInfoDescription": "Lamentamos, algo correu mal. Podes ajudar a corrigir isto ao reportar o problema no GitHub.", - "@errorInfoDescription": {}, - "errorInfoDescription2": "Podes continuar a usar a app, mas algumas funcionalidades podem não funcionar.", - "@errorInfoDescription2": {}, - "errorViewDetails": "Detalhes técnicos", - "@errorViewDetails": {}, - "errorCouldNotConnectToServer": "Não foi possível ligar ao servidor", - "@errorCouldNotConnectToServer": {}, - "copyToClipboard": "Copiar para a área de transferência", - "@copyToClipboard": {}, - "weight": "Peso", - "@weight": { - "description": "The weight of a workout log or body weight entry" - }, - "min": "Mín", - "@min": {}, - "max": "Máx", - "@max": {}, - "chartAllTimeTitle": "{name} total", - "@chartAllTimeTitle": { - "description": "All-time chart of 'name' (e.g. 'weight', 'body fat' etc.)", - "type": "text", - "placeholders": { - "name": { - "type": "String" - } - } - }, - "chart30DaysTitle": "{name} últimos 30 dias", - "@chart30DaysTitle": { - "description": "last 30 days chart of 'name' (e.g. 'weight', 'body fat' etc.)", - "type": "text", - "placeholders": { - "name": { - "type": "String" - } - } - }, - "chartDuringPlanTitle": "{chartName} durante o plano nutricional {planName}", - "@chartDuringPlanTitle": { - "description": "chart of 'chartName' (e.g. 'weight', 'body fat' etc.) logged during plan", - "type": "text", - "placeholders": { - "chartName": { - "type": "String" - }, - "planName": { - "type": "String" - } - } - }, - "measurement": "Medição", - "@measurement": {}, - "measurementCategoriesHelpText": "Categoria de medição, como 'bíceps' ou 'gordura corporal'", - "@measurementCategoriesHelpText": {}, - "measurementEntriesHelpText": "Unidade usada para medir, como 'cm' ou '%'", - "@measurementEntriesHelpText": {}, - "date": "Data", - "@date": { - "description": "The date of a workout log or body weight entry" - }, - "value": "Valor", - "@value": { - "description": "The value of a measurement entry" - }, - "time": "Hora", - "@time": { - "description": "The time of a meal or workout" - }, - "timeStart": "Hora de início", - "@timeStart": { - "description": "The starting time of a workout" - }, - "timeEnd": "Hora de fim", - "@timeEnd": { - "description": "The end time of a workout" - }, - "timeStartAhead": "Hora de início não pode ser depois da hora de fim", - "@timeStartAhead": {}, - "ingredient": "Ingrediente", - "@ingredient": {}, - "energy": "Energia", - "@energy": { - "description": "Energy in a meal, ingredient etc. e.g. in kJ" - }, - "planned": "Planeado", - "@planned": { - "description": "Header for the column of 'planned' nutritional values, i.e. what should be eaten" - }, - "logged": "Registado", - "@logged": { - "description": "Header for the column of 'logged' nutritional values, i.e. what was eaten" - }, - "today": "Hoje", - "@today": {}, - "loggedToday": "Registado hoje", - "@loggedToday": {}, - "weekAverage": "Média de 7 dias", - "@weekAverage": { - "description": "Header for the column of '7 day average' nutritional values, i.e. what was logged last week" - }, - "surplus": "excedente", - "@surplus": { - "description": "Caloric surplus (either planned or unplanned)" - }, - "deficit": "défice", - "@deficit": { - "description": "Caloric deficit (either planned or unplanned)" - }, - "difference": "Diferença", - "@difference": {}, - "percentEnergy": "Percentagem da energia", - "@percentEnergy": {}, - "gPerBodyKg": "g por kg de corpo", - "@gPerBodyKg": { - "description": "Label used for total sums of e.g. calories or similar in grams per Kg of body weight" - }, - "total": "Total", - "@total": { - "description": "Label used for total sums of e.g. calories or similar" - }, - "kcal": "kcal", - "@kcal": { - "description": "Energy in a meal in kilocalories, kcal" - }, - "kJ": "kJ", - "@kJ": { - "description": "Energy in a meal in kilo joules, kJ" - }, - "g": "g", - "@g": { - "description": "Abbreviation for gram" - }, - "gValue": "{value} g", - "@gValue": { - "description": "A value in grams, e.g. 5 g", - "type": "text", - "placeholders": { - "value": { - "type": "String" - } - } - }, - "logout": "Terminar sessão", - "@logout": { - "description": "Text for logout button" - }, - "noIngredientsDefined": "Ainda não há ingredientes definidos", - "@noIngredientsDefined": {}, - "routineDays": "Dias na rotina", - "@routineDays": {}, - "newDay": "Novo dia", - "@newDay": {}, - "newSet": "Nova série", - "@newSet": { - "description": "Header when adding a new set to a workout day" - }, - "kcalValue": "{value} kcal", - "@kcalValue": { - "description": "A value in kcal, e.g. 500 kcal", - "type": "text", - "placeholders": { - "value": { - "type": "String" - } - } - }, - "protein": "Proteína", - "@protein": {}, - "resultingRoutine": "Rotina resultante", - "@resultingRoutine": {}, - "errorCouldNotConnectToServerDetails": "A aplicação não conseguiu ligar ao servidor. Verifica a ligação à internet ou o URL do servidor e tenta outra vez. Se continuar, contacta o administrador do servidor.", - "@errorCouldNotConnectToServerDetails": {}, - "needsLogsToAdvanceHelp": "Seleciona se queres que a rotina avance para o próximo dia apenas se registares um treino", - "@needsLogsToAdvanceHelp": {}, - "start": "Início", - "@start": { - "description": "Label on button to start the gym mode (i.e., an imperative)" - }, - "energyShort": "E", - "@energyShort": { - "description": "The first letter or short name of the word 'Energy', used in overviews" - }, - "macronutrients": "Macronutrientes", - "@macronutrients": {}, - "proteinShort": "P", - "@proteinShort": { - "description": "The first letter or short name of the word 'Protein', used in overviews" - }, - "measurements": "Medições", - "@measurements": { - "description": "Categories for the measurements such as biceps size, body fat, etc." - }, - "percentValue": "{value} %", - "@percentValue": { - "description": "A value in percent, e.g. 10 %", - "type": "text", - "placeholders": { - "value": { - "type": "String" - } - } - }, - "carbohydrates": "Hidratos de carbono", - "@carbohydrates": {}, - "carbohydratesShort": "C", - "@carbohydratesShort": { - "description": "The first letter or short name of the word 'Carbohydrates', used in overviews" - }, - "sugars": "Açúcares", - "@sugars": {}, - "fat": "Gordura", - "@fat": {}, - "fatShort": "F", - "@fatShort": { - "description": "The first letter or short name of the word 'Fat', used in overviews" - }, - "fiber": "Fibras", - "@fiber": {}, - "sodium": "Sódio", - "@sodium": {}, - "amount": "Quantidade", - "@amount": { - "description": "The amount (e.g. in grams) of an ingredient in a meal" - }, - "unit": "Unidade", - "@unit": { - "description": "The unit used for a repetition (kg, time, etc.)" - }, - "newEntry": "Nova entrada", - "@newEntry": { - "description": "Title when adding a new entry such as a weight or log entry" - }, - "noMeasurementEntries": "Ainda não tens registos de medições", - "@noMeasurementEntries": {}, - "aboutDescription": "Obrigado por usares o wger! O wger é um projeto colaborativo de código aberto, feito por fãs de fitness de todo o mundo.", - "@aboutDescription": { - "description": "Text in the about dialog" - }, - "aboutDonateTitle": "Fazer um donativo", - "@aboutDonateTitle": {}, - "aboutDonateText": "Apesar de gratuito e assim continuará, manter o servidor tem custos! O desenvolvimento também exige muito tempo dos voluntários. A tua ajuda apoia diretamente estes custos.", - "@aboutDonateText": {}, - "aboutContributeTitle": "Contribuir", - "@aboutContributeTitle": {}, - "aboutContributeText": "Todos os tipos de contribuição são bem-vindos. Sejas programador, tradutor ou apenas apaixonado por fitness, toda a ajuda conta!", - "@aboutContributeText": {}, - "aboutBugsListTitle": "Reportar um problema ou sugerir uma funcionalidade", - "@aboutBugsListTitle": {}, - "aboutTranslationListTitle": "Traduzir a aplicação", - "@aboutTranslationListTitle": {}, - "aboutSourceListTitle": "Ver código-fonte", - "@aboutSourceListTitle": {}, - "aboutJoinCommunityTitle": "Junta-te à comunidade", - "@aboutJoinCommunityTitle": {}, - "aboutMastodonTitle": "Mastodon", - "@aboutMastodonTitle": {}, - "aboutDiscordTitle": "Discord", - "@aboutDiscordTitle": {}, - "others": "Outros", - "@others": {}, - "calendar": "Calendário", - "@calendar": {}, - "goToToday": "Ir para hoje", - "@goToToday": { - "description": "Label on button to jump back to 'today' in the calendar widget" - }, - "enterValue": "Introduz um valor", - "@enterValue": { - "description": "Error message when the user hasn't entered a value on a required field" - }, - "selectEntry": "Seleciona uma entrada", - "@selectEntry": {}, - "selectExercise": "Seleciona um exercício", - "@selectExercise": { - "description": "Error message when the user hasn't selected an exercise in the form" - }, - "enterCharacters": "Escreve entre {min} e {max} caracteres", - "@enterCharacters": { - "description": "Error message when the user hasn't entered the correct number of characters in a form", - "type": "text", - "placeholders": { - "min": { - "type": "String" - }, - "max": { - "type": "String" - } - } - }, - "enterMinCharacters": "Escreve pelo menos {min} caracteres", - "@enterMinCharacters": { - "description": "Error message when the user hasn't entered the minimum amount characters in a form", - "type": "text", - "placeholders": { - "min": { - "type": "String" - } - } - }, - "baseNameEnglish": "Todos os exercícios precisam de nome base em inglês", - "@baseNameEnglish": {}, - "nrOfSets": "Séries por exercício: {nrOfSets}", - "@nrOfSets": { - "description": "Label shown on the slider where the user selects the nr of sets", - "type": "text", - "placeholders": { - "nrOfSets": { - "type": "String" - } - } - }, - "optionsLabel": "Opções", - "@optionsLabel": { - "description": "Label for the popup with general app options" - }, - "takePicture": "Tirar foto", - "@takePicture": {}, - "chooseFromLibrary": "Escolher da galeria", - "@chooseFromLibrary": {}, - "gallery": "Galeria", - "@gallery": {}, - "addImage": "Adicionar imagem", - "@addImage": {}, - "appUpdateContent": "Esta versão da aplicação não é compatível com o servidor. Por favor, atualiza a aplicação.", - "@appUpdateContent": {}, - "productNotFoundDescription": "O produto com o código {barcode} não foi encontrado na base de dados wger", - "@productNotFoundDescription": { - "description": "Dialog info when product is not found with barcode", - "type": "text", - "placeholders": { - "barcode": { - "type": "String" - } - } - }, - "scanBarcode": "Ler código de barras", - "@scanBarcode": { - "description": "Label for scan barcode button" - }, - "close": "Fechar", - "@close": { - "description": "Translation for close" - }, - "add_exercise_image_license": "Imagens têm de ser compatíveis com a licença CC BY SA. Se tiveres dúvidas, usa apenas fotos tiradas por ti.", - "@add_exercise_image_license": {}, - "variations": "Variações", - "@variations": { - "description": "Variations of one exercise (e.g. benchpress and benchpress narrow)" - }, - "verifiedEmail": "E-mail verificado", - "@verifiedEmail": {}, - "verifiedEmailReason": "Tens de verificar o e-mail para poderes contribuir com exercícios", - "@verifiedEmailReason": {}, - "verifiedEmailInfo": "Foi enviado um e-mail de verificação para {email}", - "@verifiedEmailInfo": { - "placeholders": { - "email": { - "type": "String" - } - } - }, - "alternativeNames": "Nomes alternativos", - "@alternativeNames": {}, - "oneNamePerLine": "Um nome por linha", - "@oneNamePerLine": {}, - "whatVariationsExist": "Que variações deste exercício existem (se houver)?", - "@whatVariationsExist": {}, - "previous": "Anterior", - "@previous": {}, - "next": "Seguinte", - "@next": {}, - "images": "Imagens", - "@images": {}, - "language": "Idioma", - "@language": {}, - "addExercise": "Adicionar exercício", - "@addExercise": {}, - "fitInWeek": "Ajustar à semana", - "@fitInWeek": {}, - "toggleDetails": "Mostrar detalhes", - "@toggleDetails": { - "description": "Switch to toggle detail / overview" - }, - "edit": "Editar", - "@edit": {}, - "aboutWhySupportTitle": "Código aberto e gratuito ❤️", - "@aboutWhySupportTitle": {}, - "goToDetailPage": "Ir para a página de detalhes", - "@goToDetailPage": {}, - "productFound": "Produto encontrado", - "@productFound": { - "description": "Header label for dialog when product is found with barcode" - }, - "unVerifiedEmail": "E-mail não verificado", - "@unVerifiedEmail": {}, - "moreMeasurementEntries": "Adicionar nova medição", - "@moreMeasurementEntries": { - "description": "Message shown when the user wants to add new measurement" - }, - "selectIngredient": "Seleciona um ingrediente", - "@selectIngredient": { - "description": "Error message when the user hasn't selected an ingredient from the autocompleter" - }, - "newNutritionalPlan": "Novo plano nutricional", - "@newNutritionalPlan": {}, - "setUnitsAndRir": "Unidades de série e ReR", - "@setUnitsAndRir": { - "description": "Label shown on the slider where the user can toggle showing units and RiR", - "type": "text" - }, - "saturatedFat": "Gordura saturada", - "@saturatedFat": {}, - "selectImage": "Seleciona uma imagem", - "@selectImage": { - "description": "Label and error message when the user hasn't selected an image to save" - }, - "appUpdateTitle": "Atualização necessária", - "@appUpdateTitle": {}, - "noWeightEntries": "Ainda não tens registos de peso", - "@noWeightEntries": { - "description": "Message shown when the user has no logged weight entries" - }, - "confirmDelete": "Tens a certeza que queres eliminar '{toDelete}'?", - "@confirmDelete": { - "description": "Confirmation text before the user deletes an object", - "type": "text", - "placeholders": { - "toDelete": { - "type": "String" - } - } - }, - "recentlyUsedIngredients": "Ingredientes adicionados recentemente", - "@recentlyUsedIngredients": { - "description": "A message when a user adds a new ingredient to a meal." - }, - "loadingText": "A carregar...", - "@loadingText": { - "description": "Text to show when entries are being loaded in the background: Loading..." - }, - "delete": "Eliminar", - "@delete": {}, - "productNotFound": "Produto não encontrado", - "@productNotFound": { - "description": "Header label for dialog when product is not found with barcode" - }, - "enterValidNumber": "Introduz um número válido", - "@enterValidNumber": { - "description": "Error message when the user has submitted an invalid number (e.g. '3,.,.,.')" - }, - "dataCopied": "Dados copiados para nova entrada", - "@dataCopied": { - "description": "Snackbar message to show on copying data to a new log entry" - }, - "productFoundDescription": "O código de barras corresponde a este produto: {productName}. Queres continuar?", - "@productFoundDescription": { - "description": "Dialog info when product is found with barcode", - "type": "text", - "placeholders": { - "productName": { - "type": "String" - } - } - }, - "alsoKnownAs": "Também conhecido como: {aliases}", - "@alsoKnownAs": { - "placeholders": { - "aliases": { - "type": "String" - } + "login": "Iniciar sessão", + "@login": { + "description": "Text for login button" }, - "description": "List of alternative names for an exercise" - }, - "fitInWeekHelp": "Se ativado, os dias repetem-se semanalmente. Caso contrário, seguem-se em sequência sem respeitar o início da semana.", - "@fitInWeekHelp": {}, - "addSuperset": "Adicionar Superset", - "@addSuperset": {}, - "setHasProgression": "Série com progressão", - "@setHasProgression": {}, - "setHasProgressionWarning": "De momento não é possível editar todas as definições de uma série na app móvel ou configurar progressões automáticas. Usa a versão web.", - "@setHasProgressionWarning": {}, - "setHasNoExercises": "Esta série ainda não tem exercícios!", - "@setHasNoExercises": {}, - "contributeExercise": "Contribuir com um exercício", - "@contributeExercise": {}, - "translation": "Tradução", - "@translation": {}, - "translateExercise": "Traduz este exercício agora", - "@translateExercise": {}, - "baseData": "Básico em inglês", - "@baseData": { - "description": "The base data for an exercise such as category, trained muscles, etc." - }, - "settingsTitle": "Definições", - "@settingsTitle": {}, - "settingsCacheTitle": "Cache", - "@settingsCacheTitle": {}, - "settingsExerciseCacheDescription": "Cache de exercícios", - "@settingsExerciseCacheDescription": {}, - "settingsIngredientCacheDescription": "Cache de ingredientes", - "@settingsIngredientCacheDescription": {}, - "settingsCacheDeletedSnackbar": "Cache limpo com sucesso", - "@settingsCacheDeletedSnackbar": {}, - "aboutPageTitle": "Sobre nós & Apoio", - "@aboutPageTitle": {}, - "contributeExerciseWarning": "Só podes contribuir com exercícios se a tua conta tiver mais de {days} dias e e-mail verificado", - "@contributeExerciseWarning": { - "description": "Number of days before which a person can add exercise", - "placeholders": { - "days": { - "type": "String", - "example": "14" - } + "success": "Sucesso", + "@success": { + "description": "Message when an action completed successfully, usually used as a heading" + }, + "noMatchingExerciseFound": "Não foram encontrados exercícios", + "@noMatchingExerciseFound": { + "description": "Message returned if no exercises match the searched string" + }, + "labelDashboard": "Painel", + "@labelDashboard": { + "description": "Title for screen dashboard" + }, + "exercise": "Exercício", + "@exercise": { + "description": "An exercise for a workout" + }, + "usernameValidChars": "O nome de utilizador só pode conter letras, números e os caracteres @, +, ., - e _", + "@usernameValidChars": { + "description": "Error message when the user tries to register a username with forbidden characters" + }, + "searchNamesInEnglish": "Também procurar nomes em inglês", + "@searchNamesInEnglish": {}, + "useCustomServer": "Usar servidor personalizado", + "@useCustomServer": { + "description": "Toggle button allowing users to switch between the default and a custom wger server" + }, + "equipment": "Equipamento", + "@equipment": { + "description": "Equipment needed to perform an exercise" + }, + "userProfile": "O teu perfil", + "@userProfile": {}, + "register": "Registar", + "@register": { + "description": "Text for registration button" + }, + "comment": "Comentário", + "@comment": { + "description": "Comment, additional information" + }, + "customServerHint": "Introduz o endereço do teu próprio servidor, senão será usado o predefinido", + "@customServerHint": { + "description": "Hint text for the form where the users can enter their own wger instance" + }, + "useDefaultServer": "Usar servidor predefinido", + "@useDefaultServer": { + "description": "Toggle button allowing users to switch between the default and a custom wger server" + }, + "invalidUrl": "Introduz um URL válido", + "@invalidUrl": { + "description": "Error message when the user enters an invalid URL, e.g. in the login form" + }, + "passwordsDontMatch": "As palavras-passe não coincidem", + "@passwordsDontMatch": { + "description": "Error message when the user enters two different passwords during registration" + }, + "passwordTooShort": "A palavra-passe é demasiado curta", + "@passwordTooShort": { + "description": "Error message when the user a password that is too short" + }, + "selectAvailablePlates": "Selecionar discos disponíveis", + "@selectAvailablePlates": {}, + "barWeight": "Peso da barra", + "@barWeight": {}, + "useColors": "Usar cores", + "@useColors": {}, + "password": "Palavra-passe", + "@password": {}, + "confirmPassword": "Confirmar palavra-passe", + "@confirmPassword": {}, + "invalidEmail": "Introduz um e-mail válido", + "@invalidEmail": { + "description": "Error message when the user enters an invalid email" + }, + "email": "Endereço de e-mail", + "@email": {}, + "username": "Nome de utilizador", + "@username": {}, + "invalidUsername": "Introduz um nome de utilizador válido", + "@invalidUsername": { + "description": "Error message when the user enters an invalid username" + }, + "useApiToken": "Usar Token da API", + "@useApiToken": {}, + "useUsernameAndPassword": "Usar nome de utilizador e palavra-passe", + "@useUsernameAndPassword": {}, + "apiToken": "Token da API", + "@apiToken": {}, + "invalidApiToken": "Introduz uma chave API válida", + "@invalidApiToken": { + "description": "Error message when the user enters an invalid API key" + }, + "apiTokenValidChars": "Uma chave API só pode conter letras de a-f, números de 0-9 e ter exatamente 40 caracteres", + "@apiTokenValidChars": { + "description": "Error message when the user tries to input a API key with forbidden characters" + }, + "customServerUrl": "URL da instância wger", + "@customServerUrl": { + "description": "Label in the form where the users can enter their own wger instance" + }, + "reset": "Repor", + "@reset": { + "description": "Button text allowing the user to reset the entered values to the default" + }, + "registerInstead": "Ainda não tens conta? Regista-te agora", + "@registerInstead": {}, + "loginInstead": "Já tens conta? Inicia sessão", + "@loginInstead": {}, + "labelBottomNavWorkout": "Treino", + "@labelBottomNavWorkout": { + "description": "Label used in bottom navigation, use a short word" + }, + "labelBottomNavNutrition": "Nutrição", + "@labelBottomNavNutrition": { + "description": "Label used in bottom navigation, use a short word" + }, + "labelWorkoutLogs": "Registos de treino", + "@labelWorkoutLogs": { + "description": "(Workout) logs" + }, + "labelWorkoutPlan": "Plano de treino", + "@labelWorkoutPlan": { + "description": "Title for screen workout plan" + }, + "successfullyDeleted": "Eliminado", + "@successfullyDeleted": { + "description": "Message when an item was successfully deleted" + }, + "successfullySaved": "Guardado", + "@successfullySaved": { + "description": "Message when an item was successfully saved" + }, + "exerciseList": "Lista de exercícios", + "@exerciseList": {}, + "exercises": "Exercícios", + "@exercises": { + "description": "Multiple exercises for a workout" + }, + "exerciseName": "Nome do exercício", + "@exerciseName": { + "description": "Label for the name of a workout exercise" + }, + "searchExercise": "Procura um exercício para adicionar", + "@searchExercise": { + "description": "Label on set form. Selected exercises are added to the set" + }, + "muscles": "Músculos", + "@muscles": { + "description": "(main) muscles trained by an exercise" + }, + "musclesSecondary": "Músculos secundários", + "@musclesSecondary": { + "description": "secondary muscles trained by an exercise" + }, + "category": "Categoria", + "@category": { + "description": "Category for an exercise, ingredient, etc." + }, + "routines": "Rotinas", + "@routines": {}, + "newRoutine": "Nova rotina", + "@newRoutine": {}, + "noRoutines": "Ainda não tens rotinas", + "@noRoutines": {}, + "reps": "Repetições", + "@reps": { + "description": "Shorthand for repetitions, used when space constraints are tighter" + }, + "sets": "Séries", + "@sets": { + "description": "The number of sets to be done for one exercise" + }, + "rir": "Repetições em Reserva", + "@rir": { + "description": "Shorthand for Repetitions In Reserve" + }, + "restTime": "Tempo de descanso", + "@restTime": {}, + "rirNotUsed": "ReR não utilizado", + "@rirNotUsed": { + "description": "Label used in RiR slider when the RiR value is not used/saved for the current setting or log" + }, + "useMetric": "Usar unidades métricas para peso corporal", + "@useMetric": {}, + "weightUnit": "Unidade de peso", + "@weightUnit": {}, + "set": "Série", + "@set": { + "description": "A set in a workout plan" + }, + "needsLogsToAdvance": "Precisa de registos para avançar", + "@needsLogsToAdvance": {}, + "repetitionUnit": "Unidade de repetição", + "@repetitionUnit": {}, + "dayDescriptionHelp": "Descrição do que é feito neste dia (ex.: \"dia de puxar\") ou que músculos são treinados (ex.: \"peito e ombros\")", + "@dayDescriptionHelp": {}, + "exerciseNr": "Exercício {nr}", + "@exerciseNr": { + "description": "Header in form indicating the number of the current exercise. Can also be translated as something like 'Set Nr. xy'.", + "type": "text", + "placeholders": { + "nr": { + "type": "String" + } + } + }, + "supersetNr": "Superset {nr}", + "@supersetNr": { + "description": "Header in form indicating the number of the current exercise. Can also be translated as something like 'Superset Nr. xy'.", + "type": "text", + "placeholders": { + "nr": { + "type": "String" + } + } + }, + "sameRepetitions": "Se fizeres o mesmo número de repetições e peso em todas as séries, basta preencher uma linha. Por exemplo: para 4 séries de 10, escreve \"10\" e fica automaticamente \"4 x 10\".", + "@sameRepetitions": {}, + "impression": "Impressão", + "@impression": { + "description": "General impression (e.g. for a workout session) such as good, bad, etc." + }, + "notes": "Notas", + "@notes": { + "description": "Personal notes, e.g. for a workout session" + }, + "workoutSession": "Sessão de treino", + "@workoutSession": { + "description": "A (logged) workout session" + }, + "isRestDayHelp": "Nota que todas as séries e exercícios serão removidos se marcares o dia como descanso.", + "@isRestDayHelp": {}, + "restDay": "Dia de descanso", + "@restDay": {}, + "isRestDay": "É dia de descanso", + "@isRestDay": {}, + "selectExercises": "Se quiseres fazer um superset, podes procurar vários exercícios - eles serão agrupados", + "@selectExercises": {}, + "gymMode": "Modo ginásio", + "@gymMode": { + "description": "Label when starting the gym mode" + }, + "plateCalculator": "Discos", + "@plateCalculator": { + "description": "Label used for the plate calculator in the gym mode" + }, + "plateCalculatorNotDivisible": "Não é possível atingir o peso com os discos disponíveis", + "@plateCalculatorNotDivisible": { + "description": "Error message when the current weight is not reachable with plates (e.g. 33.1 kg)" + }, + "pause": "Pausa", + "@pause": { + "description": "Noun, not an imperative! Label used for the pause when using the gym mode" + }, + "jumpTo": "Ir para", + "@jumpTo": { + "description": "Imperative. Label used in popup allowing the user to jump to a specific exercise while in the gym mode" + }, + "todaysWorkout": "O teu treino de hoje", + "@todaysWorkout": {}, + "logHelpEntries": "Se houver várias entradas no mesmo dia com o mesmo número de repetições mas pesos diferentes, só aparece no gráfico a de maior peso.", + "@logHelpEntries": {}, + "logHelpEntriesUnits": "Apenas são mostradas entradas com unidade de peso (kg ou lb) e repetições, outras como tempo ou até falhar são ignoradas.", + "@logHelpEntriesUnits": {}, + "description": "Descrição", + "@description": {}, + "name": "Nome", + "@name": { + "description": "Name for a workout or nutritional plan" + }, + "save": "Guardar", + "@save": {}, + "verify": "Verificar", + "@verify": {}, + "addSet": "Adicionar série", + "@addSet": { + "description": "Label for the button that adds a set (to a workout day)" + }, + "addMeal": "Adicionar refeição", + "@addMeal": {}, + "mealLogged": "Refeição registada no diário", + "@mealLogged": {}, + "ingredientLogged": "Ingrediente registado no diário", + "@ingredientLogged": {}, + "logMeal": "Registar refeição no diário nutricional", + "@logMeal": {}, + "addIngredient": "Adicionar ingrediente", + "@addIngredient": {}, + "logIngredient": "Registar ingrediente no diário nutricional", + "@logIngredient": {}, + "searchIngredient": "Procurar ingrediente", + "@searchIngredient": { + "description": "Label on ingredient search form" + }, + "nutritionalPlan": "Plano nutricional", + "@nutritionalPlan": {}, + "nutritionalDiary": "Diário nutricional", + "@nutritionalDiary": {}, + "nutritionalPlans": "Planos nutricionais", + "@nutritionalPlans": {}, + "noNutritionalPlans": "Ainda não tens planos nutricionais", + "@noNutritionalPlans": { + "description": "Message shown when the user has no nutritional plans" + }, + "onlyLogging": "Registar apenas calorias", + "@onlyLogging": {}, + "onlyLoggingHelpText": "Marca esta opção se quiseres registar só as calorias, sem plano nutricional detalhado", + "@onlyLoggingHelpText": {}, + "goalMacro": "Objetivos de macronutrientes", + "@goalMacro": { + "description": "The goal for macronutrients" + }, + "selectMealToLog": "Seleciona uma refeição para registar no diário", + "@selectMealToLog": {}, + "yourCurrentNutritionPlanHasNoMealsDefinedYet": "O teu plano nutricional atual não tem refeições definidas", + "@yourCurrentNutritionPlanHasNoMealsDefinedYet": { + "description": "Message shown when a nutrition plan doesn't have any meals" + }, + "toAddMealsToThePlanGoToNutritionalPlanDetails": "Para adicionar refeições ao plano, vai aos detalhes do plano nutricional", + "@toAddMealsToThePlanGoToNutritionalPlanDetails": { + "description": "Message shown to guide users to the nutritional plan details page to add meals" + }, + "goalEnergy": "Objetivo energético", + "@goalEnergy": {}, + "goalProtein": "Objetivo de proteína", + "@goalProtein": {}, + "goalCarbohydrates": "Objetivo de hidratos de carbono", + "@goalCarbohydrates": {}, + "goalFat": "Objetivo de gordura", + "@goalFat": {}, + "goalFiber": "Objetivo de fibra", + "@goalFiber": {}, + "anErrorOccurred": "Ocorreu um erro!", + "@anErrorOccurred": {}, + "errorInfoDescription": "Lamentamos, algo correu mal. Podes ajudar a corrigir isto ao reportar o problema no GitHub.", + "@errorInfoDescription": {}, + "errorInfoDescription2": "Podes continuar a usar a app, mas algumas funcionalidades podem não funcionar.", + "@errorInfoDescription2": {}, + "errorViewDetails": "Detalhes técnicos", + "@errorViewDetails": {}, + "errorCouldNotConnectToServer": "Não foi possível ligar ao servidor", + "@errorCouldNotConnectToServer": {}, + "copyToClipboard": "Copiar para a área de transferência", + "@copyToClipboard": {}, + "weight": "Peso", + "@weight": { + "description": "The weight of a workout log or body weight entry" + }, + "min": "Mín", + "@min": {}, + "max": "Máx", + "@max": {}, + "chartAllTimeTitle": "{name} total", + "@chartAllTimeTitle": { + "description": "All-time chart of 'name' (e.g. 'weight', 'body fat' etc.)", + "type": "text", + "placeholders": { + "name": { + "type": "String" + } + } + }, + "chart30DaysTitle": "{name} últimos 30 dias", + "@chart30DaysTitle": { + "description": "last 30 days chart of 'name' (e.g. 'weight', 'body fat' etc.)", + "type": "text", + "placeholders": { + "name": { + "type": "String" + } + } + }, + "chartDuringPlanTitle": "{chartName} durante o plano nutricional {planName}", + "@chartDuringPlanTitle": { + "description": "chart of 'chartName' (e.g. 'weight', 'body fat' etc.) logged during plan", + "type": "text", + "placeholders": { + "chartName": { + "type": "String" + }, + "planName": { + "type": "String" + } + } + }, + "measurement": "Medição", + "@measurement": {}, + "measurementCategoriesHelpText": "Categoria de medição, como 'bíceps' ou 'gordura corporal'", + "@measurementCategoriesHelpText": {}, + "measurementEntriesHelpText": "Unidade usada para medir, como 'cm' ou '%'", + "@measurementEntriesHelpText": {}, + "date": "Data", + "@date": { + "description": "The date of a workout log or body weight entry" + }, + "value": "Valor", + "@value": { + "description": "The value of a measurement entry" + }, + "time": "Hora", + "@time": { + "description": "The time of a meal or workout" + }, + "timeStart": "Hora de início", + "@timeStart": { + "description": "The starting time of a workout" + }, + "timeEnd": "Hora de fim", + "@timeEnd": { + "description": "The end time of a workout" + }, + "timeStartAhead": "Hora de início não pode ser depois da hora de fim", + "@timeStartAhead": {}, + "ingredient": "Ingrediente", + "@ingredient": {}, + "energy": "Energia", + "@energy": { + "description": "Energy in a meal, ingredient etc. e.g. in kJ" + }, + "planned": "Planeado", + "@planned": { + "description": "Header for the column of 'planned' nutritional values, i.e. what should be eaten" + }, + "logged": "Registado", + "@logged": { + "description": "Header for the column of 'logged' nutritional values, i.e. what was eaten" + }, + "today": "Hoje", + "@today": {}, + "loggedToday": "Registado hoje", + "@loggedToday": {}, + "weekAverage": "Média de 7 dias", + "@weekAverage": { + "description": "Header for the column of '7 day average' nutritional values, i.e. what was logged last week" + }, + "surplus": "excedente", + "@surplus": { + "description": "Caloric surplus (either planned or unplanned)" + }, + "deficit": "défice", + "@deficit": { + "description": "Caloric deficit (either planned or unplanned)" + }, + "difference": "Diferença", + "@difference": {}, + "percentEnergy": "Percentagem da energia", + "@percentEnergy": {}, + "gPerBodyKg": "g por kg de corpo", + "@gPerBodyKg": { + "description": "Label used for total sums of e.g. calories or similar in grams per Kg of body weight" + }, + "total": "Total", + "@total": { + "description": "Label used for total sums of e.g. calories or similar" + }, + "kcal": "kcal", + "@kcal": { + "description": "Energy in a meal in kilocalories, kcal" + }, + "kJ": "kJ", + "@kJ": { + "description": "Energy in a meal in kilo joules, kJ" + }, + "g": "g", + "@g": { + "description": "Abbreviation for gram" + }, + "gValue": "{value} g", + "@gValue": { + "description": "A value in grams, e.g. 5 g", + "type": "text", + "placeholders": { + "value": { + "type": "String" + } + } + }, + "logout": "Terminar sessão", + "@logout": { + "description": "Text for logout button" + }, + "noIngredientsDefined": "Ainda não há ingredientes definidos", + "@noIngredientsDefined": {}, + "routineDays": "Dias na rotina", + "@routineDays": {}, + "newDay": "Novo dia", + "@newDay": {}, + "newSet": "Nova série", + "@newSet": { + "description": "Header when adding a new set to a workout day" + }, + "kcalValue": "{value} kcal", + "@kcalValue": { + "description": "A value in kcal, e.g. 500 kcal", + "type": "text", + "placeholders": { + "value": { + "type": "String" + } + } + }, + "protein": "Proteína", + "@protein": {}, + "resultingRoutine": "Rotina resultante", + "@resultingRoutine": {}, + "errorCouldNotConnectToServerDetails": "A aplicação não conseguiu ligar ao servidor. Verifica a ligação à internet ou o URL do servidor e tenta outra vez. Se continuar, contacta o administrador do servidor.", + "@errorCouldNotConnectToServerDetails": {}, + "needsLogsToAdvanceHelp": "Seleciona se queres que a rotina avance para o próximo dia apenas se registares um treino", + "@needsLogsToAdvanceHelp": {}, + "start": "Início", + "@start": { + "description": "Label on button to start the gym mode (i.e., an imperative)" + }, + "energyShort": "E", + "@energyShort": { + "description": "The first letter or short name of the word 'Energy', used in overviews" + }, + "macronutrients": "Macronutrientes", + "@macronutrients": {}, + "proteinShort": "P", + "@proteinShort": { + "description": "The first letter or short name of the word 'Protein', used in overviews" + }, + "measurements": "Medições", + "@measurements": { + "description": "Categories for the measurements such as biceps size, body fat, etc." + }, + "percentValue": "{value} %", + "@percentValue": { + "description": "A value in percent, e.g. 10 %", + "type": "text", + "placeholders": { + "value": { + "type": "String" + } + } + }, + "carbohydrates": "Hidratos de carbono", + "@carbohydrates": {}, + "carbohydratesShort": "C", + "@carbohydratesShort": { + "description": "The first letter or short name of the word 'Carbohydrates', used in overviews" + }, + "sugars": "Açúcares", + "@sugars": {}, + "fat": "Gordura", + "@fat": {}, + "fatShort": "F", + "@fatShort": { + "description": "The first letter or short name of the word 'Fat', used in overviews" + }, + "fiber": "Fibras", + "@fiber": {}, + "sodium": "Sódio", + "@sodium": {}, + "amount": "Quantidade", + "@amount": { + "description": "The amount (e.g. in grams) of an ingredient in a meal" + }, + "unit": "Unidade", + "@unit": { + "description": "The unit used for a repetition (kg, time, etc.)" + }, + "newEntry": "Nova entrada", + "@newEntry": { + "description": "Title when adding a new entry such as a weight or log entry" + }, + "noMeasurementEntries": "Ainda não tens registos de medições", + "@noMeasurementEntries": {}, + "aboutDescription": "Obrigado por usares o wger! O wger é um projeto colaborativo de código aberto, feito por fãs de fitness de todo o mundo.", + "@aboutDescription": { + "description": "Text in the about dialog" + }, + "aboutDonateTitle": "Fazer um donativo", + "@aboutDonateTitle": {}, + "aboutDonateText": "Apesar de gratuito e assim continuará, manter o servidor tem custos! O desenvolvimento também exige muito tempo dos voluntários. A tua ajuda apoia diretamente estes custos.", + "@aboutDonateText": {}, + "aboutContributeTitle": "Contribuir", + "@aboutContributeTitle": {}, + "aboutContributeText": "Todos os tipos de contribuição são bem-vindos. Sejas programador, tradutor ou apenas apaixonado por fitness, toda a ajuda conta!", + "@aboutContributeText": {}, + "aboutBugsListTitle": "Reportar um problema ou sugerir uma funcionalidade", + "@aboutBugsListTitle": {}, + "aboutTranslationListTitle": "Traduzir a aplicação", + "@aboutTranslationListTitle": {}, + "aboutSourceListTitle": "Ver código-fonte", + "@aboutSourceListTitle": {}, + "aboutJoinCommunityTitle": "Junta-te à comunidade", + "@aboutJoinCommunityTitle": {}, + "aboutMastodonTitle": "Mastodon", + "@aboutMastodonTitle": {}, + "aboutDiscordTitle": "Discord", + "@aboutDiscordTitle": {}, + "others": "Outros", + "@others": {}, + "calendar": "Calendário", + "@calendar": {}, + "goToToday": "Ir para hoje", + "@goToToday": { + "description": "Label on button to jump back to 'today' in the calendar widget" + }, + "enterValue": "Introduz um valor", + "@enterValue": { + "description": "Error message when the user hasn't entered a value on a required field" + }, + "selectEntry": "Seleciona uma entrada", + "@selectEntry": {}, + "selectExercise": "Seleciona um exercício", + "@selectExercise": { + "description": "Error message when the user hasn't selected an exercise in the form" + }, + "enterCharacters": "Escreve entre {min} e {max} caracteres", + "@enterCharacters": { + "description": "Error message when the user hasn't entered the correct number of characters in a form", + "type": "text", + "placeholders": { + "min": { + "type": "String" + }, + "max": { + "type": "String" + } + } + }, + "enterMinCharacters": "Escreve pelo menos {min} caracteres", + "@enterMinCharacters": { + "description": "Error message when the user hasn't entered the minimum amount characters in a form", + "type": "text", + "placeholders": { + "min": { + "type": "String" + } + } + }, + "baseNameEnglish": "Todos os exercícios precisam de nome base em inglês", + "@baseNameEnglish": {}, + "nrOfSets": "Séries por exercício: {nrOfSets}", + "@nrOfSets": { + "description": "Label shown on the slider where the user selects the nr of sets", + "type": "text", + "placeholders": { + "nrOfSets": { + "type": "String" + } + } + }, + "optionsLabel": "Opções", + "@optionsLabel": { + "description": "Label for the popup with general app options" + }, + "takePicture": "Tirar foto", + "@takePicture": {}, + "chooseFromLibrary": "Escolher da galeria", + "@chooseFromLibrary": {}, + "gallery": "Galeria", + "@gallery": {}, + "addImage": "Adicionar imagem", + "@addImage": {}, + "appUpdateContent": "Esta versão da aplicação não é compatível com o servidor. Por favor, atualiza a aplicação.", + "@appUpdateContent": {}, + "productNotFoundDescription": "O produto com o código {barcode} não foi encontrado na base de dados wger", + "@productNotFoundDescription": { + "description": "Dialog info when product is not found with barcode", + "type": "text", + "placeholders": { + "barcode": { + "type": "String" + } + } + }, + "scanBarcode": "Ler código de barras", + "@scanBarcode": { + "description": "Label for scan barcode button" + }, + "close": "Fechar", + "@close": { + "description": "Translation for close" + }, + "add_exercise_image_license": "Imagens têm de ser compatíveis com a licença CC BY SA. Se tiveres dúvidas, usa apenas fotos tiradas por ti.", + "@add_exercise_image_license": {}, + "variations": "Variações", + "@variations": { + "description": "Variations of one exercise (e.g. benchpress and benchpress narrow)" + }, + "verifiedEmail": "E-mail verificado", + "@verifiedEmail": {}, + "verifiedEmailReason": "Tens de verificar o e-mail para poderes contribuir com exercícios", + "@verifiedEmailReason": {}, + "verifiedEmailInfo": "Foi enviado um e-mail de verificação para {email}", + "@verifiedEmailInfo": { + "placeholders": { + "email": { + "type": "String" + } + } + }, + "alternativeNames": "Nomes alternativos", + "@alternativeNames": {}, + "oneNamePerLine": "Um nome por linha", + "@oneNamePerLine": {}, + "whatVariationsExist": "Que variações deste exercício existem (se houver)?", + "@whatVariationsExist": {}, + "previous": "Anterior", + "@previous": {}, + "next": "Seguinte", + "@next": {}, + "images": "Imagens", + "@images": {}, + "language": "Idioma", + "@language": {}, + "addExercise": "Adicionar exercício", + "@addExercise": {}, + "fitInWeek": "Ajustar à semana", + "@fitInWeek": {}, + "toggleDetails": "Mostrar detalhes", + "@toggleDetails": { + "description": "Switch to toggle detail / overview" + }, + "edit": "Editar", + "@edit": {}, + "aboutWhySupportTitle": "Código aberto e gratuito ❤️", + "@aboutWhySupportTitle": {}, + "goToDetailPage": "Ir para a página de detalhes", + "@goToDetailPage": {}, + "productFound": "Produto encontrado", + "@productFound": { + "description": "Header label for dialog when product is found with barcode" + }, + "unVerifiedEmail": "E-mail não verificado", + "@unVerifiedEmail": {}, + "moreMeasurementEntries": "Adicionar nova medição", + "@moreMeasurementEntries": { + "description": "Message shown when the user wants to add new measurement" + }, + "selectIngredient": "Seleciona um ingrediente", + "@selectIngredient": { + "description": "Error message when the user hasn't selected an ingredient from the autocompleter" + }, + "newNutritionalPlan": "Novo plano nutricional", + "@newNutritionalPlan": {}, + "setUnitsAndRir": "Unidades de série e ReR", + "@setUnitsAndRir": { + "description": "Label shown on the slider where the user can toggle showing units and RiR", + "type": "text" + }, + "saturatedFat": "Gordura saturada", + "@saturatedFat": {}, + "selectImage": "Seleciona uma imagem", + "@selectImage": { + "description": "Label and error message when the user hasn't selected an image to save" + }, + "appUpdateTitle": "Atualização necessária", + "@appUpdateTitle": {}, + "noWeightEntries": "Ainda não tens registos de peso", + "@noWeightEntries": { + "description": "Message shown when the user has no logged weight entries" + }, + "confirmDelete": "Tens a certeza que queres eliminar '{toDelete}'?", + "@confirmDelete": { + "description": "Confirmation text before the user deletes an object", + "type": "text", + "placeholders": { + "toDelete": { + "type": "String" + } + } + }, + "recentlyUsedIngredients": "Ingredientes adicionados recentemente", + "@recentlyUsedIngredients": { + "description": "A message when a user adds a new ingredient to a meal." + }, + "loadingText": "A carregar...", + "@loadingText": { + "description": "Text to show when entries are being loaded in the background: Loading..." + }, + "delete": "Eliminar", + "@delete": {}, + "productNotFound": "Produto não encontrado", + "@productNotFound": { + "description": "Header label for dialog when product is not found with barcode" + }, + "enterValidNumber": "Introduz um número válido", + "@enterValidNumber": { + "description": "Error message when the user has submitted an invalid number (e.g. '3,.,.,.')" + }, + "dataCopied": "Dados copiados para nova entrada", + "@dataCopied": { + "description": "Snackbar message to show on copying data to a new log entry" + }, + "productFoundDescription": "O código de barras corresponde a este produto: {productName}. Queres continuar?", + "@productFoundDescription": { + "description": "Dialog info when product is found with barcode", + "type": "text", + "placeholders": { + "productName": { + "type": "String" + } + } + }, + "alsoKnownAs": "Também conhecido como: {aliases}", + "@alsoKnownAs": { + "placeholders": { + "aliases": { + "type": "String" + } + }, + "description": "List of alternative names for an exercise" + }, + "fitInWeekHelp": "Se ativado, os dias repetem-se semanalmente. Caso contrário, seguem-se em sequência sem respeitar o início da semana.", + "@fitInWeekHelp": {}, + "addSuperset": "Adicionar Superset", + "@addSuperset": {}, + "setHasProgression": "Série com progressão", + "@setHasProgression": {}, + "setHasProgressionWarning": "De momento não é possível editar todas as definições de uma série na app móvel ou configurar progressões automáticas. Usa a versão web.", + "@setHasProgressionWarning": {}, + "setHasNoExercises": "Esta série ainda não tem exercícios!", + "@setHasNoExercises": {}, + "contributeExercise": "Contribuir com um exercício", + "@contributeExercise": {}, + "translation": "Tradução", + "@translation": {}, + "translateExercise": "Traduz este exercício agora", + "@translateExercise": {}, + "baseData": "Básico em inglês", + "@baseData": { + "description": "The base data for an exercise such as category, trained muscles, etc." + }, + "settingsTitle": "Definições", + "@settingsTitle": {}, + "settingsCacheTitle": "Cache", + "@settingsCacheTitle": {}, + "settingsExerciseCacheDescription": "Cache de exercícios", + "@settingsExerciseCacheDescription": {}, + "settingsIngredientCacheDescription": "Cache de ingredientes", + "@settingsIngredientCacheDescription": {}, + "settingsCacheDeletedSnackbar": "Cache limpo com sucesso", + "@settingsCacheDeletedSnackbar": {}, + "aboutPageTitle": "Sobre nós & Apoio", + "@aboutPageTitle": {}, + "contributeExerciseWarning": "Só podes contribuir com exercícios se a tua conta tiver mais de {days} dias e e-mail verificado", + "@contributeExerciseWarning": { + "description": "Number of days before which a person can add exercise", + "placeholders": { + "days": { + "type": "String", + "example": "14" + } + } + }, + "simpleMode": "Modo simples", + "@simpleMode": {}, + "simpleModeHelp": "Esconder opções mais avançadas ao editar exercícios", + "@simpleModeHelp": {}, + "progressionRules": "Este exercício tem regras de progressão e não pode ser editado na app. Usa a versão web para o editar.", + "@progressionRules": {}, + "cacheWarning": "Por causa da cache, pode demorar um pouco até veres as alterações na app.", + "@cacheWarning": {}, + "textPromptTitle": "Pronto para começar?", + "@textPromptTitle": {}, + "textPromptSubheading": "Clica no botão de ação para começar", + "@textPromptSubheading": {}, + "abs": "Abdominais", + "@abs": { + "description": "Generated entry for translation for server strings" + }, + "arms": "Braços", + "@arms": { + "description": "Generated entry for translation for server strings" + }, + "back": "Costas", + "@back": { + "description": "Generated entry for translation for server strings" + }, + "barbell": "Barra olímpica", + "@barbell": { + "description": "Generated entry for translation for server strings" + }, + "bench": "Banco", + "@bench": { + "description": "Generated entry for translation for server strings" + }, + "biceps": "Bíceps", + "@biceps": { + "description": "Generated entry for translation for server strings" + }, + "body_weight": "Peso corporal", + "@body_weight": { + "description": "Generated entry for translation for server strings" + }, + "calves": "Gémeos", + "@calves": { + "description": "Generated entry for translation for server strings" + }, + "cardio": "Cardio", + "@cardio": { + "description": "Generated entry for translation for server strings" + }, + "chest": "Peito", + "@chest": { + "description": "Generated entry for translation for server strings" + }, + "dumbbell": "Halteres", + "@dumbbell": { + "description": "Generated entry for translation for server strings" + }, + "glutes": "Glúteos", + "@glutes": { + "description": "Generated entry for translation for server strings" + }, + "gym_mat": "Tapete de ginásio", + "@gym_mat": { + "description": "Generated entry for translation for server strings" + }, + "hamstrings": "Isquiotibiais", + "@hamstrings": { + "description": "Generated entry for translation for server strings" + }, + "incline_bench": "Banco inclinado", + "@incline_bench": { + "description": "Generated entry for translation for server strings" + }, + "kettlebell": "Kettlebell", + "@kettlebell": { + "description": "Generated entry for translation for server strings" + }, + "kilometers": "Quilómetros", + "@kilometers": { + "description": "Generated entry for translation for server strings" + }, + "kilometers_per_hour": "Km/h", + "@kilometers_per_hour": { + "description": "Generated entry for translation for server strings" + }, + "lats": "Dorsais", + "@lats": { + "description": "Generated entry for translation for server strings" + }, + "legs": "Pernas", + "@legs": { + "description": "Generated entry for translation for server strings" + }, + "lower_back": "Zona lombar", + "@lower_back": { + "description": "Generated entry for translation for server strings" + }, + "max_reps": "Repetições máximas", + "@max_reps": { + "description": "Generated entry for translation for server strings" + }, + "miles": "Milhas", + "@miles": { + "description": "Generated entry for translation for server strings" + }, + "miles_per_hour": "Mi/h", + "@miles_per_hour": { + "description": "Generated entry for translation for server strings" + }, + "minutes": "Minutos", + "@minutes": { + "description": "Generated entry for translation for server strings" + }, + "plates": "Discos", + "@plates": { + "description": "Generated entry for translation for server strings" + }, + "pull_up_bar": "Barra de elevações", + "@pull_up_bar": { + "description": "Generated entry for translation for server strings" + }, + "quads": "Quadríceps", + "@quads": { + "description": "Generated entry for translation for server strings" + }, + "repetitions": "Repetições", + "@repetitions": { + "description": "Generated entry for translation for server strings" + }, + "resistance_band": "Banda de resistência", + "@resistance_band": { + "description": "Generated entry for translation for server strings" + }, + "sz_bar": "Barra SZ", + "@sz_bar": { + "description": "Generated entry for translation for server strings" + }, + "seconds": "Segundos", + "@seconds": { + "description": "Generated entry for translation for server strings" + }, + "shoulders": "Ombros", + "@shoulders": { + "description": "Generated entry for translation for server strings" + }, + "swiss_ball": "Bola suíça", + "@swiss_ball": { + "description": "Generated entry for translation for server strings" + }, + "triceps": "Tríceps", + "@triceps": { + "description": "Generated entry for translation for server strings" + }, + "until_failure": "Até falhar", + "@until_failure": { + "description": "Generated entry for translation for server strings" + }, + "kg": "kg", + "@kg": { + "description": "Generated entry for translation for server strings" + }, + "lb": "lb", + "@lb": { + "description": "Generated entry for translation for server strings" + }, + "none__bodyweight_exercise_": "nenhum (exercício com peso corporal)", + "@none__bodyweight_exercise_": { + "description": "Generated entry for translation for server strings" + }, + "log": "Registar", + "@log": { + "description": "Log a specific meal (imperative form)" + }, + "done": "Concluído", + "@done": {}, + "overallChangeWeight": "Alteração total", + "@overallChangeWeight": { + "description": "Overall change in weight, added for localization" + }, + "goalTypeMeals": "Das refeições", + "@goalTypeMeals": { + "description": "added for localization of Class GoalType's filed meals" + }, + "goalTypeBasic": "Básico", + "@goalTypeBasic": { + "description": "added for localization of Class GoalType's filed basic" + }, + "goalTypeAdvanced": "Avançado", + "@goalTypeAdvanced": { + "description": "added for localization of Class GoalType's filed advanced" + }, + "indicatorRaw": "cru", + "@indicatorRaw": { + "description": "added for localization of Class Indicator's field text" + }, + "indicatorAvg": "média", + "@indicatorAvg": { + "description": "added for localization of Class Indicator's field text" + }, + "themeMode": "Modo de tema", + "@themeMode": {}, + "darkMode": "Modo escuro sempre", + "@darkMode": {}, + "lightMode": "Modo claro sempre", + "@lightMode": {}, + "systemMode": "Usar definições do sistema", + "@systemMode": {}, + "endDate": "Data de término", + "@endDate": { + "description": "The End date of a nutritional plan" + }, + "startDate": "Data de início", + "@startDate": {}, + "applicationLogs": "Registos da aplicação", + "@applicationLogs": {}, + "creationDate": "Data de início", + "@creationDate": { + "description": "The Start date of a nutritional plan" + }, + "openEnded": "Sem fim definido", + "@openEnded": { + "description": "When a nutrition plan has no pre-defined end date" } - }, - "simpleMode": "Modo simples", - "@simpleMode": {}, - "simpleModeHelp": "Esconder opções mais avançadas ao editar exercícios", - "@simpleModeHelp": {}, - "progressionRules": "Este exercício tem regras de progressão e não pode ser editado na app. Usa a versão web para o editar.", - "@progressionRules": {}, - "cacheWarning": "Por causa da cache, pode demorar um pouco até veres as alterações na app.", - "@cacheWarning": {}, - "textPromptTitle": "Pronto para começar?", - "@textPromptTitle": {}, - "textPromptSubheading": "Clica no botão de ação para começar", - "@textPromptSubheading": {}, - "abs": "Abdominais", - "@abs": { - "description": "Generated entry for translation for server strings" - }, - "arms": "Braços", - "@arms": { - "description": "Generated entry for translation for server strings" - }, - "back": "Costas", - "@back": { - "description": "Generated entry for translation for server strings" - }, - "barbell": "Barra olímpica", - "@barbell": { - "description": "Generated entry for translation for server strings" - }, - "bench": "Banco", - "@bench": { - "description": "Generated entry for translation for server strings" - }, - "biceps": "Bíceps", - "@biceps": { - "description": "Generated entry for translation for server strings" - }, - "body_weight": "Peso corporal", - "@body_weight": { - "description": "Generated entry for translation for server strings" - }, - "calves": "Gémeos", - "@calves": { - "description": "Generated entry for translation for server strings" - }, - "cardio": "Cardio", - "@cardio": { - "description": "Generated entry for translation for server strings" - }, - "chest": "Peito", - "@chest": { - "description": "Generated entry for translation for server strings" - }, - "dumbbell": "Halteres", - "@dumbbell": { - "description": "Generated entry for translation for server strings" - }, - "glutes": "Glúteos", - "@glutes": { - "description": "Generated entry for translation for server strings" - }, - "gym_mat": "Tapete de ginásio", - "@gym_mat": { - "description": "Generated entry for translation for server strings" - }, - "hamstrings": "Isquiotibiais", - "@hamstrings": { - "description": "Generated entry for translation for server strings" - }, - "incline_bench": "Banco inclinado", - "@incline_bench": { - "description": "Generated entry for translation for server strings" - }, - "kettlebell": "Kettlebell", - "@kettlebell": { - "description": "Generated entry for translation for server strings" - }, - "kilometers": "Quilómetros", - "@kilometers": { - "description": "Generated entry for translation for server strings" - }, - "kilometers_per_hour": "Km/h", - "@kilometers_per_hour": { - "description": "Generated entry for translation for server strings" - }, - "lats": "Dorsais", - "@lats": { - "description": "Generated entry for translation for server strings" - }, - "legs": "Pernas", - "@legs": { - "description": "Generated entry for translation for server strings" - }, - "lower_back": "Zona lombar", - "@lower_back": { - "description": "Generated entry for translation for server strings" - }, - "max_reps": "Repetições máximas", - "@max_reps": { - "description": "Generated entry for translation for server strings" - }, - "miles": "Milhas", - "@miles": { - "description": "Generated entry for translation for server strings" - }, - "miles_per_hour": "Mi/h", - "@miles_per_hour": { - "description": "Generated entry for translation for server strings" - }, - "minutes": "Minutos", - "@minutes": { - "description": "Generated entry for translation for server strings" - }, - "plates": "Discos", - "@plates": { - "description": "Generated entry for translation for server strings" - }, - "pull_up_bar": "Barra de elevações", - "@pull_up_bar": { - "description": "Generated entry for translation for server strings" - }, - "quads": "Quadríceps", - "@quads": { - "description": "Generated entry for translation for server strings" - }, - "repetitions": "Repetições", - "@repetitions": { - "description": "Generated entry for translation for server strings" - }, - "resistance_band": "Banda de resistência", - "@resistance_band": { - "description": "Generated entry for translation for server strings" - }, - "sz_bar": "Barra SZ", - "@sz_bar": { - "description": "Generated entry for translation for server strings" - }, - "seconds": "Segundos", - "@seconds": { - "description": "Generated entry for translation for server strings" - }, - "shoulders": "Ombros", - "@shoulders": { - "description": "Generated entry for translation for server strings" - }, - "swiss_ball": "Bola suíça", - "@swiss_ball": { - "description": "Generated entry for translation for server strings" - }, - "triceps": "Tríceps", - "@triceps": { - "description": "Generated entry for translation for server strings" - }, - "until_failure": "Até falhar", - "@until_failure": { - "description": "Generated entry for translation for server strings" - }, - "kg": "kg", - "@kg": { - "description": "Generated entry for translation for server strings" - }, - "lb": "lb", - "@lb": { - "description": "Generated entry for translation for server strings" - }, - "none__bodyweight_exercise_": "nenhum (exercício com peso corporal)", - "@none__bodyweight_exercise_": { - "description": "Generated entry for translation for server strings" - }, - "log": "Registar", - "@log": { - "description": "Log a specific meal (imperative form)" - }, - "done": "Concluído", - "@done": {}, - "overallChangeWeight": "Alteração total", - "@overallChangeWeight": { - "description": "Overall change in weight, added for localization" - }, - "goalTypeMeals": "Das refeições", - "@goalTypeMeals": { - "description": "added for localization of Class GoalType's filed meals" - }, - "goalTypeBasic": "Básico", - "@goalTypeBasic": { - "description": "added for localization of Class GoalType's filed basic" - }, - "goalTypeAdvanced": "Avançado", - "@goalTypeAdvanced": { - "description": "added for localization of Class GoalType's filed advanced" - }, - "indicatorRaw": "cru", - "@indicatorRaw": { - "description": "added for localization of Class Indicator's field text" - }, - "indicatorAvg": "média", - "@indicatorAvg": { - "description": "added for localization of Class Indicator's field text" - }, - "themeMode": "Modo de tema", - "@themeMode": {}, - "darkMode": "Modo escuro sempre", - "@darkMode": {}, - "lightMode": "Modo claro sempre", - "@lightMode": {}, - "systemMode": "Usar definições do sistema", - "@systemMode": {} }