Files
pluriwave/lib/l10n/app_es.arb
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

653 lines
25 KiB
Plaintext

{
"@@locale": "es",
"appTitle": "PluriWave",
"navHome": "Escuchar",
"navSearch": "Buscar",
"navFavorites": "Favoritos",
"navAlarms": "Alarmas",
"navSettings": "Ajustes",
"actionOk": "OK",
"sleepTimer": "Timer de sueño",
"sleepTimerDescription": "Apagado suave de la radio con cuenta atrás exacta.",
"cancelTimer": "Cancelar timer",
"optionOther": "Otro",
"customDurationTitle": "Duración personalizada",
"durationGreaterThanZero": "Elegí una duración mayor que cero.",
"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": "Guardar como acceso rápido",
"startTimer": "Iniciar timer",
"skipCurrentAlarmExecution": "Omitida esta ejecución de {alarmName}.",
"@skipCurrentAlarmExecution": {
"placeholders": {
"alarmName": {}
}
},
"settingsTitle": "Ajustes",
"settingsSubtitle": "Control fino de sonido, copias de seguridad y emisoras personalizadas.",
"settingsGroupAudioTitle": "AUDIO",
"settingsGroupStationsTitle": "EMISORAS",
"languageSectionTitle": "Idioma",
"languageSectionDescription": "Elegí cómo se muestra el idioma de la app.",
"languageSystemDefault": "Sistema",
"languageSpanish": "Español",
"languageEnglish": "Inglés",
"languageUpdated": "Idioma actualizado: {languageName}",
"@languageUpdated": {
"placeholders": {
"languageName": {}
}
},
"languageUpdatedSystem": "Idioma actualizado: Sistema",
"timerSectionTitle": "Timer de sueño",
"timerSectionAdd": "Añadir",
"timerSectionDescription": "Personalizá los accesos rápidos que aparecen al apagar la radio automáticamente.",
"timerSectionRestoreRecommended": "Restaurar tiempos recomendados",
"newQuickAccessTitle": "Nuevo acceso rápido",
"saveQuickAccessButton": "Guardar acceso rápido",
"settingsSafeStatus": "Seguro",
"recordingsSectionTitle": "Grabaciones",
"recordingsFolderDialogTitle": "Selecciona la carpeta de grabaciones",
"recordingsPathUpdated": "Ruta de grabación actualizada",
"recordingsPathSaveError": "No se pudo guardar la ruta: {error}",
"recordingsDefaultFolderRestored": "Se usará la carpeta interna por defecto",
"recordingsFolderTitle": "Carpeta de grabación",
"recordingsPathCalculating": "Calculando ruta...",
"recordingsChangePath": "Cambiar ruta",
"recordingsUseDefaultPath": "Usar ruta por defecto",
"recordingsOriginalStreamHint": "La radio se guarda desde el stream original, sin recomprimir.",
"equalizerActive": "Activo",
"equalizerDisabled": "Desactivado",
"equalizerEnable": "Activar ecualizador",
"equalizerRealtimeSubtitle": "Los cambios se aplican en tiempo real a la emisora actual.",
"equalizerPendingSubtitle": "Se guardan los cambios y se aplicarán cuando Android habilite el efecto.",
"equalizerPerStationTitle": "Usar EQ propio para esta favorita",
"equalizerPerStationActive": "Activo para {stationName}",
"equalizerPerStationMain": "Usando EQ principal para {stationName}",
"preferredStationTitle": "Emisora preferida",
"preferredStationDescription": "Se preselecciona al crear alarmas y puede iniciarse como reproducción rápida.",
"preferredStationNoStationsTitle": "Todavía no hay emisoras disponibles",
"preferredStationNoStationsSubtitle": "Guardá favoritas o cargá emisoras para elegir una preferida.",
"preferredStationAutomaticFallback": "Fallback automático",
"preferredStationDefaultFavorite": "Favorita por defecto",
"preferredStationCurrent": "Preferida actual: {stationName}",
"preferredStationAutoUsing": "Sin favoritas: usando automáticamente {stationName}",
"preferredStationPlay": "Reproducir preferida",
"customStationsTitle": "Emisoras personalizadas",
"customStationsAdd": "Añadir",
"customStationsEmpty": "No hay emisoras personalizadas.",
"playAction": "Reproducir",
"deleteAction": "Eliminar",
"addStationTitle": "Añadir emisora",
"stationNameLabel": "Nombre *",
"unnamedStation": "Sin nombre",
"requiredField": "Campo obligatorio",
"streamUrlLabel": "URL del stream *",
"invalidUrl": "URL no válida",
"countryOptionalLabel": "País (opcional)",
"saveStation": "Guardar emisora",
"backupSectionTitle": "Copia de seguridad",
"backupExportTitle": "Exportar configuración",
"backupExportSubtitle": "Favoritos, emisoras custom y presets de EQ",
"backupImportTitle": "Importar configuración",
"backupImportSubtitle": "Restaurar desde un fichero de copia de seguridad",
"backupShareSubject": "PluriWave — copia de seguridad",
"backupShareText": "Configuración de PluriWave exportada el {date}",
"backupExportError": "Error al exportar: {error}",
"backupImportConfirmMessage": "Esto añadirá los favoritos, emisoras y presets del fichero. ¿Continuar?",
"backupImportSuccess": "Configuración importada correctamente",
"backupImportError": "Error al importar: {error}",
"appVersionLoading": "Cargando versión...",
"appVersionSubtitle": "{version} - Radio mundial",
"savedFavoritesTitle": "Favoritos guardados",
"stationFilterTitle": "Filtro de emisoras",
"stationFilterSubtitle": "Solo emisoras verificadas como activas",
"backgroundAudioTitle": "Audio en background",
"backgroundAudioSubtitle": "Continúa al apagar la pantalla",
"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": "Ecualizador",
"recordingsOpenFolder": "Abrir carpeta",
"recordingsOpenFolderError": "No se pudo abrir la carpeta: {error}",
"recordingsMaxSizeTitle": "Tamaño máximo de grabación",
"recordingsMaxSizeSubtitle": "Límite actual: {size} MB",
"recordingsMaxSizeDialogTitle": "Tamaño máximo por grabación",
"recordingsMaxSizeMbLabel": "Megabytes máximos",
"recordingsMaxSizeSaved": "Límite de grabación actualizado a {size} MB",
"@recordingsOpenFolderError": {
"placeholders": {
"error": {}
}
},
"@recordingsMaxSizeSubtitle": {
"placeholders": {
"size": {
"type": "int"
}
}
},
"@recordingsMaxSizeSaved": {
"placeholders": {
"size": {
"type": "int"
}
}
},
"stationOrderTitle": "Orden de emisoras",
"stationOrderByName": "Por nombre",
"stationOrderByQuality": "Por calidad",
"stationOrderScopeDescription": "Se aplica a favoritos, búsquedas, emisoras cercanas y listados rápidos.",
"favoriteGroupsTitle": "Listas de favoritos",
"favoriteGroupsDescription": "Creá listas cortas para organizar tus emisoras guardadas.",
"favoriteGroupsAdd": "Añadir lista",
"favoriteGroupsEdit": "Editar lista",
"favoriteGroupsDelete": "Eliminar lista",
"favoriteGroupsNameLabel": "Nombre de la lista",
"favoriteGroupsNameTooLong": "Máximo 28 caracteres.",
"favoriteGroupsUnassigned": "Sin asignar",
"favoriteGroupsProtectedHint": "Lista por defecto: no se puede editar ni borrar.",
"favoriteGroupsCreated": "Lista creada",
"favoriteGroupsUpdated": "Lista actualizada",
"favoriteGroupsDeleted": "Lista eliminada; sus emisoras vuelven a Sin asignar.",
"favoriteGroupsAssign": "Mover a lista",
"favoriteGroupsAssignSubtitle": "Lista actual: {groupName}",
"favoriteGroupsAssigned": "{stationName} movida a {groupName}",
"favoritesTitle": "Favoritos",
"favoritesEmptyTitle": "Sin favoritos aún",
"favoritesEmptySubtitle": "Tocá el corazón en cualquier emisora para guardarla en tu colección.",
"favoritesHeaderSubtitle": "Organizá tu colección por listas y dejá cerca las radios importantes.",
"favoritesCollection": "Colección",
"favoritesSavedCount": "{count} guardadas",
"favoritesRemoveTooltip": "Eliminar de favoritos",
"favoritesRemovedMessage": "{stationName} eliminada de favoritos",
"@favoriteGroupsAssignSubtitle": {
"placeholders": {
"groupName": {}
}
},
"@favoriteGroupsAssigned": {
"placeholders": {
"stationName": {},
"groupName": {}
}
},
"@favoritesSavedCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"@favoritesRemovedMessage": {
"placeholders": {
"stationName": {}
}
},
"alarmPostponedCurrentExecution": "Alarma pospuesta para esta ejecución.",
"searchScreenTitle": "Buscar señal",
"searchScreenSubtitle": "Encontrá radios por nombre, país o idioma con filtros rápidos y alto contraste.",
"searchFiltersLabel": "Filtros",
"searchHint": "Radio Horizonte, jazz, noticias...",
"searchCountryFilterLabel": "País",
"searchLanguageFilterLabel": "Idioma",
"searchMinQualityFilterLabel": "Calidad mínima",
"searchEmptyTitle": "Buscá una emisora",
"searchNoResultsTitle": "Sin resultados",
"searchEmptySubtitle": "Usá la barra superior o los chips para descubrir señales de todo el mundo.",
"searchNoResultsSubtitle": "Probá quitar filtros o escribir otro nombre para encontrar una señal activa.",
"countrySpain": "España",
"countryUsa": "EE. UU.",
"countryMexico": "México",
"countryArgentina": "Argentina",
"countryUk": "Reino Unido",
"countryFrance": "Francia",
"countryGermany": "Alemania",
"countryItaly": "Italia",
"countryBrazil": "Brasil",
"countryJapan": "Japón",
"languageNameSpanish": "Español",
"languageNameEnglish": "Inglés",
"languageNameFrench": "Francés",
"languageNameGerman": "Alemán",
"languageNamePortuguese": "Portugués",
"languageNameItalian": "Italiano",
"languageNameJapanese": "Japonés",
"languageNameArabic": "Árabe",
"languageNameRussian": "Ruso",
"homeScreenSubtitle": "Radio global en vivo con señales limpias, favoritos inteligentes y una experiencia visual de concurso.",
"exploreStations": "Explorar emisoras",
"stationsCount": "{count} radios",
"@stationsCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"qualityHd": "Calidad HD",
"nearYou": "Cerca de vos",
"nearYouInCountry": "Cerca de vos · {country}",
"@nearYouInCountry": {
"placeholders": {
"country": {}
}
},
"detectAction": "Detectar",
"liveRadar": "Radar en directo",
"genresTitle": "Géneros",
"retryAction": "Reintentar",
"noStationsAvailable": "No hay emisoras disponibles",
"noStationsAvailableSubtitle": "Probá refrescar o elegir otro género para volver a capturar señal.",
"genrePop": "Pop",
"genreRock": "Rock",
"genreJazz": "Jazz",
"genreClassical": "Clásica",
"genreElectronic": "Electrónica",
"genreNews": "Noticias",
"genreTalk": "Charlas",
"genreHipHop": "Hip-hop",
"genreCountry": "Country",
"genreMetal": "Metal",
"genreReggae": "Reggae",
"genreLatin": "Latina",
"alarmScreenTitle": "Despertar musical",
"alarmScreenSubtitle": "Alarmas con radio, sonido seguro, vacaciones inteligentes y próxima ejecución siempre visible.",
"createAlarmAction": "Crear alarma",
"alarmsCount": "{count} alarmas",
"@alarmsCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"activeAlarmsWithoutNextTitle": "Alarmas activas sin próxima ejecución",
"noActiveAlarms": "Sin alarmas activas",
"nextAlarmTitle": "Próxima alarma",
"activeAlarmsWithoutNextSubtitle": "Hay {count} alarma(s) activas, pero ahora mismo no tienen una fecha futura válida. Revisá fecha, días y vacaciones.",
"@activeAlarmsWithoutNextSubtitle": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"createAlarmHint": "Creá una alarma y PluriWave calculará la siguiente ejecución automáticamente.",
"alarmVacationPlay": "Suena en vacaciones",
"alarmVacationPause": "Pausa en vacaciones",
"alarmFadeInLabel": "Fade-in {seconds}s",
"@alarmFadeInLabel": {
"placeholders": {
"seconds": {
"type": "int"
}
}
},
"alarmNextExecution": "Siguiente ejecución: {date}",
"@alarmNextExecution": {
"placeholders": {
"date": {}
}
},
"alarmNoNextExecution": "No tiene próxima ejecución activa.",
"alarmSkippedExecution": "Una ejecución fue omitida: {date}.",
"@alarmSkippedExecution": {
"placeholders": {
"date": {}
}
},
"editAction": "Editar",
"skipNextAction": "Omitir siguiente",
"deleteTooltip": "Eliminar",
"alarmSkippedNoNextSnackbar": "Alarma omitida. No queda próxima ejecución.",
"alarmSkippedReturnsSnackbar": "Alarma omitida. Volverá el {date}.",
"@alarmSkippedReturnsSnackbar": {
"placeholders": {
"date": {}
}
},
"alarmVacationPausedNoNext": "Está pausada por vacaciones ({vacationName}) y sin próxima ejecución.",
"@alarmVacationPausedNoNext": {
"placeholders": {
"vacationName": {}
}
},
"alarmVacationPausedReturns": "Está pausada por vacaciones ({vacationName}) y vuelve el {date}.",
"@alarmVacationPausedReturns": {
"placeholders": {
"vacationName": {},
"date": {}
}
},
"alarmVacationReturns": "Con vacaciones activas, volverá a sonar el {date}.",
"@alarmVacationReturns": {
"placeholders": {
"date": {}
}
},
"defaultAlarmName": "Despertador musical",
"newAlarmTitle": "Nueva alarma",
"editAlarmTitle": "Editar alarma",
"nameField": "Nombre",
"timeField": "Hora",
"dateField": "Fecha",
"onceOption": "Una vez",
"dailyOption": "Diaria",
"weekdaysOption": "Días",
"soundAndVolumeSection": "Sonido y volumen",
"alarmFadeInTitle": "Fade-in de alarma",
"alarmFadeInOff": "0 s (sin transición)",
"alarmFadeInSummary": "{seconds} s (de 5% al volumen elegido)",
"@alarmFadeInSummary": {
"placeholders": {
"seconds": {
"type": "int"
}
}
},
"internalSafeSoundLabel": "Sonido seguro interno",
"soundWarmSunrise": "Amanecer cálido",
"soundSoftBell": "Campana suave",
"soundDigitalPulse": "Pulso digital",
"favoriteStationLabel": "Emisora favorita",
"noStationUseInternalSound": "Sin emisora: usar sonido interno",
"alarmFallbackStationLabel": "Emisora de respaldo",
"alarmStationPickerSearchHint": "Buscá una emisora por nombre",
"alarmSnoozeDurationTitle": "Duración de la posposición",
"snoozeAction": "Posponer",
"alarmSnoozeOptionLabel": "{minutes} min",
"@alarmSnoozeOptionLabel": {
"placeholders": {
"minutes": {
"type": "int"
}
}
},
"saveFavoritesAlarmHint": "Guardá emisoras en Favoritos para usarlas como alarma musical.",
"useCurrentStationAction": "Usar emisora actual",
"playDuringVacations": "Sonar durante vacaciones",
"playDuringVacationsHint": "Si lo apagás, la próxima ejecución saltará al primer día válido.",
"saveAlarmAction": "Guardar alarma",
"chooseOneWeekdayError": "Elegí al menos un día de la semana.",
"androidReliabilityReview": "Revisar fiabilidad Android",
"statusOk": "OK",
"statusPending": "pendiente",
"androidReliabilityStatus": "Fiabilidad: exactas {exact} · notificaciones {notifications} · pantalla {screen}",
"@androidReliabilityStatus": {
"placeholders": {
"exact": {},
"notifications": {},
"screen": {}
}
},
"vacationRangesTitle": "Rangos de vacaciones",
"addAction": "Agregar",
"vacationRangesHint": "Si una alarma tiene \"Pausa en vacaciones\", se salta automáticamente estos rangos.",
"noVacationRangesLoaded": "Sin rangos cargados.",
"deleteRangeTooltip": "Eliminar rango",
"vacationsDefaultName": "Vacaciones",
"newVacationRangeTitle": "Nuevo rango de vacaciones",
"startField": "Inicio",
"endField": "Fin",
"saveRangeAction": "Guardar rango",
"noAlarmsYetTitle": "Todavía no hay alarmas.",
"noAlarmsYetSubtitle": "Creá una para diseñar tu despertar musical.",
"ringingInternalAudioActive": "Sonando con audio seguro interno.",
"ringingPreparingInternalAudio": "Preparando audio seguro interno.",
"stopAlarmAction": "Detener alarma",
"alarmStopFailedMessage": "No pudimos confirmar que la alarma se detuvo. Inténtalo de nuevo.",
"alarmForceStopAction": "Forzar detención",
"alarmMissedNotificationTitle": "Alarma perdida",
"alarmMissedNotificationText": "{name} se silenció automáticamente después de 10 minutos.",
"@alarmMissedNotificationText": {"placeholders": {"name": {}}},
"pauseAction": "Pausar",
"miniPlayerOpenLabel": "Abrir reproductor de {stationName}",
"@miniPlayerOpenLabel": {"placeholders": {"stationName": {}}},
"playerIconLabel": "Reproductor",
"playbackStatusConnecting": "Conectando...",
"playbackStatusLive": "En directo",
"playbackStatusPaused": "Pausado",
"playbackStatusReconnecting": "Reconectando...",
"playbackStatusConnectionError": "Error de conexión",
"playbackStatusStopped": "Detenido",
"stationSemanticLabel": "Emisora {stationName}",
"@stationSemanticLabel": {"placeholders": {"stationName": {}}},
"favoritesAddTooltip": "Añadir a favoritos",
"favoritesAddedMessage": "{stationName} añadida a favoritos",
"@favoritesAddedMessage": {"placeholders": {"stationName": {}}},
"stationIconLabel": "Icono de emisora",
"liveNow": "En vivo",
"equalizerBandLabel": "Banda {band}",
"@equalizerBandLabel": {"placeholders": {"band": {}}},
"equalizerBandValue": "{value} decibelios",
"@equalizerBandValue": {"placeholders": {"value": {}}},
"equalizerPresetFlat": "Plano",
"equalizerPresetRock": "Rock",
"equalizerPresetPop": "Pop",
"equalizerPresetBassBoost": "Refuerzo de graves",
"equalizerPresetJazz": "Jazz",
"equalizerPresetVoice": "Voz",
"equalizerPresetCustom": "Personalizado",
"onboardingTitle": "Bienvenido a PluriWave",
"onboardingNewsTitle": "Novedades",
"onboardingStartAction": "Empezar",
"onboardingCloseTooltip": "Cerrar",
"radioRecordingError": "Error al grabar la radio: {error}",
"@radioRecordingError": {"placeholders": {"error": {}}},
"radioApiConnectionError": "Sin conexión a la API de radio",
"radioSearchError": "Error en la búsqueda. Comprueba tu conexión.",
"radioLoadMoreStationsError": "No se pudieron cargar más emisoras.",
"radioNearbyStationsError": "No pudimos detectar emisoras cercanas. Usa filtros por país.",
"radioCannotPlayStation": "No se puede reproducir \"{stationName}\"",
"@radioCannotPlayStation": {"placeholders": {"stationName": {}}},
"recordingSelectStationFirst": "Primero selecciona una emisora para grabar.",
"recordingStartError": "No se pudo iniciar la grabación: {error}",
"@recordingStartError": {"placeholders": {"error": {}}},
"unsupportedConfigVersion": "Versión de configuración no compatible",
"audioErrorGeneric": "Error de reproducción",
"audioErrorNoInternet": "Sin conexión a internet",
"audioErrorInvalidUrl": "La URL de la radio no es válida",
"audioErrorNotFound": "La radio no está disponible (error 404)",
"audioErrorTimeout": "Tiempo de espera agotado al conectar",
"audioErrorCannotConnect": "No se puede conectar a la radio",
"audioErrorUnsupportedFormat": "Formato de stream no compatible",
"audioErrorDecode": "Error al decodificar el stream de audio",
"audioErrorCleartext": "Esta radio usa HTTP sin cifrar, y no está permitido",
"audioErrorSsl": "Certificado SSL inválido en la radio",
"audioErrorCannotPlay": "No se puede reproducir esta radio",
"audioErrorUnexpectedPlayback": "Error inesperado al reproducir",
"androidExactAlarmScheduleError": "Android no pudo programar una alarma exacta. Revisa el permiso de alarmas exactas.",
"recordingPathEmptyError": "La ruta de grabación no puede estar vacía",
"recordingMaxSizeInvalidError": "El tamaño máximo debe ser mayor que cero",
"recordingAlreadyActiveError": "Ya hay una grabación en curso",
"alarmRingingFallbackActive": "Sonando con audio seguro interno.",
"alarmRingingPreparingFallback": "Preparando audio seguro interno.",
"alarmRingingTryingStation": "Intentando reproducir tu emisora con máxima calidad disponible.",
"alarmScheduleOnce": "Una vez · {date}",
"@alarmScheduleOnce": {"placeholders": {"date": {}}},
"alarmScheduleWeekdays": "Días: {days}",
"@alarmScheduleWeekdays": {"placeholders": {"days": {}}},
"androidReliabilityTitle": "Revisar fiabilidad Android",
"closeAction": "Cerrar",
"customOption": "Personalizada",
"endLabel": "Fin",
"equalizerDisable": "Desactivar ecualizador",
"helpTitle": "Ayuda y tutorial",
"helpSubtitle": "Repasá funciones, consejos y novedades de PluriWave.",
"indefiniteOption": "Indefinida",
"invalidNumber": "Número inválido",
"nameLabel": "Nombre",
"notPlaying": "No está reproduciendo",
"oneTimeOption": "Una vez",
"pausePlaybackTooltip": "Pausar reproducción",
"qualityOriginal": "Calidad original: {quality}",
"@qualityOriginal": {"placeholders": {"quality": {}}},
"qualityUnknown": "Calidad no informada",
"recordAction": "Grabar",
"recordDurationTitle": "Duración de grabación",
"recordRadioSubtitle": "Elegí cuánto tiempo querés grabar.",
"recordRadioTitle": "Grabar radio",
"recordingActiveTitle": "Grabando radio",
"recordingDirectTitle": "Grabación directa",
"recordingsOpenFolderPlainError": "No se pudo abrir la carpeta de grabaciones",
"recordingsOpenLatest": "Abrir última grabación",
"recordingsOpenLatestError": "No se pudo abrir la última grabación",
"startLabel": "Inicio",
"startPlaybackTooltip": "Iniciar reproducción",
"stopAction": "Parar",
"stopPlaybackTooltip": "Detener reproducción",
"weekdayShortMonday": "Lun",
"weekdayShortTuesday": "Mar",
"weekdayShortWednesday": "Mié",
"weekdayShortThursday": "Jue",
"weekdayShortFriday": "Vie",
"weekdayShortSaturday": "Sáb",
"weekdayShortSunday": "Dom",
"stationCount": "{count, plural, =1{1 emisora} other{{count} emisoras}}",
"alarmIconLabel": "Alarma musical",
"vacationIconLabel": "Modo vacaciones",
"streamUrlHint": "https://stream.example.com:8000/radio",
"@stationCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"advancedEqSectionTitle": "Opciones avanzadas de ecualización",
"advancedEqEnableToggle": "Activar EQ por dispositivo",
"advancedEqEnableToggleSubtitle": "Aplica automáticamente un preset de EQ distinto al cambiar la salida de audio.",
"advancedEqKnownDevicesTitle": "Dispositivos de audio conocidos",
"advancedEqKnownDevicesEmpty": "No hay dispositivos registrados. Conectá uno para empezar.",
"advancedEqDevicePresetLabel": "Preset: {presetName}",
"@advancedEqDevicePresetLabel": {
"placeholders": {
"presetName": {}
}
},
"preNoticeCountdown": "Empieza en {minutes} min",
"snoozeCountdown": "Suena en {minutes} min",
"@snoozeCountdown": {
"placeholders": {
"minutes": {
"type": "int"
}
}
},
"snoozeAgainAction": "Posponer otra vez",
"alarmRingingNotificationTitle": "Alarma PluriWave",
"alarmFireChannelName": "Alarmas sonando",
"alarmFireChannelDescription": "Sonido y pantalla urgente cuando una alarma musical debe sonar",
"alarmPreNoticeChannelName": "Preavisos de alarmas",
"alarmPreNoticeChannelDescription": "Notificaciones silenciosas antes de la alarma",
"openFolderChooserTitle": "Abrir carpeta",
"openRecordingChooserTitle": "Abrir grabación",
"@preNoticeCountdown": {
"placeholders": {
"minutes": {
"type": "int"
}
}
},
"eqDeviceEditTitle": "Editar dispositivo",
"eqDeviceNameLabel": "Nombre del dispositivo",
"eqDeviceNameHint": "Ej: Altavoz del living",
"eqDeviceNameConfirm": "Guardar",
"eqDeviceConnected": "Conectado",
"eqDeviceActiveOutput": "El audio está saliendo por este dispositivo",
"eqDeviceRemove": "Quitar dispositivo",
"eqDeviceRemoved": "Se quitó {device}",
"@eqDeviceRemoved": {
"placeholders": {
"device": {}
}
},
"localMusicSectionTitle": "Música local (Android Auto)",
"localMusicSectionDescription": "Elegí una carpeta de este dispositivo para explorar y reproducir sus archivos de audio desde el auto.",
"localMusicFolderNotConfigured": "No hay carpeta seleccionada",
"localMusicFolderTitle": "Carpeta de música local",
"localMusicChoosePath": "Elegir carpeta",
"localMusicChangePath": "Cambiar carpeta",
"localMusicFolderUpdated": "Carpeta de música local actualizada",
"localMusicFolderSaveError": "No se pudo guardar la carpeta: {error}",
"@localMusicFolderSaveError": {
"placeholders": {
"error": {}
}
},
"localMusicFolderGenericName": "Carpeta seleccionada"
}