Files
pluriwave/lib/l10n/app_pt.arb
T
FreeTLab aa0b242374 feat(iap): add freemium unlock via one-time in-app purchase
Adds a permanent, non-consumable premium unlock (EstadoEntitlement +
PuertoCompras/ServicioComprasPlayBilling) that removes ads and unlocks
alarm vacations, alarms past a 5-alarm free cap, recording start, and
full Android Auto browsing. The phone equalizer stays free for everyone.

- Entitlement is prefs-backed (compra_premium_v1), fail-open, and
  resolvable headlessly via esPremiumPersistido() for the Android Auto
  audio handler, which registers before runApp.
- Android Auto reduced mode keeps the real root folder labels for free
  users; browsing into any of them (and playFromMediaId/playFromSearch/
  skipToNext/skipToPrevious) is blocked at the getChildren/servicio_audio
  choke points, with a locked "Función Premium" item as the backstop.
  Current-station play/pause/stop stays untouched. A free -> premium
  transition actively invalidates the head unit's cached browse tree.
- Ads (top banner + capped interstitial before adding a station or an
  alarm) are gated behind entitlement via ServicioAnuncios, using
  official Google test ad unit IDs pending AdMob provisioning.
- Alarm cap UX shows an explanatory message with a secondary unlock
  action rather than a bare paywall jump; existing data is grandfathered.
- 4 new localization keys translated across all 13 supported locales.

Co-located tests use strict TDD (RED test before implementation) for
every new pure-logic unit; full existing suite passes unchanged.
2026-08-10 20:37:07 +02:00

906 lines
36 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"@@locale": "pt",
"appTitle": "PluriWave",
"navHome": "Ouvir",
"navSearch": "Buscar",
"navFavorites": "Favoritos",
"navAlarms": "Alarmes",
"navSettings": "Configurações",
"actionOk": "OK",
"sleepTimer": "Timer de sono",
"sleepTimerDescription": "Desligamento suave da rádio com contagem regressiva exata.",
"cancelTimer": "Cancelar timer",
"optionOther": "Outro",
"customDurationTitle": "Duração personalizada",
"durationGreaterThanZero": "Escolha uma duração maior que zero.",
"hoursLabel": "Horas",
"minutesLabel": "Minutos",
"secondsLabel": "Segundos",
"durationHoursMinutesSeconds": "{hours} h {minutes} min {seconds} s",
"@durationHoursMinutesSeconds": {
"placeholders": {
"hours": {},
"minutes": {},
"seconds": {}
}
},
"durationMinutesSeconds": "{minutes} min {seconds} s",
"@durationMinutesSeconds": {
"placeholders": {
"minutes": {},
"seconds": {}
}
},
"durationMinutesOnly": "{minutes} min",
"@durationMinutesOnly": {
"placeholders": {
"minutes": {}
}
},
"durationSecondsOnly": "{seconds} s",
"@durationSecondsOnly": {
"placeholders": {
"seconds": {}
}
},
"saveQuickAccess": "Salvar como acesso rápido",
"startTimer": "Iniciar timer",
"skipCurrentAlarmExecution": "Esta execução de {alarmName} foi ignorada.",
"@skipCurrentAlarmExecution": {
"placeholders": {
"alarmName": {}
}
},
"settingsTitle": "Configurações",
"settingsSubtitle": "Controle fino de som, backups e estações personalizadas.",
"languageSectionTitle": "Idioma",
"languageSectionDescription": "Escolha como o idioma do app é exibido.",
"languageSystemDefault": "Sistema",
"languageSpanish": "Espanhol",
"languageEnglish": "Inglês",
"languageUpdated": "Idioma atualizado: {languageName}",
"@languageUpdated": {
"placeholders": {
"languageName": {}
}
},
"languageUpdatedSystem": "Idioma atualizado: Sistema",
"timerSectionTitle": "Timer de sono",
"timerSectionAdd": "Adicionar",
"timerSectionDescription": "Personalize os acessos rápidos exibidos ao desligar a rádio automaticamente.",
"timerSectionRestoreRecommended": "Restaurar tempos recomendados",
"newQuickAccessTitle": "Novo acesso rápido",
"saveQuickAccessButton": "Salvar acesso rápido",
"settingsSafeStatus": "Seguro",
"recordingsSectionTitle": "Gravações",
"recordingsFolderDialogTitle": "Selecione a pasta de gravações",
"recordingsPathUpdated": "Caminho de gravação atualizado",
"recordingsPathSaveError": "Não foi possível salvar o caminho: {error}",
"recordingsDefaultFolderRestored": "A pasta interna padrão será usada",
"recordingsFolderTitle": "Pasta de gravação",
"recordingsPathCalculating": "Calculando caminho...",
"recordingsChangePath": "Alterar caminho",
"recordingsUseDefaultPath": "Usar caminho padrão",
"recordingsOriginalStreamHint": "A rádio é salva a partir do stream original, sem recompressão.",
"equalizerActive": "Ativo",
"equalizerDisabled": "Desativado",
"equalizerEnable": "Ativar equalizador",
"equalizerRealtimeSubtitle": "As alterações são aplicadas em tempo real à estação atual.",
"equalizerPendingSubtitle": "As alterações são salvas e serão aplicadas quando o Android habilitar o efeito.",
"equalizerPerStationTitle": "Usar EQ próprio para este favorito",
"equalizerPerStationActive": "Ativo para {stationName}",
"equalizerPerStationMain": "Usando o EQ principal para {stationName}",
"preferredStationTitle": "Estação preferida",
"preferredStationDescription": "Pré-selecionada ao criar alarmes e disponível para reprodução rápida.",
"preferredStationNoStationsTitle": "Ainda não há estações disponíveis",
"preferredStationNoStationsSubtitle": "Salve favoritas ou carregue estações para escolher uma preferida.",
"preferredStationAutomaticFallback": "Fallback automático",
"preferredStationDefaultFavorite": "Favorita padrão",
"preferredStationCurrent": "Preferida atual: {stationName}",
"preferredStationAutoUsing": "Sem favoritas: usando automaticamente {stationName}",
"preferredStationPlay": "Reproduzir preferida",
"customStationsTitle": "Estações personalizadas",
"customStationsAdd": "Adicionar",
"customStationsEmpty": "Não há estações personalizadas.",
"playAction": "Reproduzir",
"deleteAction": "Excluir",
"addStationTitle": "Adicionar estação",
"stationNameLabel": "Nome *",
"unnamedStation": "Estação sem nome",
"requiredField": "Campo obrigatório",
"streamUrlLabel": "URL do stream *",
"invalidUrl": "URL inválida",
"countryOptionalLabel": "País (opcional)",
"saveStation": "Salvar estação",
"backupSectionTitle": "Backup",
"backupExportTitle": "Exportar configuração",
"backupExportSubtitle": "Favoritos, estações personalizadas e presets de EQ",
"backupImportTitle": "Importar configuração",
"backupImportSubtitle": "Restaurar a partir de um arquivo de backup",
"backupShareSubject": "PluriWave — backup",
"backupShareText": "Configuração do PluriWave exportada em {date}",
"backupExportError": "Erro ao exportar: {error}",
"backupImportConfirmMessage": "Isso adicionará favoritos, estações e presets do arquivo. Continuar?",
"backupImportSuccess": "Configuração importada com sucesso",
"backupImportError": "Erro ao importar: {error}",
"appVersionLoading": "Carregando versão...",
"appVersionSubtitle": "{version} - Rádio mundial",
"savedFavoritesTitle": "Favoritos salvos",
"stationFilterTitle": "Filtro de estações",
"stationFilterSubtitle": "Apenas estações verificadas como ativas",
"backgroundAudioTitle": "Áudio em segundo plano",
"backgroundAudioSubtitle": "Continua ao desligar a tela",
"dash": "—",
"@recordingsPathSaveError": {
"placeholders": {
"error": {}
}
},
"@equalizerPerStationActive": {
"placeholders": {
"stationName": {}
}
},
"@equalizerPerStationMain": {
"placeholders": {
"stationName": {}
}
},
"@preferredStationCurrent": {
"placeholders": {
"stationName": {}
}
},
"@preferredStationAutoUsing": {
"placeholders": {
"stationName": {}
}
},
"@backupShareText": {
"placeholders": {
"date": {}
}
},
"@backupExportError": {
"placeholders": {
"error": {}
}
},
"@backupImportError": {
"placeholders": {
"error": {}
}
},
"@appVersionSubtitle": {
"placeholders": {
"version": {}
}
},
"cancelAction": "Cancelar",
"equalizerTitle": "Equalizador",
"recordingsOpenFolder": "Abrir pasta",
"recordingsOpenFolderError": "Não foi possível abrir a pasta: {error}",
"recordingsMaxSizeTitle": "Tamanho máximo da gravação",
"recordingsMaxSizeSubtitle": "Limite atual: {size} MB",
"recordingsMaxSizeDialogTitle": "Tamanho máximo por gravação",
"recordingsMaxSizeMbLabel": "Megabytes máximos",
"recordingsMaxSizeSaved": "Limite de gravação atualizado para {size} MB",
"@recordingsOpenFolderError": {
"placeholders": {
"error": {}
}
},
"@recordingsMaxSizeSubtitle": {
"placeholders": {
"size": {
"type": "int"
}
}
},
"@recordingsMaxSizeSaved": {
"placeholders": {
"size": {
"type": "int"
}
}
},
"stationOrderTitle": "Ordem das estações",
"stationOrderByName": "Por nome",
"stationOrderByQuality": "Por qualidade",
"stationOrderScopeDescription": "Aplica-se a favoritos, buscas, estações próximas e listas rápidas.",
"favoriteGroupsTitle": "Listas de favoritos",
"favoriteGroupsDescription": "Crie listas curtas para organizar suas estações salvas.",
"favoriteGroupsAdd": "Adicionar lista",
"favoriteGroupsEdit": "Editar lista",
"favoriteGroupsDelete": "Excluir lista",
"favoriteGroupsNameLabel": "Nome da lista",
"favoriteGroupsNameTooLong": "Máximo de 28 caracteres.",
"favoriteGroupsUnassigned": "Sem atribuição",
"favoriteGroupsProtectedHint": "Lista padrão: não pode ser editada nem excluída.",
"favoriteGroupsCreated": "Lista criada",
"favoriteGroupsUpdated": "Lista atualizada",
"favoriteGroupsDeleted": "Lista excluída; suas estações voltam para Sem atribuição.",
"favoriteGroupsAssign": "Mover para lista",
"favoriteGroupsAssignSubtitle": "Lista atual: {groupName}",
"favoriteGroupsAssigned": "{stationName} movida para {groupName}",
"favoritesTitle": "Favoritos",
"favoritesEmptyTitle": "Ainda sem favoritos",
"favoritesEmptySubtitle": "Toque no coração em qualquer estação para salvá-la na sua coleção.",
"favoritesHeaderSubtitle": "Organize sua coleção por listas e mantenha as rádios importantes por perto.",
"favoritesCollection": "Coleção",
"favoritesSavedCount": "{count} salvas",
"favoritesRemoveTooltip": "Remover dos favoritos",
"favoritesRemovedMessage": "{stationName} removida dos favoritos",
"@favoriteGroupsAssignSubtitle": {
"placeholders": {
"groupName": {}
}
},
"@favoriteGroupsAssigned": {
"placeholders": {
"stationName": {},
"groupName": {}
}
},
"@favoritesSavedCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"@favoritesRemovedMessage": {
"placeholders": {
"stationName": {}
}
},
"alarmPostponedCurrentExecution": "Alarme adiado para esta execução.",
"searchScreenTitle": "Buscar sinal",
"searchScreenSubtitle": "Encontre estações por nome, país ou idioma com filtros rápidos e contraste elevado.",
"searchFiltersLabel": "Filtros",
"searchHint": "Rádio Horizonte, jazz, notícias...",
"searchCountryFilterLabel": "País",
"searchLanguageFilterLabel": "Idioma",
"searchMinQualityFilterLabel": "Qualidade mínima",
"searchLoadingStationsLabel": "PROCURANDO EMISSORAS…",
"searchEmptyTitle": "Busque uma estação",
"searchNoResultsTitle": "Sem resultados",
"searchNoResultsForQueryTitle": "Nenhum resultado para \"{query}\"",
"@searchNoResultsForQueryTitle": {"placeholders": {"query": {}}},
"searchEmptySubtitle": "Use a barra superior ou os chips para descobrir estações do mundo todo.",
"searchNoResultsSubtitle": "Tente remover filtros ou digitar outro nome para encontrar uma estação ativa.",
"countrySpain": "Espanha",
"countryUsa": "EUA",
"countryMexico": "México",
"countryArgentina": "Argentina",
"countryUk": "Reino Unido",
"countryFrance": "França",
"countryGermany": "Alemanha",
"countryItaly": "Itália",
"countryBrazil": "Brasil",
"countryJapan": "Japão",
"languageNameSpanish": "espanhol",
"languageNameEnglish": "inglês",
"languageNameFrench": "francês",
"languageNameGerman": "alemão",
"languageNamePortuguese": "português",
"languageNameItalian": "italiano",
"languageNameJapanese": "japonês",
"languageNameArabic": "árabe",
"languageNameRussian": "russo",
"homeScreenSubtitle": "Rádio global ao vivo com sinais limpos, favoritos inteligentes e uma experiência visual de game show.",
"exploreStations": "Explorar estações",
"stationsCount": "{count} rádios",
"@stationsCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"qualityHd": "Qualidade HD",
"nearYou": "Perto de você",
"nearYouInCountry": "Perto de você · {country}",
"@nearYouInCountry": {
"placeholders": {
"country": {}
}
},
"detectAction": "Detectar",
"liveRadar": "Radar ao vivo",
"genresTitle": "Gêneros",
"exploreByTitle": "Navegar por",
"exploreTrendingTitle": "Tendências",
"exploreTrendingSubtitle": "Hoje",
"exploreNewTitle": "Novidades",
"exploreNewSubtitle": "Nesta semana",
"offlineBannerTitle": "Sem conexão",
"retryAction": "Tentar novamente",
"noStationsAvailable": "Não há estações disponíveis",
"noStationsAvailableSubtitle": "Tente atualizar ou escolher outro gênero para captar sinal novamente.",
"genrePop": "Pop",
"genreRock": "Rock",
"genreJazz": "Jazz",
"genreClassical": "Clássica",
"genreElectronic": "Eletrônica",
"genreNews": "Notícias",
"genreTalk": "Conversa",
"genreHipHop": "Hip-hop",
"genreCountry": "Country",
"genreMetal": "Metal",
"genreReggae": "Reggae",
"genreLatin": "Latina",
"alarmScreenTitle": "Despertar musical",
"alarmScreenSubtitle": "Alarmes com rádio, som seguro, férias inteligentes e próxima execução sempre visível.",
"createAlarmAction": "Criar alarme",
"alarmsCount": "{count} alarmes",
"@alarmsCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"activeAlarmsWithoutNextTitle": "Alarmes ativos sem próxima execução",
"noActiveAlarms": "Sem alarmes ativos",
"nextAlarmTitle": "Próximo alarme",
"activeAlarmsWithoutNextSubtitle": "Há {count} alarme(s) ativos, mas no momento não têm uma data futura válida. Verifique data, dias e férias.",
"@activeAlarmsWithoutNextSubtitle": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"createAlarmHint": "Crie um alarme e o PluriWave calculará automaticamente a próxima execução.",
"alarmVacationPlay": "Toca durante as férias",
"alarmVacationPause": "Pausa nas férias",
"alarmFadeInLabel": "Fade-in {seconds}s",
"@alarmFadeInLabel": {
"placeholders": {
"seconds": {
"type": "int"
}
}
},
"alarmNextExecution": "Próxima execução: {date}",
"@alarmNextExecution": {
"placeholders": {
"date": {}
}
},
"alarmNoNextExecution": "Não há próxima execução ativa.",
"alarmSkippedExecution": "Uma execução foi ignorada: {date}.",
"@alarmSkippedExecution": {
"placeholders": {
"date": {}
}
},
"editAction": "Editar",
"skipNextAction": "Ignorar próxima",
"deleteTooltip": "Excluir",
"alarmSkippedNoNextSnackbar": "Alarme ignorado. Não resta próxima execução.",
"alarmSkippedReturnsSnackbar": "Alarme ignorado. Voltará em {date}.",
"@alarmSkippedReturnsSnackbar": {
"placeholders": {
"date": {}
}
},
"alarmVacationPausedNoNext": "Está pausado por férias ({vacationName}) e sem próxima execução.",
"@alarmVacationPausedNoNext": {
"placeholders": {
"vacationName": {}
}
},
"alarmVacationPausedReturns": "Está pausado por férias ({vacationName}) e volta em {date}.",
"@alarmVacationPausedReturns": {
"placeholders": {
"vacationName": {},
"date": {}
}
},
"alarmVacationReturns": "Com férias ativas, tocará novamente em {date}.",
"@alarmVacationReturns": {
"placeholders": {
"date": {}
}
},
"defaultAlarmName": "Despertador musical",
"newAlarmTitle": "Novo alarme",
"editAlarmTitle": "Editar alarme",
"nameField": "Nome",
"timeField": "Hora",
"dateField": "Data",
"onceOption": "Uma vez",
"dailyOption": "Diária",
"weekdaysOption": "Dias",
"soundAndVolumeSection": "Som e volume",
"alarmFadeInTitle": "Fade-in do alarme",
"alarmFadeInOff": "0 s (sem transição)",
"alarmFadeInSummary": "{seconds} s (de 5% ao volume escolhido)",
"@alarmFadeInSummary": {
"placeholders": {
"seconds": {
"type": "int"
}
}
},
"internalSafeSoundLabel": "Som seguro interno",
"soundWarmSunrise": "Amanhecer acolhedor",
"soundSoftBell": "Sino suave",
"soundDigitalPulse": "Pulso digital",
"favoriteStationLabel": "Estação favorita",
"noStationUseInternalSound": "Sem estação: usar som interno",
"alarmFallbackStationLabel": "Estação reserva",
"alarmStationPickerSearchHint": "Buscar estação pelo nome",
"alarmSnoozeDurationTitle": "Duração da soneca",
"snoozeAction": "Soneca",
"alarmSnoozeOptionLabel": "{minutes} min",
"@alarmSnoozeOptionLabel": {
"placeholders": {
"minutes": {
"type": "int"
}
}
},
"alarmSnoozeUsualLabel": "usual",
"saveFavoritesAlarmHint": "Salve estações nos Favoritos para usá-las como alarme musical.",
"useCurrentStationAction": "Usar estação atual",
"playDuringVacations": "Tocar durante as férias",
"playDuringVacationsHint": "Se você desativar, a próxima execução saltará para o primeiro dia válido.",
"saveAlarmAction": "Salvar alarme",
"chooseOneWeekdayError": "Escolha pelo menos um dia da semana.",
"androidReliabilityReview": "Revisar confiabilidade Android",
"statusOk": "OK",
"statusPending": "pendente",
"androidReliabilityStatus": "Confiabilidade: exatos {exact} · notificações {notifications} · tela {screen}",
"@androidReliabilityStatus": {
"placeholders": {
"exact": {},
"notifications": {},
"screen": {}
}
},
"vacationRangesTitle": "Períodos de férias",
"addAction": "Adicionar",
"vacationRangesHint": "Se um alarme tiver \"Pausa nas férias\", estes períodos serão ignorados automaticamente.",
"noVacationRangesLoaded": "Nenhum período carregado.",
"deleteRangeTooltip": "Excluir período",
"vacationsDefaultName": "Férias",
"newVacationRangeTitle": "Novo período de férias",
"editVacationRangeTitle": "Editar período de férias",
"vacationDeleteConfirmTitle": "Excluir período de férias?",
"vacationDeleteConfirmMessage": "Esta ação não pode ser desfeita.",
"startField": "Início",
"endField": "Fim",
"saveRangeAction": "Salvar período",
"noAlarmsYetTitle": "Ainda não há alarmes.",
"noAlarmsYetSubtitle": "Crie um para configurar seu despertar musical.",
"ringingInternalAudioActive": "Tocando com som seguro interno.",
"ringingPreparingInternalAudio": "Preparando som seguro interno.",
"stopAlarmAction": "Parar alarme",
"alarmStopFailedMessage": "Não conseguimos confirmar que o alarme parou. Tente novamente.",
"alarmForceStopAction": "Forçar parada",
"alarmMissedNotificationTitle": "Alarme perdido",
"alarmMissedNotificationText": "{name} foi silenciado automaticamente após 10 minutos.",
"@alarmMissedNotificationText": {
"placeholders": {
"name": {}
}
},
"pauseAction": "Pausar",
"miniPlayerOpenLabel": "Abrir reprodutor de {stationName}",
"@miniPlayerOpenLabel": {
"placeholders": {
"stationName": {}
}
},
"playerIconLabel": "Reprodutor",
"playbackStatusConnecting": "Conectando...",
"playbackStatusLive": "Ao vivo",
"playbackStatusPaused": "Pausado",
"playbackStatusReconnecting": "Reconectando...",
"playbackStatusConnectionError": "Erro de conexão",
"playbackStatusStopped": "Parado",
"stationSemanticLabel": "Estação {stationName}",
"@stationSemanticLabel": {
"placeholders": {
"stationName": {}
}
},
"favoritesAddTooltip": "Adicionar aos favoritos",
"favoritesAddedMessage": "{stationName} adicionada aos favoritos",
"@favoritesAddedMessage": {
"placeholders": {
"stationName": {}
}
},
"stationIconLabel": "Ícone da estação",
"liveNow": "Ao vivo",
"equalizerBandLabel": "Banda {band}",
"@equalizerBandLabel": {
"placeholders": {
"band": {}
}
},
"equalizerBandValue": "{value} decibéis",
"@equalizerBandValue": {
"placeholders": {
"value": {}
}
},
"equalizerPresetFlat": "Plano",
"equalizerPresetRock": "Rock",
"equalizerPresetPop": "Pop",
"equalizerPresetBassBoost": "Reforço de graves",
"equalizerPresetJazz": "Jazz",
"equalizerPresetVoice": "Voz",
"equalizerPresetCustom": "Personalizado",
"onboardingTitle": "Bem-vindo ao PluriWave",
"onboardingNewsTitle": "Novidades",
"onboardingStartAction": "Começar",
"onboardingCloseTooltip": "Fechar",
"radioRecordingError": "Erro ao gravar a rádio: {error}",
"@radioRecordingError": {
"placeholders": {
"error": {}
}
},
"radioApiConnectionError": "Sem conexão com a API de rádio",
"radioSearchError": "Erro na busca. Verifique sua conexão.",
"radioLoadMoreStationsError": "Não foi possível carregar mais estações.",
"radioNearbyStationsError": "Não foi possível detectar estações próximas. Use filtros por país.",
"radioCannotPlayStation": "Não é possível reproduzir \"{stationName}\"",
"@radioCannotPlayStation": {
"placeholders": {
"stationName": {}
}
},
"recordingSelectStationFirst": "Primeiro selecione uma estação para gravar.",
"recordingStartError": "Não foi possível iniciar a gravação: {error}",
"@recordingStartError": {
"placeholders": {
"error": {}
}
},
"unsupportedConfigVersion": "Versão de configuração não compatível",
"audioErrorGeneric": "Erro de reprodução",
"audioErrorNoInternet": "Sem conexão com a internet",
"audioErrorInvalidUrl": "A URL da rádio não é válida",
"audioErrorNotFound": "A rádio não está disponível (erro 404)",
"audioErrorTimeout": "Tempo esgotado ao conectar",
"audioErrorCannotConnect": "Não é possível conectar à rádio",
"audioErrorUnsupportedFormat": "Formato de stream não compatível",
"audioErrorDecode": "Erro ao decodificar o stream de áudio",
"audioErrorCleartext": "Esta rádio usa HTTP sem criptografia, o que não é permitido",
"audioErrorSsl": "Certificado SSL inválido na rádio",
"audioErrorCannotPlay": "Não é possível reproduzir esta rádio",
"audioErrorUnexpectedPlayback": "Erro inesperado ao reproduzir",
"androidExactAlarmScheduleError": "O Android não conseguiu agendar um alarme exato. Verifique a permissão de alarmes exatos.",
"recordingPathEmptyError": "O caminho de gravação não pode estar vazio",
"recordingMaxSizeInvalidError": "O tamanho máximo deve ser maior que zero",
"recordingAlreadyActiveError": "Já há uma gravação em andamento",
"alarmRingingFallbackActive": "Tocando com áudio interno seguro.",
"alarmRingingPreparingFallback": "Preparando áudio interno seguro.",
"alarmRingingTryingStation": "Tentando reproduzir sua estação com a maior qualidade disponível.",
"alarmScheduleDaily": "Todas as manhãs",
"alarmScheduleOnce": "Uma vez · {date}",
"@alarmScheduleOnce": {
"placeholders": {
"date": {}
}
},
"alarmScheduleWeekdays": "Dias: {days}",
"@alarmScheduleWeekdays": {
"placeholders": {
"days": {}
}
},
"alarmRepeatSectionLabel": "REPETIÇÃO",
"alarmVolumeLabel": "Volume",
"androidReliabilityTitle": "Revisar confiabilidade Android",
"closeAction": "Fechar",
"customOption": "Personalizada",
"endLabel": "Fim",
"equalizerDisable": "Desativar equalizador",
"helpTitle": "Ajuda e tutorial",
"helpSubtitle": "9 ecrãs · reveja quando quiser",
"tutorialSkipAction": "Pular",
"tutorialNextAction": "Avançar",
"tutorialPage1Headline": "Guarde as suas estações e agrupe-as",
"tutorialPage1Body": "Toque no coração para guardar uma estação. Em «Suas estações» pode criar grupos como «Todas as manhãs» ou «Carro» e reordená-las arrastando.",
"tutorialPage2Headline": "Um equalizador geral e outro por estação",
"tutorialPage2Body": "Em Definições define o equalizador geral. E, ao reproduzir uma estação específica, pode dar-lhe o seu próprio ajuste, que prevalece sobre o geral.",
"tutorialPage3Headline": "Grave o que está a ouvir",
"tutorialPage3Body": "Na bandeja de ferramentas do leitor, «Gravar» guarda o stream original. Encontre as suas gravações em Definições Gravações.",
"tutorialPage4Headline": "Alarmes que se adaptam a si",
"tutorialPage4Body": "Acorde com a sua estação favorita, adie 3, 5 ou 10 minutos, e adicione períodos de férias para que alguns alarmes se saltem sozinhos.",
"tutorialPage5Headline": "Os seus favoritos, também no carro",
"tutorialPage5Body": "Ligue o telemóvel ao Android Auto e encontre Favoritos, Todas as estações, Suas estações e a sua Música local, com botões grandes pensados para conduzir.",
"tutorialPage6Headline": "Reconecta-se sozinho",
"tutorialPage6Body": "Se o sinal cair, o PluriWave tenta novamente de forma automática e continua a mostrar os seus favoritos guardados mesmo sem ligação.",
"tutorialPage7Headline": "Escolha quanto tempo adiar",
"tutorialPage7Body": "Quando um alarme toca, não existe um único «adiar»: escolhe 3, 5 ou 10 minutos conforme o que precisar nesse momento.",
"tutorialPage8Headline": "Não a encontra? Adicione-a você mesmo",
"tutorialPage8Body": "Em «Suas estações» → Adicionar estação personalizada, cole o URL do stream de uma estação que não esteja na pesquisa. Fica guardada em «Suas estações», também disponível no carro.",
"tutorialPage9Headline": "Pronto, já conhece o essencial",
"tutorialPage9BannerBody": "Para rever este tutorial quando quiser: Definições → Informação → Ajuda e tutorial.",
"indefiniteOption": "Indefinida",
"invalidNumber": "Número inválido",
"nameLabel": "Nome",
"notPlaying": "Não está reproduzindo",
"oneTimeOption": "Uma vez",
"pausePlaybackTooltip": "Pausar reprodução",
"qualityOriginal": "Qualidade original: {quality}",
"@qualityOriginal": {
"placeholders": {
"quality": {}
}
},
"qualityUnknown": "Qualidade não informada",
"recordAction": "Gravar",
"recordDurationTitle": "Duração da gravação",
"recordRadioSubtitle": "Escolha por quanto tempo deseja gravar.",
"recordRadioTitle": "Gravar rádio",
"recordingActiveTitle": "Gravando rádio",
"recordingDirectTitle": "Gravação direta",
"recordingsOpenFolderPlainError": "Não foi possível abrir a pasta de gravações",
"recordingsOpenLatest": "Abrir última gravação",
"recordingsOpenLatestError": "Não foi possível abrir a última gravação",
"startLabel": "Início",
"startPlaybackTooltip": "Iniciar reprodução",
"stopAction": "Parar",
"stopPlaybackTooltip": "Parar reprodução",
"weekdayShortMonday": "Seg",
"weekdayShortTuesday": "Ter",
"weekdayShortWednesday": "Qua",
"weekdayShortThursday": "Qui",
"weekdayShortFriday": "Sex",
"weekdayShortSaturday": "Sáb",
"weekdayShortSunday": "Dom",
"stationCount": "{count, plural, =1{1 estação} other{{count} estações}}",
"alarmIconLabel": "Alarme musical",
"vacationIconLabel": "Modo férias",
"streamUrlHint": "https://stream.example.com:8000/radio",
"advancedEqSectionTitle": "Opções avançadas de equalização",
"advancedEqEnableToggle": "Ativar EQ por dispositivo",
"advancedEqEnableToggleSubtitle": "Aplica automaticamente um preset de EQ diferente quando a saída de áudio muda.",
"advancedEqKnownDevicesTitle": "Dispositivos de áudio conhecidos",
"advancedEqKnownDevicesEmpty": "Nenhum dispositivo de áudio registrado ainda. Conecte um dispositivo para começar.",
"advancedEqDevicePresetLabel": "Preset: {presetName}",
"@advancedEqDevicePresetLabel": {
"placeholders": {
"presetName": {}
}
},
"preNoticeCountdown": "Começa em {minutes} min",
"snoozeCountdown": "Toca em {minutes} min",
"@snoozeCountdown": {
"placeholders": {
"minutes": {
"type": "int"
}
}
},
"snoozeAgainAction": "Adiar novamente",
"alarmRingingNotificationTitle": "Alarme PluriWave",
"alarmFireChannelName": "Alarmes tocando",
"alarmFireChannelDescription": "Som e tela urgentes quando um alarme musical deve tocar",
"alarmPreNoticeChannelName": "Avisos de alarme",
"alarmPreNoticeChannelDescription": "Notificações silenciosas antes do alarme",
"openFolderChooserTitle": "Abrir pasta",
"openRecordingChooserTitle": "Abrir gravação",
"@preNoticeCountdown": {
"placeholders": {
"minutes": {
"type": "int"
}
}
},
"eqDeviceEditTitle": "Editar dispositivo",
"eqDeviceNameLabel": "Nome do dispositivo",
"eqDeviceNameHint": "Ex: Caixa da sala",
"eqDeviceNameConfirm": "Salvar",
"eqDeviceConnected": "Conectado",
"eqDeviceActiveOutput": "O áudio está a sair por este dispositivo",
"eqDeviceRemove": "Remover dispositivo",
"eqDeviceRemoved": "{device} removido",
"@eqDeviceRemoved": {
"placeholders": {
"device": {}
}
},
"localMusicSectionTitle": "Música local (Android Auto)",
"localMusicSectionDescription": "Escolha uma pasta neste dispositivo para navegar e reproduzir os arquivos de áudio dela no carro.",
"localMusicFolderNotConfigured": "Nenhuma pasta selecionada",
"localMusicFolderTitle": "Pasta de música local",
"localMusicChoosePath": "Escolher pasta",
"localMusicChangePath": "Alterar pasta",
"localMusicFolderUpdated": "Pasta de música local atualizada",
"localMusicFolderSaveError": "Não foi possível salvar a pasta: {error}",
"@localMusicFolderSaveError": {
"placeholders": {
"error": {}
}
},
"localMusicFolderGenericName": "Pasta selecionada",
"addVacationRangeCta": "Adicionar período",
"alarmAdvancedSectionTitle": "Avançado",
"alarmDeleteConfirmMessage": "Esta ação não pode ser desfeita.",
"alarmDeleteConfirmTitle": "Excluir alarme?",
"alarmHeroSkipAction": "Pular",
"alarmInlineHourLabel": "Hora",
"alarmInlineMinuteLabel": "Minuto",
"alarmVolumeRisingStatus": "Aumentando o volume",
"countriesAllTitle": "Todos os países",
"countriesScreenTitle": "Países",
"countriesSearchHint": "País ou código...",
"countriesYourLanguagesTitle": "Seus idiomas",
"customStationsAddCta": "Adicionar estação personalizada",
"equalizerActiveOutputDefault": "O alto-falante deste dispositivo",
"equalizerActiveOutputLabel": "Saída ativa",
"equalizerBaseExplainer": "Este é o equalizador base: aplica-se a todas as estações sem ajuste próprio. O EQ próprio de uma estação é definido na sua própria tela de reprodução e tem prioridade sobre este.",
"equalizerSaveAsPresetAction": "Salvar como Preset",
"equalizerResetToFlatAction": "Repor para plano",
"equalizerSavePresetConfirm": "Salvar",
"equalizerSavePresetDialogTitle": "Salvar como Preset",
"equalizerSavePresetEmptyNameError": "Digite um nome para o Preset.",
"equalizerSavePresetNameLabel": "Nome do Preset",
"equalizerStationsWithOwnEqEmpty": "Nenhuma estação tem EQ próprio ainda.",
"equalizerStationsWithOwnEqSubtitle": "Ignoram este equalizador base",
"equalizerStationsWithOwnEqTitle": "Estações com EQ próprio",
"favoriteGroupsChipLabel": "{groupName} · {count}",
"@favoriteGroupsChipLabel": {
"placeholders": {
"groupName": {},
"count": {
"type": "int"
}
}
},
"favoriteGroupsManage": "Gerenciar listas",
"favoritesFilterAllLabel": "Todas",
"infoSectionTitle": "Informações",
"nothingPlayingSubtitle": "Escolha uma estação em Suas estações ou pesquise uma para começar.",
"nothingPlayingTitle": "Ainda não há nada tocando",
"openFullPlayerTooltip": "Abrir player completo",
"playerQualityChangeAction": "Alterar",
"playerToolEqLabel": "EQ próprio",
"radioCountriesError": "Não foi possível carregar os países.",
"recordingActionDelete": "Excluir",
"recordingActionRename": "Renomear",
"recordingActionShare": "Compartilhar",
"recordingDeleteConfirmMessage": "Esta ação não pode ser desfeita.",
"recordingDeleteConfirmTitle": "Excluir gravação?",
"recordingRenameDialogTitle": "Renomear gravação",
"recordingRenameEmptyError": "Digite um nome",
"recordingRenameLabel": "Nome",
"recordingsLibraryEmptySubtitle": "As gravações que você salvar vão aparecer aqui.",
"recordingsLibraryStorageFolderCaption": "Music/PluriWave · apaga as mais antigas ao atingir o limite",
"recordingsLibraryEmptyTitle": "Ainda não há gravações",
"recordingsLibrarySettingsTooltip": "Configurações de gravação",
"recordingsLibraryStorageCaption": "{usedMb} MB de {totalMb} MB usados",
"@recordingsLibraryStorageCaption": {
"placeholders": {
"usedMb": {
"type": "int"
},
"totalMb": {
"type": "int"
}
}
},
"recordingsLibraryTitle": "Minhas gravações",
"searchClearFiltersAction": "{count, plural, =1{Remover filtro} other{Remover {count} filtros}}",
"searchResultsCount": "{count, plural, =1{1 resultado} other{{count} resultados}}",
"seeAllAction": "Ver todas",
"settingsGroupApplicationTitle": "APLICATIVO",
"settingsGroupAudioTitle": "ÁUDIO",
"settingsGroupRecordingsTitle": "GRAVAÇÕES E MÚSICA",
"settingsGroupStationsTitle": "ESTAÇÕES",
"stationOrderByPopularity": "Por popularidade",
"vacationImpactContinuesLabel": "Continua tocando: {times}",
"@vacationImpactContinuesLabel": {
"placeholders": {
"times": {}
}
},
"vacationImpactPausedLabel": "Pausado: {times}",
"@vacationImpactPausedLabel": {
"placeholders": {
"times": {}
}
},
"vacationExplainerBanner": "Durante esses periodos, os alarmes marcados como \"pausar nas ferias\" nao tocam. Os marcados como \"tocar sempre\" nao sao afetados.",
"vacationNoActiveRangeHint": "Não há período de férias ativo no momento.",
"vacationPastSectionTitle": "Períodos passados",
"vacationRangesCount": "{count} períodos",
"@vacationRangesCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"vacationSummaryActiveCountdown": "Em andamento · faltam {days} dias",
"@vacationSummaryActiveCountdown": {
"placeholders": {
"days": {
"type": "int"
}
}
},
"vacationSummaryUpcomingCountdown": "Próximo período em {days} dias",
"@vacationSummaryUpcomingCountdown": {
"placeholders": {
"days": {
"type": "int"
}
}
},
"vacationUpcomingSectionTitle": "PROGRAMADOS",
"welcomeBody": "53.412 estações de 238 países. Salve suas favoritas, leve-as para o carro e acorde com elas.",
"welcomeBullet1Subtitle": "Além de um Preset por dispositivo de saída",
"welcomeBullet1Title": "Equalizador por estação",
"welcomeBullet2Subtitle": "Suas favoritas e sua música local no carro",
"welcomeBullet2Title": "Android Auto",
"welcomeBullet3Subtitle": "Com aumento progressivo do volume e modo férias",
"welcomeBullet3Title": "Alarmes musicais",
"welcomeCtaLabel": "Começar a ouvir",
"welcomeHeadline": "Seu mundo, ao vivo",
"yourStationsTitle": "Suas estações",
"nowListeningLabel": "Ouvindo agora",
"popularNowTitle": "Populares agora",
"eqCustomActionEnableLabel": "Ativar equalizador",
"eqCustomActionDisableLabel": "Desativar equalizador",
"eqCustomActionPresetLabel": "Predefinição: {preset}",
"@eqCustomActionPresetLabel": {
"placeholders": {
"preset": {
"type": "String"
}
}
},
"alarmCardVacationPausedBadge": "Pausada por férias",
"alarmCardSchedulingFailedMessage": "Este alarme não pôde ser registrado no sistema, por isso pode não tocar.",
"alarmCardPreNoticeFailedMessage": "Este alarme está agendado, mas seu aviso antecipado não pôde ser configurado.",
"alarmDiagnosticsExactAlarmsTitle": "Agendamento exato do alarme",
"alarmDiagnosticsExactAlarmsHint": "Permite que o alarme toque no minuto exato definido, mesmo com o telefone em repouso.",
"alarmDiagnosticsNotificationsTitle": "Notificações",
"alarmDiagnosticsNotificationsHint": "Necessárias para mostrar o alarme e o aviso prévio.",
"alarmDiagnosticsFullScreenTitle": "Exibição em tela cheia do alarme",
"alarmDiagnosticsFullScreenHint": "Permite que a tela do alarme apareça automaticamente, mesmo com o telefone bloqueado.",
"alarmDiagnosticsBatteryTitle": "Otimização de bateria",
"alarmDiagnosticsBatteryHint": "Evita que o sistema feche o PluriWave em segundo plano, para que o alarme ainda possa tocar.",
"alarmDiagnosticsNativeCountTitle": "Alarmes registrados no Android",
"alarmDiagnosticsNativeCountValue": "Registrados agora: {count}",
"@alarmDiagnosticsNativeCountValue": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"alarmDiagnosticsNativeCountAttentionHint": "Você tem um alarme ativado, mas nenhum está registrado no sistema ainda. Reabra o PluriWave ou resolva primeiro os itens acima.",
"alarmDiagnosticsManufacturerLabel": "Fabricante",
"alarmDiagnosticsSdkLabel": "Versão do Android (SDK)",
"alarmDiagnosticsNeedsAttentionStatus": "Precisa de atenção",
"alarmDiagnosticsAutostartTitle": "Mais uma etapa manual neste telefone",
"alarmDiagnosticsAutostartBody": "Telefones {manufacturer} costumam fechar apps em segundo plano para economizar bateria. Não existe uma configuração que o PluriWave possa ativar sozinho: você precisa ativar por conta própria o Início automático (às vezes chamado de \"Autostart\" ou \"Atividade em segundo plano\") para o PluriWave. Procure em Configurações, em Apps ou Bateria, ou no próprio app de Segurança do telefone.",
"@alarmDiagnosticsAutostartBody": {
"placeholders": {
"manufacturer": {
"type": "String"
}
}
},
"alarmDiagnosticsFixAction": "Resolver",
"alarmDiagnosticsIntentUnavailable": "Não foi possível abrir essa tela de configurações neste telefone. Tente procurá-la manualmente nas Configurações.",
"alarmDiagnosticsUnavailableHint": "Ainda não conseguimos verificar as configurações do seu alarme.",
"autoEqDisableOption": "Desativar",
"funcionPremium": "Recurso Premium",
"limiteAlarmasAlcanzado": "Você atingiu o limite gratuito de 5 alarmes.",
"desbloquearPremium": "Desbloquear Premium",
"restaurarCompras": "Restaurar compras"
}