Files
pluriwave/lib/l10n/gen/app_localizations_pt.dart
T
FreeTLab bd2b7d8e02 refactor(ajustes): split Settings AUDIO/EMISORAS into pushed detail screens
Moves the AUDIO group (Ecualizador, Salida de audio, Temporizador de
sueno) and the EMISORAS group (Grupos de favoritos, Emisora preferida,
Emisoras personalizadas, Orden de listas) out of pantalla_ajustes.dart
into 7 new lib/pantallas/ajustes/*.dart screens, each wrapped in
PluriPushScaffold. The root now reaches them through FilaAjuste rows
under two new GrupoAjustes cards (lib/pantallas/ajustes/widgets/
fila_ajuste.dart), per design ADR-3.

Verbatim-move rule applied throughout: only each section's panel header
(icon + title, sometimes a status chip) was removed, since the pushed
screen's own 56px header now carries the title. Two sections whose
header row carried a real action (Temporizador de sueno's "Add",
Grupos de favoritos' "Add list", Emisoras personalizadas' "Add") kept
that action in the body instead of dropping it.

size:exception (move-only diff, pre-recorded at design/tasks time):
34 files, ~4250 changed lines excluding the 13 auto-regenerated l10n
files (~90 more lines there) - higher than the 800-1000 estimate
because that estimate covered the 7 production screens but not the
matching 7 new test files (task 3a.2), one of which relocates ~10
pre-existing device-management test cases verbatim. Business logic is
untouched; app.dart's import of pantalla_ajustes.dart is unchanged.

Correction to tasks.md 3a.1/3a.8: those two lines describe the combined
WU3a+WU3b end state ("4 grouped nav lists", "<400 lines"), matching
design ADR-3's own aggregate blast-radius note - not a WU3a-only claim.
This commit converts only the 2 groups that are WU3a's job; the root
is 788 lines with 5 sections (Grabaciones, Musica local, Idioma,
Backup, Info) still inline, reachable, and unchanged, pending WU3b.

Two new ARB keys (settingsGroupAudioTitle, settingsGroupStationsTitle),
en/es only per the WU1 precedent - all 7 detail-screen titles reuse
existing keys. Discovered and worked around, without touching app
code: Directory.systemTemp hangs real dart:io writes in this sandbox,
and pumpAndSettle() cannot settle while a screen shows an indeterminate
CircularProgressIndicator - both are test-only concerns, documented
inline where hit.

Tests: 560 -> 579 (32 in this commit's scope, net +19 after retiring
13 relocated cases from the old combined pantalla_ajustes_test.dart).
flutter analyze: unchanged at 1 pre-existing info. git diff is empty
for navegacion_auto.dart, servicio_ecualizador.dart and
servicio_audio.dart; pantalla_alarma_sonando_dismiss_guard_test.dart
untouched.
2026-07-28 21:38:20 +02:00

1373 lines
32 KiB
Dart

// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Portuguese (`pt`).
class AppLocalizationsPt extends AppLocalizations {
AppLocalizationsPt([String locale = 'pt']) : super(locale);
@override
String get appTitle => 'PluriWave';
@override
String get navHome => 'Início';
@override
String get navSearch => 'Buscar';
@override
String get navFavorites => 'Favoritos';
@override
String get navAlarms => 'Alarmes';
@override
String get navSettings => 'Configurações';
@override
String get actionOk => 'OK';
@override
String get sleepTimer => 'Timer de sono';
@override
String get sleepTimerDescription =>
'Desligamento suave da rádio com contagem regressiva exata.';
@override
String get cancelTimer => 'Cancelar timer';
@override
String get optionOther => 'Outro';
@override
String get customDurationTitle => 'Duração personalizada';
@override
String get durationGreaterThanZero => 'Escolha uma duração maior que zero.';
@override
String get hoursLabel => 'Horas';
@override
String get minutesLabel => 'Minutos';
@override
String get secondsLabel => 'Segundos';
@override
String durationHoursMinutesSeconds(
Object hours,
Object minutes,
Object seconds,
) {
return '$hours h $minutes min $seconds s';
}
@override
String durationMinutesSeconds(Object minutes, Object seconds) {
return '$minutes min $seconds s';
}
@override
String durationMinutesOnly(Object minutes) {
return '$minutes min';
}
@override
String durationSecondsOnly(Object seconds) {
return '$seconds s';
}
@override
String get saveQuickAccess => 'Salvar como acesso rápido';
@override
String get startTimer => 'Iniciar timer';
@override
String skipCurrentAlarmExecution(Object alarmName) {
return 'Esta execução de $alarmName foi ignorada.';
}
@override
String get settingsTitle => 'Configurações';
@override
String get settingsSubtitle =>
'Controle fino de som, backups e estações personalizadas.';
@override
String get settingsGroupAudioTitle => 'AUDIO';
@override
String get settingsGroupStationsTitle => 'EMISORAS';
@override
String get languageSectionTitle => 'Idioma';
@override
String get languageSectionDescription =>
'Escolha como o idioma do app é exibido.';
@override
String get languageSystemDefault => 'Sistema';
@override
String get languageSpanish => 'Espanhol';
@override
String get languageEnglish => 'Inglês';
@override
String languageUpdated(Object languageName) {
return 'Idioma atualizado: $languageName';
}
@override
String get languageUpdatedSystem => 'Idioma atualizado: Sistema';
@override
String get timerSectionTitle => 'Timer de sono';
@override
String get timerSectionAdd => 'Adicionar';
@override
String get timerSectionDescription =>
'Personalize os acessos rápidos exibidos ao desligar a rádio automaticamente.';
@override
String get timerSectionRestoreRecommended => 'Restaurar tempos recomendados';
@override
String get newQuickAccessTitle => 'Novo acesso rápido';
@override
String get saveQuickAccessButton => 'Salvar acesso rápido';
@override
String get settingsSafeStatus => 'Seguro';
@override
String get recordingsSectionTitle => 'Gravações';
@override
String get recordingsFolderDialogTitle => 'Selecione a pasta de gravações';
@override
String get recordingsPathUpdated => 'Caminho de gravação atualizado';
@override
String recordingsPathSaveError(Object error) {
return 'Não foi possível salvar o caminho: $error';
}
@override
String get recordingsDefaultFolderRestored =>
'A pasta interna padrão será usada';
@override
String get recordingsFolderTitle => 'Pasta de gravação';
@override
String get recordingsPathCalculating => 'Calculando caminho...';
@override
String get recordingsChangePath => 'Alterar caminho';
@override
String get recordingsUseDefaultPath => 'Usar caminho padrão';
@override
String get recordingsOriginalStreamHint =>
'A rádio é salva a partir do stream original, sem recompressão.';
@override
String get equalizerActive => 'Ativo';
@override
String get equalizerDisabled => 'Desativado';
@override
String get equalizerEnable => 'Ativar equalizador';
@override
String get equalizerRealtimeSubtitle =>
'As alterações são aplicadas em tempo real à estação atual.';
@override
String get equalizerPendingSubtitle =>
'As alterações são salvas e serão aplicadas quando o Android habilitar o efeito.';
@override
String get equalizerPerStationTitle => 'Usar EQ próprio para este favorito';
@override
String equalizerPerStationActive(Object stationName) {
return 'Ativo para $stationName';
}
@override
String equalizerPerStationMain(Object stationName) {
return 'Usando o EQ principal para $stationName';
}
@override
String get preferredStationTitle => 'Estação preferida';
@override
String get preferredStationDescription =>
'Pré-selecionada ao criar alarmes e disponível para reprodução rápida.';
@override
String get preferredStationNoStationsTitle =>
'Ainda não há estações disponíveis';
@override
String get preferredStationNoStationsSubtitle =>
'Salve favoritas ou carregue estações para escolher uma preferida.';
@override
String get preferredStationAutomaticFallback => 'Fallback automático';
@override
String get preferredStationDefaultFavorite => 'Favorita padrão';
@override
String preferredStationCurrent(Object stationName) {
return 'Preferida atual: $stationName';
}
@override
String preferredStationAutoUsing(Object stationName) {
return 'Sem favoritas: usando automaticamente $stationName';
}
@override
String get preferredStationPlay => 'Reproduzir preferida';
@override
String get customStationsTitle => 'Estações personalizadas';
@override
String get customStationsAdd => 'Adicionar';
@override
String get customStationsEmpty => 'Não há estações personalizadas.';
@override
String get playAction => 'Reproduzir';
@override
String get deleteAction => 'Excluir';
@override
String get addStationTitle => 'Adicionar estação';
@override
String get stationNameLabel => 'Nome *';
@override
String get unnamedStation => 'Estação sem nome';
@override
String get requiredField => 'Campo obrigatório';
@override
String get streamUrlLabel => 'URL do stream *';
@override
String get invalidUrl => 'URL inválida';
@override
String get countryOptionalLabel => 'País (opcional)';
@override
String get saveStation => 'Salvar estação';
@override
String get backupSectionTitle => 'Backup';
@override
String get backupExportTitle => 'Exportar configuração';
@override
String get backupExportSubtitle =>
'Favoritos, estações personalizadas e presets de EQ';
@override
String get backupImportTitle => 'Importar configuração';
@override
String get backupImportSubtitle =>
'Restaurar a partir de um arquivo de backup';
@override
String get backupShareSubject => 'PluriWave — backup';
@override
String backupShareText(Object date) {
return 'Configuração do PluriWave exportada em $date';
}
@override
String backupExportError(Object error) {
return 'Erro ao exportar: $error';
}
@override
String get backupImportConfirmMessage =>
'Isso adicionará favoritos, estações e presets do arquivo. Continuar?';
@override
String get backupImportSuccess => 'Configuração importada com sucesso';
@override
String backupImportError(Object error) {
return 'Erro ao importar: $error';
}
@override
String get appVersionLoading => 'Carregando versão...';
@override
String appVersionSubtitle(Object version) {
return '$version - Rádio mundial';
}
@override
String get savedFavoritesTitle => 'Favoritos salvos';
@override
String get stationFilterTitle => 'Filtro de estações';
@override
String get stationFilterSubtitle => 'Apenas estações verificadas como ativas';
@override
String get backgroundAudioTitle => 'Áudio em segundo plano';
@override
String get backgroundAudioSubtitle => 'Continua ao desligar a tela';
@override
String get dash => '—';
@override
String get cancelAction => 'Cancelar';
@override
String get equalizerTitle => 'Equalizador';
@override
String get recordingsOpenFolder => 'Abrir pasta';
@override
String recordingsOpenFolderError(Object error) {
return 'Não foi possível abrir a pasta: $error';
}
@override
String get recordingsMaxSizeTitle => 'Tamanho máximo da gravação';
@override
String recordingsMaxSizeSubtitle(int size) {
return 'Limite atual: $size MB';
}
@override
String get recordingsMaxSizeDialogTitle => 'Tamanho máximo por gravação';
@override
String get recordingsMaxSizeMbLabel => 'Megabytes máximos';
@override
String recordingsMaxSizeSaved(int size) {
return 'Limite de gravação atualizado para $size MB';
}
@override
String get stationOrderTitle => 'Ordem das estações';
@override
String get stationOrderByName => 'Por nome';
@override
String get stationOrderByQuality => 'Por qualidade';
@override
String get stationOrderScopeDescription =>
'Aplica-se a favoritos, buscas, estações próximas e listas rápidas.';
@override
String get favoriteGroupsTitle => 'Listas de favoritos';
@override
String get favoriteGroupsDescription =>
'Crie listas curtas para organizar suas estações salvas.';
@override
String get favoriteGroupsAdd => 'Adicionar lista';
@override
String get favoriteGroupsEdit => 'Editar lista';
@override
String get favoriteGroupsDelete => 'Excluir lista';
@override
String get favoriteGroupsNameLabel => 'Nome da lista';
@override
String get favoriteGroupsNameTooLong => 'Máximo de 28 caracteres.';
@override
String get favoriteGroupsUnassigned => 'Sem atribuição';
@override
String get favoriteGroupsProtectedHint =>
'Lista padrão: não pode ser editada nem excluída.';
@override
String get favoriteGroupsCreated => 'Lista criada';
@override
String get favoriteGroupsUpdated => 'Lista atualizada';
@override
String get favoriteGroupsDeleted =>
'Lista excluída; suas estações voltam para Sem atribuição.';
@override
String get favoriteGroupsAssign => 'Mover para lista';
@override
String favoriteGroupsAssignSubtitle(Object groupName) {
return 'Lista atual: $groupName';
}
@override
String favoriteGroupsAssigned(Object stationName, Object groupName) {
return '$stationName movida para $groupName';
}
@override
String get favoritesTitle => 'Favoritos';
@override
String get favoritesEmptyTitle => 'Ainda sem favoritos';
@override
String get favoritesEmptySubtitle =>
'Toque no coração em qualquer estação para salvá-la na sua coleção.';
@override
String get favoritesHeaderSubtitle =>
'Organize sua coleção por listas e mantenha as rádios importantes por perto.';
@override
String get favoritesCollection => 'Coleção';
@override
String favoritesSavedCount(int count) {
return '$count salvas';
}
@override
String get favoritesRemoveTooltip => 'Remover dos favoritos';
@override
String favoritesRemovedMessage(Object stationName) {
return '$stationName removida dos favoritos';
}
@override
String get alarmPostponedCurrentExecution =>
'Alarme adiado para esta execução.';
@override
String get searchScreenTitle => 'Buscar sinal';
@override
String get searchScreenSubtitle =>
'Encontre estações por nome, país ou idioma com filtros rápidos e contraste elevado.';
@override
String get searchFiltersLabel => 'Filtros';
@override
String get searchHint => 'Rádio Horizonte, jazz, notícias...';
@override
String get searchCountryFilterLabel => 'País';
@override
String get searchLanguageFilterLabel => 'Idioma';
@override
String get searchMinQualityFilterLabel => 'Qualidade mínima';
@override
String get searchEmptyTitle => 'Busque uma estação';
@override
String get searchNoResultsTitle => 'Sem resultados';
@override
String get searchEmptySubtitle =>
'Use a barra superior ou os chips para descobrir estações do mundo todo.';
@override
String get searchNoResultsSubtitle =>
'Tente remover filtros ou digitar outro nome para encontrar uma estação ativa.';
@override
String get countrySpain => 'Espanha';
@override
String get countryUsa => 'EUA';
@override
String get countryMexico => 'México';
@override
String get countryArgentina => 'Argentina';
@override
String get countryUk => 'Reino Unido';
@override
String get countryFrance => 'França';
@override
String get countryGermany => 'Alemanha';
@override
String get countryItaly => 'Itália';
@override
String get countryBrazil => 'Brasil';
@override
String get countryJapan => 'Japão';
@override
String get languageNameSpanish => 'espanhol';
@override
String get languageNameEnglish => 'inglês';
@override
String get languageNameFrench => 'francês';
@override
String get languageNameGerman => 'alemão';
@override
String get languageNamePortuguese => 'português';
@override
String get languageNameItalian => 'italiano';
@override
String get languageNameJapanese => 'japonês';
@override
String get languageNameArabic => 'árabe';
@override
String get languageNameRussian => 'russo';
@override
String get homeScreenSubtitle =>
'Rádio global ao vivo com sinais limpos, favoritos inteligentes e uma experiência visual de game show.';
@override
String get exploreStations => 'Explorar estações';
@override
String stationsCount(int count) {
return '$count rádios';
}
@override
String get qualityHd => 'Qualidade HD';
@override
String get nearYou => 'Perto de você';
@override
String nearYouInCountry(Object country) {
return 'Perto de você · $country';
}
@override
String get detectAction => 'Detectar';
@override
String get liveRadar => 'Radar ao vivo';
@override
String get genresTitle => 'Gêneros';
@override
String get retryAction => 'Tentar novamente';
@override
String get noStationsAvailable => 'Não há estações disponíveis';
@override
String get noStationsAvailableSubtitle =>
'Tente atualizar ou escolher outro gênero para captar sinal novamente.';
@override
String get genrePop => 'Pop';
@override
String get genreRock => 'Rock';
@override
String get genreJazz => 'Jazz';
@override
String get genreClassical => 'Clássica';
@override
String get genreElectronic => 'Eletrônica';
@override
String get genreNews => 'Notícias';
@override
String get genreTalk => 'Conversa';
@override
String get genreHipHop => 'Hip-hop';
@override
String get genreCountry => 'Country';
@override
String get genreMetal => 'Metal';
@override
String get genreReggae => 'Reggae';
@override
String get genreLatin => 'Latina';
@override
String get alarmScreenTitle => 'Despertar musical';
@override
String get alarmScreenSubtitle =>
'Alarmes com rádio, som seguro, férias inteligentes e próxima execução sempre visível.';
@override
String get createAlarmAction => 'Criar alarme';
@override
String alarmsCount(int count) {
return '$count alarmes';
}
@override
String get activeAlarmsWithoutNextTitle =>
'Alarmes ativos sem próxima execução';
@override
String get noActiveAlarms => 'Sem alarmes ativos';
@override
String get nextAlarmTitle => 'Próximo alarme';
@override
String activeAlarmsWithoutNextSubtitle(int count) {
return 'Há $count alarme(s) ativos, mas no momento não têm uma data futura válida. Verifique data, dias e férias.';
}
@override
String get createAlarmHint =>
'Crie um alarme e o PluriWave calculará automaticamente a próxima execução.';
@override
String get alarmVacationPlay => 'Toca durante as férias';
@override
String get alarmVacationPause => 'Pausa nas férias';
@override
String alarmFadeInLabel(int seconds) {
return 'Fade-in ${seconds}s';
}
@override
String alarmNextExecution(Object date) {
return 'Próxima execução: $date';
}
@override
String get alarmNoNextExecution => 'Não há próxima execução ativa.';
@override
String alarmSkippedExecution(Object date) {
return 'Uma execução foi ignorada: $date.';
}
@override
String get editAction => 'Editar';
@override
String get skipNextAction => 'Ignorar próxima';
@override
String get deleteTooltip => 'Excluir';
@override
String get alarmSkippedNoNextSnackbar =>
'Alarme ignorado. Não resta próxima execução.';
@override
String alarmSkippedReturnsSnackbar(Object date) {
return 'Alarme ignorado. Voltará em $date.';
}
@override
String alarmVacationPausedNoNext(Object vacationName) {
return 'Está pausado por férias ($vacationName) e sem próxima execução.';
}
@override
String alarmVacationPausedReturns(Object vacationName, Object date) {
return 'Está pausado por férias ($vacationName) e volta em $date.';
}
@override
String alarmVacationReturns(Object date) {
return 'Com férias ativas, tocará novamente em $date.';
}
@override
String get defaultAlarmName => 'Despertador musical';
@override
String get newAlarmTitle => 'Novo alarme';
@override
String get editAlarmTitle => 'Editar alarme';
@override
String get nameField => 'Nome';
@override
String get timeField => 'Hora';
@override
String get dateField => 'Data';
@override
String get onceOption => 'Uma vez';
@override
String get dailyOption => 'Diária';
@override
String get weekdaysOption => 'Dias';
@override
String get soundAndVolumeSection => 'Som e volume';
@override
String get alarmFadeInTitle => 'Fade-in do alarme';
@override
String get alarmFadeInOff => '0 s (sem transição)';
@override
String alarmFadeInSummary(int seconds) {
return '$seconds s (de 5% ao volume escolhido)';
}
@override
String get internalSafeSoundLabel => 'Som seguro interno';
@override
String get soundWarmSunrise => 'Amanhecer acolhedor';
@override
String get soundSoftBell => 'Sino suave';
@override
String get soundDigitalPulse => 'Pulso digital';
@override
String get favoriteStationLabel => 'Estação favorita';
@override
String get noStationUseInternalSound => 'Sem estação: usar som interno';
@override
String get alarmFallbackStationLabel => 'Estação reserva';
@override
String get alarmStationPickerSearchHint => 'Buscar estação pelo nome';
@override
String get alarmSnoozeDurationTitle => 'Duração da soneca';
@override
String get snoozeAction => 'Soneca';
@override
String alarmSnoozeOptionLabel(int minutes) {
return '$minutes min';
}
@override
String get saveFavoritesAlarmHint =>
'Salve estações nos Favoritos para usá-las como alarme musical.';
@override
String get useCurrentStationAction => 'Usar estação atual';
@override
String get playDuringVacations => 'Tocar durante as férias';
@override
String get playDuringVacationsHint =>
'Se você desativar, a próxima execução saltará para o primeiro dia válido.';
@override
String get saveAlarmAction => 'Salvar alarme';
@override
String get chooseOneWeekdayError => 'Escolha pelo menos um dia da semana.';
@override
String get androidReliabilityReview => 'Revisar confiabilidade Android';
@override
String get statusOk => 'OK';
@override
String get statusPending => 'pendente';
@override
String androidReliabilityStatus(
Object exact,
Object notifications,
Object screen,
) {
return 'Confiabilidade: exatos $exact · notificações $notifications · tela $screen';
}
@override
String get vacationRangesTitle => 'Períodos de férias';
@override
String get addAction => 'Adicionar';
@override
String get vacationRangesHint =>
'Se um alarme tiver \"Pausa nas férias\", estes períodos serão ignorados automaticamente.';
@override
String get noVacationRangesLoaded => 'Nenhum período carregado.';
@override
String get deleteRangeTooltip => 'Excluir período';
@override
String get vacationsDefaultName => 'Férias';
@override
String get newVacationRangeTitle => 'Novo período de férias';
@override
String get startField => 'Início';
@override
String get endField => 'Fim';
@override
String get saveRangeAction => 'Salvar período';
@override
String get noAlarmsYetTitle => 'Ainda não há alarmes.';
@override
String get noAlarmsYetSubtitle =>
'Crie um para configurar seu despertar musical.';
@override
String get ringingInternalAudioActive => 'Tocando com som seguro interno.';
@override
String get ringingPreparingInternalAudio => 'Preparando som seguro interno.';
@override
String get stopAlarmAction => 'Parar alarme';
@override
String get alarmStopFailedMessage =>
'Não conseguimos confirmar que o alarme parou. Tente novamente.';
@override
String get alarmForceStopAction => 'Forçar parada';
@override
String get alarmMissedNotificationTitle => 'Alarme perdido';
@override
String alarmMissedNotificationText(Object name) {
return '$name foi silenciado automaticamente após 10 minutos.';
}
@override
String get pauseAction => 'Pausar';
@override
String miniPlayerOpenLabel(Object stationName) {
return 'Abrir reprodutor de $stationName';
}
@override
String get playerIconLabel => 'Reprodutor';
@override
String get playbackStatusConnecting => 'Conectando...';
@override
String get playbackStatusLive => 'Ao vivo';
@override
String get playbackStatusPaused => 'Pausado';
@override
String get playbackStatusReconnecting => 'Reconectando...';
@override
String get playbackStatusConnectionError => 'Erro de conexão';
@override
String get playbackStatusStopped => 'Parado';
@override
String stationSemanticLabel(Object stationName) {
return 'Estação $stationName';
}
@override
String get favoritesAddTooltip => 'Adicionar aos favoritos';
@override
String favoritesAddedMessage(Object stationName) {
return '$stationName adicionada aos favoritos';
}
@override
String get stationIconLabel => 'Ícone da estação';
@override
String get liveNow => 'Ao vivo';
@override
String equalizerBandLabel(Object band) {
return 'Banda $band';
}
@override
String equalizerBandValue(Object value) {
return '$value decibéis';
}
@override
String get equalizerPresetFlat => 'Plano';
@override
String get equalizerPresetRock => 'Rock';
@override
String get equalizerPresetPop => 'Pop';
@override
String get equalizerPresetBassBoost => 'Reforço de graves';
@override
String get equalizerPresetJazz => 'Jazz';
@override
String get equalizerPresetVoice => 'Voz';
@override
String get equalizerPresetCustom => 'Personalizado';
@override
String get onboardingTitle => 'Bem-vindo ao PluriWave';
@override
String get onboardingNewsTitle => 'Novidades';
@override
String get onboardingStartAction => 'Começar';
@override
String get onboardingCloseTooltip => 'Fechar';
@override
String radioRecordingError(Object error) {
return 'Erro ao gravar a rádio: $error';
}
@override
String get radioApiConnectionError => 'Sem conexão com a API de rádio';
@override
String get radioSearchError => 'Erro na busca. Verifique sua conexão.';
@override
String get radioLoadMoreStationsError =>
'Não foi possível carregar mais estações.';
@override
String get radioNearbyStationsError =>
'Não foi possível detectar estações próximas. Use filtros por país.';
@override
String radioCannotPlayStation(Object stationName) {
return 'Não é possível reproduzir \"$stationName\"';
}
@override
String get recordingSelectStationFirst =>
'Primeiro selecione uma estação para gravar.';
@override
String recordingStartError(Object error) {
return 'Não foi possível iniciar a gravação: $error';
}
@override
String get unsupportedConfigVersion =>
'Versão de configuração não compatível';
@override
String get audioErrorGeneric => 'Erro de reprodução';
@override
String get audioErrorNoInternet => 'Sem conexão com a internet';
@override
String get audioErrorInvalidUrl => 'A URL da rádio não é válida';
@override
String get audioErrorNotFound => 'A rádio não está disponível (erro 404)';
@override
String get audioErrorTimeout => 'Tempo esgotado ao conectar';
@override
String get audioErrorCannotConnect => 'Não é possível conectar à rádio';
@override
String get audioErrorUnsupportedFormat => 'Formato de stream não compatível';
@override
String get audioErrorDecode => 'Erro ao decodificar o stream de áudio';
@override
String get audioErrorCleartext =>
'Esta rádio usa HTTP sem criptografia, o que não é permitido';
@override
String get audioErrorSsl => 'Certificado SSL inválido na rádio';
@override
String get audioErrorCannotPlay => 'Não é possível reproduzir esta rádio';
@override
String get audioErrorUnexpectedPlayback => 'Erro inesperado ao reproduzir';
@override
String get androidExactAlarmScheduleError =>
'O Android não conseguiu agendar um alarme exato. Verifique a permissão de alarmes exatos.';
@override
String get recordingPathEmptyError =>
'O caminho de gravação não pode estar vazio';
@override
String get recordingMaxSizeInvalidError =>
'O tamanho máximo deve ser maior que zero';
@override
String get recordingAlreadyActiveError => 'Já há uma gravação em andamento';
@override
String get alarmRingingFallbackActive => 'Tocando com áudio interno seguro.';
@override
String get alarmRingingPreparingFallback =>
'Preparando áudio interno seguro.';
@override
String get alarmRingingTryingStation =>
'Tentando reproduzir sua estação com a maior qualidade disponível.';
@override
String alarmScheduleOnce(Object date) {
return 'Uma vez · $date';
}
@override
String alarmScheduleWeekdays(Object days) {
return 'Dias: $days';
}
@override
String get androidReliabilityTitle => 'Revisar confiabilidade Android';
@override
String get closeAction => 'Fechar';
@override
String get customOption => 'Personalizada';
@override
String get endLabel => 'Fim';
@override
String get equalizerDisable => 'Desativar equalizador';
@override
String get helpTitle => 'Ajuda e tutorial';
@override
String get helpSubtitle => 'Revê funções, dicas e novidades do PluriWave.';
@override
String get indefiniteOption => 'Indefinida';
@override
String get invalidNumber => 'Número inválido';
@override
String get nameLabel => 'Nome';
@override
String get notPlaying => 'Não está reproduzindo';
@override
String get oneTimeOption => 'Uma vez';
@override
String get pausePlaybackTooltip => 'Pausar reprodução';
@override
String qualityOriginal(Object quality) {
return 'Qualidade original: $quality';
}
@override
String get qualityUnknown => 'Qualidade não informada';
@override
String get recordAction => 'Gravar';
@override
String get recordDurationTitle => 'Duração da gravação';
@override
String get recordRadioSubtitle => 'Escolha por quanto tempo deseja gravar.';
@override
String get recordRadioTitle => 'Gravar rádio';
@override
String get recordingActiveTitle => 'Gravando rádio';
@override
String get recordingDirectTitle => 'Gravação direta';
@override
String get recordingsOpenFolderPlainError =>
'Não foi possível abrir a pasta de gravações';
@override
String get recordingsOpenLatest => 'Abrir última gravação';
@override
String get recordingsOpenLatestError =>
'Não foi possível abrir a última gravação';
@override
String get startLabel => 'Início';
@override
String get startPlaybackTooltip => 'Iniciar reprodução';
@override
String get stopAction => 'Parar';
@override
String get stopPlaybackTooltip => 'Parar reprodução';
@override
String get weekdayShortMonday => 'Seg';
@override
String get weekdayShortTuesday => 'Ter';
@override
String get weekdayShortWednesday => 'Qua';
@override
String get weekdayShortThursday => 'Qui';
@override
String get weekdayShortFriday => 'Sex';
@override
String get weekdayShortSaturday => 'Sáb';
@override
String get weekdayShortSunday => 'Dom';
@override
String stationCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count estações',
one: '1 estação',
);
return '$_temp0';
}
@override
String get alarmIconLabel => 'Alarme musical';
@override
String get vacationIconLabel => 'Modo férias';
@override
String get streamUrlHint => 'https://stream.example.com:8000/radio';
@override
String get advancedEqSectionTitle => 'Opções avançadas de equalização';
@override
String get advancedEqEnableToggle => 'Ativar EQ por dispositivo';
@override
String get advancedEqEnableToggleSubtitle =>
'Aplica automaticamente um preset de EQ diferente quando a saída de áudio muda.';
@override
String get advancedEqKnownDevicesTitle => 'Dispositivos de áudio conhecidos';
@override
String get advancedEqKnownDevicesEmpty =>
'Nenhum dispositivo de áudio registrado ainda. Conecte um dispositivo para começar.';
@override
String advancedEqDevicePresetLabel(Object presetName) {
return 'Preset: $presetName';
}
@override
String preNoticeCountdown(int minutes) {
return 'Começa em $minutes min';
}
@override
String snoozeCountdown(int minutes) {
return 'Toca em $minutes min';
}
@override
String get snoozeAgainAction => 'Adiar novamente';
@override
String get alarmRingingNotificationTitle => 'Alarme PluriWave';
@override
String get alarmFireChannelName => 'Alarmes tocando';
@override
String get alarmFireChannelDescription =>
'Som e tela urgentes quando um alarme musical deve tocar';
@override
String get alarmPreNoticeChannelName => 'Avisos de alarme';
@override
String get alarmPreNoticeChannelDescription =>
'Notificações silenciosas antes do alarme';
@override
String get openFolderChooserTitle => 'Abrir pasta';
@override
String get openRecordingChooserTitle => 'Abrir gravação';
@override
String get eqDeviceEditTitle => 'Editar dispositivo';
@override
String get eqDeviceNameLabel => 'Nome do dispositivo';
@override
String get eqDeviceNameHint => 'Ex: Caixa da sala';
@override
String get eqDeviceNameConfirm => 'Salvar';
@override
String get eqDeviceConnected => 'Conectado';
@override
String get eqDeviceActiveOutput => 'O áudio está a sair por este dispositivo';
@override
String get eqDeviceRemove => 'Remover dispositivo';
@override
String eqDeviceRemoved(Object device) {
return '$device removido';
}
@override
String get localMusicSectionTitle => 'Música local (Android Auto)';
@override
String get localMusicSectionDescription =>
'Escolha uma pasta neste dispositivo para navegar e reproduzir os arquivos de áudio dela no carro.';
@override
String get localMusicFolderNotConfigured => 'Nenhuma pasta selecionada';
@override
String get localMusicFolderTitle => 'Pasta de música local';
@override
String get localMusicChoosePath => 'Escolher pasta';
@override
String get localMusicChangePath => 'Alterar pasta';
@override
String get localMusicFolderUpdated => 'Pasta de música local atualizada';
@override
String localMusicFolderSaveError(Object error) {
return 'Não foi possível salvar a pasta: $error';
}
@override
String get localMusicFolderGenericName => 'Pasta selecionada';
}