fix(i18n): normalize translations and fallbacks
Build & Deploy PluriWave / Análisis de código (push) Successful in 38s
Build & Deploy PluriWave / Build APK + AAB release (push) Successful in 2m34s

This commit is contained in:
2026-06-03 21:20:08 +02:00
parent a5475ce118
commit 089b8b4227
46 changed files with 17720 additions and 4869 deletions
+371 -197
View File
@@ -1,36 +1,63 @@
{
"@@locale": "pt",
"appTitle": "PluriWave",
"navHome": "Home",
"navHome": "Início",
"navSearch": "Buscar",
"navFavorites": "Favoritos",
"navAlarms": "Alarmes",
"navSettings": "Settings",
"navSettings": "Configurações",
"actionOk": "OK",
"sleepTimer": "Timer de sono",
"sleepTimerDescription": "Smooth radio shutdown with an exact countdown.",
"cancelTimer": "Cancel timer",
"optionOther": "Other",
"customDurationTitle": "Custom duration",
"durationGreaterThanZero": "Choose a duration greater than zero.",
"hoursLabel": "Hours",
"minutesLabel": "Minutes",
"secondsLabel": "Seconds",
"saveQuickAccess": "Save as quick access",
"startTimer": "Start timer",
"skipCurrentAlarmExecution": "Skipped this execution of {alarmName}.",
"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": "Settings",
"settingsSubtitle": "Fine-grained sound control, backups, and custom stations.",
"settingsTitle": "Configurações",
"settingsSubtitle": "Controle fino de som, backups e estações personalizadas.",
"languageSectionTitle": "Idioma",
"languageSectionDescription": "Choose how the app language is displayed.",
"languageSectionDescription": "Escolha como o idioma do app é exibido.",
"languageSystemDefault": "Sistema",
"languageSpanish": "Espanhol",
"languageEnglish": "English",
"languageEnglish": "Inglês",
"languageUpdated": "Idioma atualizado: {languageName}",
"@languageUpdated": {
"placeholders": {
@@ -38,70 +65,71 @@
}
},
"languageUpdatedSystem": "Idioma atualizado: Sistema",
"timerSectionTitle": "Sleep timer",
"timerSectionAdd": "Add",
"timerSectionDescription": "Customize the quick presets shown when automatically stopping the radio.",
"timerSectionRestoreRecommended": "Restore recommended times",
"newQuickAccessTitle": "New quick access",
"saveQuickAccessButton": "Save quick access",
"settingsSafeStatus": "Safe",
"recordingsSectionTitle": "Recordings",
"recordingsFolderDialogTitle": "Select recordings folder",
"recordingsPathUpdated": "Recording path updated",
"recordingsPathSaveError": "Could not save the path: {error}",
"recordingsDefaultFolderRestored": "The internal default folder will be used",
"recordingsFolderTitle": "Recordings folder",
"recordingsPathCalculating": "Calculating path...",
"recordingsChangePath": "Change path",
"recordingsUseDefaultPath": "Use default path",
"recordingsOriginalStreamHint": "The radio is saved from the original stream, without recompressing.",
"equalizerActive": "Active",
"equalizerDisabled": "Disabled",
"equalizerEnable": "Enable equalizer",
"equalizerRealtimeSubtitle": "Changes are applied in real time to the current station.",
"equalizerPendingSubtitle": "Changes are saved and will apply when Android enables the effect.",
"equalizerPerStationTitle": "Use custom EQ for this favorite",
"equalizerPerStationActive": "Active for {stationName}",
"equalizerPerStationMain": "Using main EQ for {stationName}",
"preferredStationTitle": "Preferred station",
"preferredStationDescription": "Preselected for new alarms and available for quick playback.",
"preferredStationNoStationsTitle": "No stations available yet",
"preferredStationNoStationsSubtitle": "Save favorites or load stations to choose a preferred one.",
"preferredStationAutomaticFallback": "Automatic fallback",
"preferredStationDefaultFavorite": "Default favorite",
"preferredStationCurrent": "Current preferred: {stationName}",
"preferredStationAutoUsing": "No favorites: automatically using {stationName}",
"preferredStationPlay": "Play preferred",
"customStationsTitle": "Custom stations",
"customStationsAdd": "Add",
"customStationsEmpty": "No custom stations.",
"playAction": "Play",
"deleteAction": "Delete",
"addStationTitle": "Add station",
"stationNameLabel": "Name *",
"requiredField": "Required field",
"streamUrlLabel": "Stream URL *",
"invalidUrl": "Invalid URL",
"countryOptionalLabel": "Country (optional)",
"saveStation": "Save station",
"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": "Export configuration",
"backupExportSubtitle": "Favorites, custom stations, and EQ presets",
"backupImportTitle": "Import configuration",
"backupImportSubtitle": "Restore from a backup file",
"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": "PluriWave configuration exported on {date}",
"backupExportError": "Export error: {error}",
"backupImportConfirmMessage": "This will add favorites, stations, and presets from the file. Continue?",
"backupImportSuccess": "Configuration imported successfully",
"backupImportError": "Import error: {error}",
"appVersionLoading": "Loading version...",
"appVersionSubtitle": "{version} - World radio",
"savedFavoritesTitle": "Saved favorites",
"stationFilterTitle": "Station filter",
"stationFilterSubtitle": "Only stations verified as active",
"backgroundAudioTitle": "Background audio",
"backgroundAudioSubtitle": "Continues when the screen turns off",
"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": {
@@ -149,14 +177,14 @@
}
},
"cancelAction": "Cancelar",
"equalizerTitle": "Equalizer",
"recordingsOpenFolder": "Open folder",
"recordingsOpenFolderError": "Could not open the folder: {error}",
"recordingsMaxSizeTitle": "Maximum recording size",
"recordingsMaxSizeSubtitle": "Current limit: {size} MB",
"recordingsMaxSizeDialogTitle": "Maximum size per recording",
"recordingsMaxSizeMbLabel": "Maximum megabytes",
"recordingsMaxSizeSaved": "Recording limit updated to {size} MB",
"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": {}
@@ -176,33 +204,33 @@
}
}
},
"stationOrderTitle": "Station order",
"stationOrderByName": "By name",
"stationOrderByQuality": "By quality",
"stationOrderScopeDescription": "Applies to favorites, searches, nearby stations and quick lists.",
"favoriteGroupsTitle": "Favorite lists",
"favoriteGroupsDescription": "Create short lists to organize your saved stations.",
"favoriteGroupsAdd": "Add list",
"favoriteGroupsEdit": "Edit list",
"favoriteGroupsDelete": "Delete list",
"favoriteGroupsNameLabel": "List name",
"favoriteGroupsNameTooLong": "Maximum 28 characters.",
"favoriteGroupsUnassigned": "Unassigned",
"favoriteGroupsProtectedHint": "Default list: it cannot be edited or deleted.",
"favoriteGroupsCreated": "List created",
"favoriteGroupsUpdated": "List updated",
"favoriteGroupsDeleted": "List deleted; its stations return to Unassigned.",
"favoriteGroupsAssign": "Move to list",
"favoriteGroupsAssignSubtitle": "Current list: {groupName}",
"favoriteGroupsAssigned": "{stationName} moved to {groupName}",
"favoritesTitle": "Favorites",
"favoritesEmptyTitle": "No favorites yet",
"favoritesEmptySubtitle": "Tap the heart on any station to save it to your collection.",
"favoritesHeaderSubtitle": "Organize your collection by lists and keep important radios close.",
"favoritesCollection": "Collection",
"favoritesSavedCount": "{count} saved",
"favoritesRemoveTooltip": "Remove from favorites",
"favoritesRemovedMessage": "{stationName} removed from favorites",
"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": {}
@@ -226,7 +254,7 @@
"stationName": {}
}
},
"alarmPostponedCurrentExecution": "Alarm postponed for this occurrence.",
"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",
@@ -257,9 +285,9 @@
"languageNameJapanese": "japonês",
"languageNameArabic": "árabe",
"languageNameRussian": "russo",
"homeScreenSubtitle": "Live global radio with clean signals, smart favorites, and a show-style visual experience.",
"exploreStations": "Explore stations",
"stationsCount": "{count} stations",
"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": {
@@ -267,36 +295,36 @@
}
}
},
"qualityHd": "HD quality",
"nearYou": "Near you",
"nearYouInCountry": "Near you ? {country}",
"qualityHd": "Qualidade HD",
"nearYou": "Perto de você",
"nearYouInCountry": "Perto de você · {country}",
"@nearYouInCountry": {
"placeholders": {
"country": {}
}
},
"detectAction": "Detect",
"liveRadar": "Live radar",
"genresTitle": "Genres",
"retryAction": "Retry",
"noStationsAvailable": "No stations available",
"noStationsAvailableSubtitle": "Try refreshing or choosing another genre to capture a signal again.",
"detectAction": "Detectar",
"liveRadar": "Radar ao vivo",
"genresTitle": "Gêneros",
"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": "Classical",
"genreElectronic": "Electronic",
"genreNews": "News",
"genreTalk": "Talk",
"genreClassical": "Clássica",
"genreElectronic": "Eletrônica",
"genreNews": "Notícias",
"genreTalk": "Conversa",
"genreHipHop": "Hip-hop",
"genreCountry": "Country",
"genreMetal": "Metal",
"genreReggae": "Reggae",
"genreLatin": "Latin",
"alarmScreenTitle": "Music wake-up",
"alarmScreenSubtitle": "Alarms with radio, safe fallback sound, smart vacations, and the next occurrence always visible.",
"createAlarmAction": "Create alarm",
"alarmsCount": "{count} alarms",
"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": {
@@ -304,10 +332,10 @@
}
}
},
"activeAlarmsWithoutNextTitle": "Active alarms without a next occurrence",
"noActiveAlarms": "No active alarms",
"nextAlarmTitle": "Next alarm",
"activeAlarmsWithoutNextSubtitle": "There are {count} active alarm(s), but they do not currently have a valid future date. Check date, weekdays, and vacations.",
"activeAlarmsWithoutNextTitle": "Alarmes ativos sem próxima execução",
"noActiveAlarms": "Sem alarmes ativos",
"nextAlarmTitle": "Próximo alarme",
"activeAlarmsWithoutNextSubtitle": " {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": {
@@ -315,9 +343,9 @@
}
}
},
"createAlarmHint": "Create an alarm and PluriWave will calculate the next occurrence automatically.",
"alarmVacationPlay": "Plays during vacations",
"alarmVacationPause": "Paused during vacations",
"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": {
@@ -326,61 +354,61 @@
}
}
},
"alarmNextExecution": "Next occurrence: {date}",
"alarmNextExecution": "Próxima execução: {date}",
"@alarmNextExecution": {
"placeholders": {
"date": {}
}
},
"alarmNoNextExecution": "It has no active next occurrence.",
"alarmSkippedExecution": "One occurrence was skipped: {date}.",
"alarmNoNextExecution": "Não há próxima execução ativa.",
"alarmSkippedExecution": "Uma execução foi ignorada: {date}.",
"@alarmSkippedExecution": {
"placeholders": {
"date": {}
}
},
"editAction": "Edit",
"skipNextAction": "Skip next",
"deleteTooltip": "Delete",
"alarmSkippedNoNextSnackbar": "Alarm skipped. There is no next occurrence left.",
"alarmSkippedReturnsSnackbar": "Alarm skipped. It will return on {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": "It is paused for vacations ({vacationName}) and has no next occurrence.",
"alarmVacationPausedNoNext": "Está pausado por férias ({vacationName}) e sem próxima execução.",
"@alarmVacationPausedNoNext": {
"placeholders": {
"vacationName": {}
}
},
"alarmVacationPausedReturns": "It is paused for vacations ({vacationName}) and returns on {date}.",
"alarmVacationPausedReturns": "Está pausado por férias ({vacationName}) e volta em {date}.",
"@alarmVacationPausedReturns": {
"placeholders": {
"vacationName": {},
"date": {}
}
},
"alarmVacationReturns": "With vacations enabled, it will ring again on {date}.",
"alarmVacationReturns": "Com férias ativas, tocará novamente em {date}.",
"@alarmVacationReturns": {
"placeholders": {
"date": {}
}
},
"defaultAlarmName": "Music alarm",
"newAlarmTitle": "New alarm",
"editAlarmTitle": "Edit alarm",
"nameField": "Name",
"timeField": "Time",
"dateField": "Date",
"onceOption": "Once",
"dailyOption": "Daily",
"weekdaysOption": "Weekdays",
"soundAndVolumeSection": "Sound and volume",
"alarmFadeInTitle": "Alarm fade-in",
"alarmFadeInOff": "0 s (no transition)",
"alarmFadeInSummary": "{seconds} s (from 5% to the selected volume)",
"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": {
@@ -388,22 +416,22 @@
}
}
},
"internalSafeSoundLabel": "Internal safe sound",
"soundWarmSunrise": "Warm sunrise",
"soundSoftBell": "Soft bell",
"soundDigitalPulse": "Digital pulse",
"favoriteStationLabel": "Favorite station",
"noStationUseInternalSound": "No station: use internal sound",
"saveFavoritesAlarmHint": "Save stations in Favorites to use them as a music alarm.",
"useCurrentStationAction": "Use current station",
"playDuringVacations": "Play during vacations",
"playDuringVacationsHint": "If you turn this off, the next occurrence will jump to the first valid day.",
"saveAlarmAction": "Save alarm",
"chooseOneWeekdayError": "Choose at least one weekday.",
"androidReliabilityReview": "Review Android reliability",
"internalSafeSoundLabel": "Som seguro interno",
"soundWarmSunrise": "Amanhecer acolhedor",
"soundSoftBell": "Sino suave",
"soundDigitalPulse": "Pulso digital",
"favoriteStationLabel": "Estação favorita",
"noStationUseInternalSound": "Sem estação: usar som interno",
"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": "pending",
"androidReliabilityStatus": "Reliability: exact {exact} ? notifications {notifications} ? screen {screen}",
"statusPending": "pendente",
"androidReliabilityStatus": "Confiabilidade: exatos {exact} · notificações {notifications} · tela {screen}",
"@androidReliabilityStatus": {
"placeholders": {
"exact": {},
@@ -411,19 +439,165 @@
"screen": {}
}
},
"vacationRangesTitle": "Vacation ranges",
"addAction": "Add",
"vacationRangesHint": "If an alarm is set to \"Paused during vacations\", it automatically skips these ranges.",
"noVacationRangesLoaded": "No ranges loaded.",
"deleteRangeTooltip": "Delete range",
"vacationsDefaultName": "Vacation",
"newVacationRangeTitle": "New vacation range",
"startField": "Start",
"endField": "End",
"saveRangeAction": "Save range",
"noAlarmsYetTitle": "There are no alarms yet.",
"noAlarmsYetSubtitle": "Create one to design your musical wake-up.",
"ringingInternalAudioActive": "Playing with internal safe audio.",
"ringingPreparingInternalAudio": "Preparing internal safe audio.",
"stopAlarmAction": "Stop alarm"
"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",
"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",
"pauseAction": "Pausar",
"miniPlayerOpenLabel": "Abrir reprodutor de {stationName}",
"@miniPlayerOpenLabel": {
"placeholders": {
"stationName": {}
}
},
"playerIconLabel": "Reprodutor",
"playbackStatusConnecting": "Conectando...",
"playbackStatusLive": "Ao vivo",
"playbackStatusPaused": "Pausado",
"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.",
"alarmScheduleOnce": "Uma vez · {date}",
"@alarmScheduleOnce": {
"placeholders": {
"date": {}
}
},
"alarmScheduleWeekdays": "Dias: {days}",
"@alarmScheduleWeekdays": {
"placeholders": {
"days": {}
}
},
"androidReliabilityTitle": "Revisar confiabilidade Android",
"closeAction": "Fechar",
"customOption": "Personalizada",
"endLabel": "Fim",
"equalizerDisable": "Desativar equalizador",
"helpTitle": "Ajuda e tutorial",
"helpSubtitle": "Revê funções, dicas e novidades do PluriWave.",
"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"
}