Files
pluriwave/lib/l10n/app_es.arb
T
FreeTLab acf2ebb55f
Build & Deploy PluriWave / Análisis de código (push) Successful in 26s
Build & Deploy PluriWave / Build APK + AAB release (push) Successful in 3m13s
fix: alinear permisos, paywall y grabacion con lo que la app hace de verdad
Revision previa al envio a produccion. Cada punto se verifico en el codigo
antes de tocarlo; lo que ya estaba bien se dejo como estaba.

Ubicacion: se declaraba precision fina sin usarla

El unico consumidor de ubicacion pide `LocationAccuracy.low` y se queda solo
con el codigo ISO del pais, asi que `ACCESS_FINE_LOCATION` no aportaba nada. Y
contradecia la declaracion de Seguridad de los datos ya aprobada en Play, que
dice ubicacion APROXIMADA: declarar una cosa y pedir otra es precisamente lo
que se penaliza en revision.

Verificado que los manifiestos de geolocator_android y geocoding_android no
declaran permisos propios, asi que el merge no lo reinyecta y no hace falta
`tools:node="remove"`. El plugin construye su peticion en tiempo de ejecucion a
partir de lo declarado, de modo que con COARSE pide COARSE. Sin cambio
funcional: la deteccion de pais sigue igual.

El paywall vendia Android Auto como exclusivo, y ya no lo es

La etiqueta era literalmente "Android Auto", a secas. Pero el tier gratuito
recibio una carpeta navegable con emisoras reproducibles cuando hubo que
cumplir las guias del coche, asi que esa frase dejo de ser cierta. Ahora dice
que PRO añade el catalogo completo, favoritos, mis emisoras y musica local, y
aclara que gratis tiene las destacadas. Un paywall que promete lo que el tier
gratuito ya tiene expone a reclamacion y a que se cite en revision.

Microfono: se pide al activar el visualizador, no antes

Con una explicacion previa en los 13 idiomas, en vez de aparecer sin contexto.

Grabacion: uso privado de verdad, no solo en el aviso

La pantalla de grabaciones entregaba el fichero a cualquier aplicacion con
`Share.shareXFiles`. La intencion era abrirlo en un reproductor del propio
telefono, no redistribuirlo, y una cosa es copia privada y la otra no. Ahora
usa el `openFile` que ya existia -- FileProvider + ACTION_VIEW -- y avisa
cuando ningun reproductor del dispositivo puede abrirla, en vez de fallar en
silencio. Se añade ademas el aviso de uso privado en esa pantalla.

`recordingActionShare` la usaban DOS botones con significados distintos: el de
grabaciones, que mandaba el audio, y el del reproductor, que comparte el nombre
y la url de la emisora. Una clave, dos sentidos, y esa ambiguedad basto para
que al leer el codigo pareciera que solo se compartian enlaces. Separadas en
`stationActionShare` y `recordingActionOpenIn`.

La grabacion sigue siendo PRO. Lo que reduce el riesgo es que la copia no salga
del dispositivo, no regalar la funcion: los anuncios tambien son monetizacion.

Suite completa: 1587 pasan, 2 omitidos. flutter analyze mantiene los 5 avisos
preexistentes.
2026-09-18 17:06:59 +02:00

896 lines
38 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": "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",
"settingsGroupRecordingsTitle": "GRABACIONES Y MÚSICA",
"settingsGroupApplicationTitle": "APLICACIÓN",
"infoSectionTitle": "Información",
"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}",
"equalizerBaseExplainer": "Este es el ecualizador base: se aplica a todas las emisoras que no tengan un ajuste propio. El de una emisora concreta se define desde su propia reproducción y manda sobre este.",
"equalizerActiveOutputLabel": "Salida activa",
"equalizerActiveOutputDefault": "El altavoz de este dispositivo",
"equalizerStationsWithOwnEqTitle": "Emisoras con ajuste propio",
"equalizerStationsWithOwnEqSubtitle": "Ignoran este ecualizador base",
"equalizerStationsWithOwnEqEmpty": "Ninguna emisora tiene ajuste propio todavía.",
"equalizerSaveAsPresetAction": "Guardar como preset",
"equalizerResetToFlatAction": "Restablecer a plano",
"equalizerSavePresetDialogTitle": "Guardar como preset",
"equalizerSavePresetNameLabel": "Nombre del preset",
"equalizerSavePresetEmptyNameError": "Ingresá un nombre para el preset.",
"equalizerSavePresetConfirm": "Guardar",
"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"
}
}
},
"recordingsLibraryTitle": "Mis grabaciones",
"recordingsLibraryStorageCaption": "{usedMb} MB de {totalMb} MB usados",
"@recordingsLibraryStorageCaption": {
"placeholders": {
"usedMb": {
"type": "int"
},
"totalMb": {
"type": "int"
}
}
},
"recordingsLibraryStorageFolderCaption": "Music/PluriWave · se borran las más antiguas al llegar al límite",
"recordingsLibraryEmptyTitle": "Todavía no hay grabaciones",
"recordingsLibraryEmptySubtitle": "Las grabaciones que guardes van a aparecer acá.",
"recordingActionRename": "Renombrar",
"stationActionShare": "Compartir emisora",
"recordingActionOpenIn": "Abrir en otra app",
"recordingOpenNoAppError": "No hay ninguna app en este dispositivo que pueda reproducir la grabación.",
"recordingActionDelete": "Eliminar",
"recordingRenameDialogTitle": "Renombrar grabación",
"recordingRenameLabel": "Nombre",
"recordingRenameEmptyError": "Ingresá un nombre",
"recordingDeleteConfirmTitle": "¿Eliminar grabación?",
"recordingDeleteConfirmMessage": "Esta acción no se puede deshacer.",
"recordingsLibrarySettingsTooltip": "Ajustes de grabación",
"stationOrderTitle": "Orden de emisoras",
"stationOrderByName": "Por nombre",
"stationOrderByQuality": "Por calidad",
"stationOrderByPopularity": "Por popularidad",
"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": {}
}
},
"favoritesFilterAllLabel": "Todas",
"favoriteGroupsChipLabel": "{groupName} · {count}",
"@favoriteGroupsChipLabel": {
"placeholders": {
"groupName": {},
"count": {
"type": "int"
}
}
},
"favoriteGroupsManage": "Gestionar listas",
"customStationsAddCta": "Añadir emisora personalizada",
"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",
"searchLoadingStationsLabel": "BUSCANDO EMISORAS…",
"searchEmptyTitle": "Buscá una emisora",
"searchNoResultsTitle": "Sin resultados",
"searchNoResultsForQueryTitle": "Sin resultados para «{query}»",
"@searchNoResultsForQueryTitle": {"placeholders": {"query": {}}},
"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.",
"searchResultsCount": "{count, plural, =1{1 resultado} other{{count} resultados}}",
"searchClearFiltersAction": "{count, plural, =1{Quitar el filtro} other{Quitar los {count} filtros}}",
"countriesScreenTitle": "Países",
"countriesSearchHint": "País o código...",
"countriesYourLanguagesTitle": "Tus idiomas",
"countriesAllTitle": "Todos los países",
"radioCountriesError": "No pudimos cargar los países.",
"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",
"yourStationsTitle": "Tus emisoras",
"seeAllAction": "Ver todas",
"openFullPlayerTooltip": "Abrir reproductor completo",
"nowListeningLabel": "Escuchando ahora",
"nothingPlayingTitle": "Todavía no estás escuchando nada",
"nothingPlayingSubtitle": "Elegí una emisora de Tus emisoras o buscá una para empezar.",
"nearYou": "Cerca de vos",
"nearYouInCountry": "Cerca de vos · {country}",
"@nearYouInCountry": {
"placeholders": {
"country": {}
}
},
"detectAction": "Detectar",
"liveRadar": "Radar en directo",
"genresTitle": "Géneros",
"exploreByTitle": "Explorar por",
"exploreTrendingTitle": "Tendencias",
"exploreTrendingSubtitle": "Hoy",
"exploreNewTitle": "Novedades",
"exploreNewSubtitle": "Esta semana",
"popularNowTitle": "Populares ahora",
"offlineBannerTitle": "Sin conexión",
"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",
"alarmHeroSkipAction": "Saltar",
"alarmDeleteConfirmTitle": "¿Eliminar alarma?",
"alarmDeleteConfirmMessage": "Esta acción no se puede deshacer.",
"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"
}
}
},
"alarmSnoozeUsualLabel": "habitual",
"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",
"vacationRangesCount": "{count} rangos",
"@vacationRangesCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"vacationSummaryActiveCountdown": "En curso · quedan {days} días",
"@vacationSummaryActiveCountdown": {
"placeholders": {
"days": {
"type": "int"
}
}
},
"vacationSummaryUpcomingCountdown": "Próximo rango en {days} días",
"@vacationSummaryUpcomingCountdown": {
"placeholders": {
"days": {
"type": "int"
}
}
},
"vacationImpactPausedLabel": "Pausa: {times}",
"@vacationImpactPausedLabel": {
"placeholders": {
"times": {}
}
},
"vacationImpactContinuesLabel": "Sigue sonando: {times}",
"@vacationImpactContinuesLabel": {
"placeholders": {
"times": {}
}
},
"vacationUpcomingSectionTitle": "PROGRAMADOS",
"vacationPastSectionTitle": "Rangos pasados",
"addVacationRangeCta": "Añadir rango",
"vacationExplainerBanner": "Durante estos rangos no suenan las alarmas marcadas como \"pausar en vacaciones\". Las marcadas como \"sonar siempre\" no se ven afectadas.",
"vacationNoActiveRangeHint": "No hay un rango de vacaciones activo ahora mismo.",
"vacationsDefaultName": "Vacaciones",
"newVacationRangeTitle": "Nuevo rango de vacaciones",
"editVacationRangeTitle": "Editar rango de vacaciones",
"vacationDeleteConfirmTitle": "¿Eliminar rango de vacaciones?",
"vacationDeleteConfirmMessage": "Esta acción no se puede deshacer.",
"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.",
"alarmScheduleDaily": "Cada mañana",
"alarmScheduleOnce": "Una vez · {date}",
"@alarmScheduleOnce": {"placeholders": {"date": {}}},
"alarmScheduleWeekdays": "Días: {days}",
"@alarmScheduleWeekdays": {"placeholders": {"days": {}}},
"alarmRepeatSectionLabel": "REPETIR",
"alarmVolumeLabel": "Volumen",
"androidReliabilityTitle": "Revisar fiabilidad Android",
"closeAction": "Cerrar",
"customOption": "Personalizada",
"endLabel": "Fin",
"equalizerDisable": "Desactivar ecualizador",
"helpTitle": "Ayuda y tutorial",
"helpSubtitle": "9 pantallas · vuelve a verlo cuando quieras",
"tutorialSkipAction": "Saltar",
"tutorialNextAction": "Siguiente",
"tutorialPage1Headline": "Guarda tus emisoras y agrúpalas",
"tutorialPage1Body": "Toca el corazón para guardar una emisora. En «Tus emisoras» puedes crear grupos como «Cada mañana» o «Coche» y reordenarlas arrastrando.",
"tutorialPage2Headline": "Un ecualizador base y otro por emisora",
"tutorialPage2Body": "En Ajustes defines el ecualizador general. Y desde la reproducción de una emisora concreta puedes darle su propio ajuste, que manda sobre el general.",
"tutorialPage3Headline": "Graba lo que estás escuchando",
"tutorialPage3Body": "Desde la bandeja de herramientas del reproductor, «Grabar» guarda el stream original. Encuentra tus grabaciones en Ajustes Grabaciones.",
"tutorialPage4Headline": "Alarmas que se adaptan a ti",
"tutorialPage4Body": "Despiértate con tu emisora favorita, pospón 3, 5 o 10 minutos, y añade rangos de vacaciones para que algunas alarmas se salten solas.",
"tutorialPage5Headline": "Tus favoritas, también en el coche",
"tutorialPage5Body": "Conecta el móvil con Android Auto y encontrarás Favoritos, Todas las emisoras, Mis emisoras y tu Música Local, con botones grandes pensados para conducir.",
"tutorialPage6Headline": "Se reconecta sola",
"tutorialPage6Body": "Si se corta la señal, PluriWave reintenta automáticamente y sigue mostrando tus favoritas guardadas aunque no tengas conexión.",
"tutorialPage7Headline": "Elige cuánto posponer",
"tutorialPage7Body": "Cuando suene una alarma, no hay un único «posponer»: eliges 3, 5 o 10 minutos según lo que necesites en ese momento.",
"tutorialPage8Headline": "¿No la encuentras? Añádela tú",
"tutorialPage8Body": "En «Tus emisoras» → Añadir emisora personalizada pega la URL del stream de una emisora que no esté en el buscador. Se guarda en «Mis emisoras», también disponible en el coche.",
"tutorialPage9Headline": "Listo, ya conoces lo esencial",
"tutorialPage9BannerBody": "Para volver a ver este tutorial cuando quieras: Ajustes → Información → Ayuda y tutorial.",
"indefiniteOption": "Indefinida",
"invalidNumber": "Número inválido",
"nameLabel": "Nombre",
"notPlaying": "No está reproduciendo",
"oneTimeOption": "Una vez",
"pausePlaybackTooltip": "Pausar reproducción",
"playerQualityChangeAction": "Cambiar",
"playerToolEqLabel": "EQ propio",
"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",
"alarmAdvancedSectionTitle": "Avanzado",
"alarmInlineHourLabel": "Hora",
"alarmInlineMinuteLabel": "Minuto",
"alarmVolumeRisingStatus": "Subiendo volumen",
"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",
"welcomeHeadline": "Tu mundo, en directo",
"welcomeBody": "53.412 emisoras de 238 países. Guardá tus favoritas, llevalas al auto y despertate con ellas.",
"welcomeBullet1Title": "Ecualizador por emisora",
"welcomeBullet1Subtitle": "Y un preset por dispositivo de salida",
"welcomeBullet2Title": "Android Auto",
"welcomeBullet2Subtitle": "Tus favoritas y tu música local en el auto",
"welcomeBullet3Title": "Alarmas musicales",
"welcomeBullet3Subtitle": "Con subida progresiva y modo vacaciones",
"welcomeCtaLabel": "Empezar a escuchar",
"eqCustomActionEnableLabel": "Activar ecualizador",
"eqCustomActionDisableLabel": "Desactivar ecualizador",
"eqCustomActionPresetLabel": "Preset: {preset}",
"@eqCustomActionPresetLabel": {
"placeholders": {
"preset": {
"type": "String"
}
}
},
"alarmCardVacationPausedBadge": "Pausada por vacaciones",
"alarmCardSchedulingFailedMessage": "Esta alarma no se pudo registrar en el sistema, así que podría no sonar.",
"alarmCardPreNoticeFailedMessage": "Esta alarma está programada, pero no se pudo activar su aviso previo.",
"alarmDiagnosticsExactAlarmsTitle": "Programación de alarma exacta",
"alarmDiagnosticsExactAlarmsHint": "Permite que la alarma suene en el minuto exacto que elegiste, incluso con el teléfono en reposo.",
"alarmDiagnosticsNotificationsTitle": "Notificaciones",
"alarmDiagnosticsNotificationsHint": "Necesarias para mostrar la alarma y el aviso previo.",
"alarmDiagnosticsFullScreenTitle": "Pantalla completa de la alarma",
"alarmDiagnosticsFullScreenHint": "Permite que la pantalla de la alarma aparezca automáticamente, incluso con el teléfono bloqueado.",
"alarmDiagnosticsBatteryTitle": "Optimización de batería",
"alarmDiagnosticsBatteryHint": "Evita que el sistema cierre PluriWave en segundo plano para que la alarma pueda sonar.",
"alarmDiagnosticsNativeCountTitle": "Alarmas registradas en Android",
"alarmDiagnosticsNativeCountValue": "Registradas ahora mismo: {count}",
"@alarmDiagnosticsNativeCountValue": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"alarmDiagnosticsNativeCountAttentionHint": "Tenés una alarma activada, pero todavía ninguna está registrada en el sistema. Volvé a abrir PluriWave o solucioná primero los puntos de arriba.",
"alarmDiagnosticsManufacturerLabel": "Fabricante",
"alarmDiagnosticsSdkLabel": "Versión de Android (SDK)",
"alarmDiagnosticsNeedsAttentionStatus": "Necesita atención",
"alarmDiagnosticsAutostartTitle": "Un paso manual más en este teléfono",
"alarmDiagnosticsAutostartBody": "Los teléfonos {manufacturer} suelen cerrar las apps que están en segundo plano para ahorrar batería. No hay ningún ajuste que PluriWave pueda activar por su cuenta: tenés que activar vos mismo el Inicio automático (a veces llamado \"Autostart\" o \"Actividad en segundo plano\"). Buscalo en Ajustes, dentro de Apps o Batería, o en la app de Seguridad del teléfono.",
"@alarmDiagnosticsAutostartBody": {
"placeholders": {
"manufacturer": {
"type": "String"
}
}
},
"alarmDiagnosticsFixAction": "Solucionar",
"alarmDiagnosticsIntentUnavailable": "No se pudo abrir esa pantalla de ajustes en este teléfono. Buscala manualmente en Ajustes.",
"alarmDiagnosticsUnavailableHint": "Todavía no pudimos revisar tus ajustes de alarma.",
"autoEqDisableOption": "Desactivar",
"funcionPremium": "Función Premium",
"limiteAlarmasAlcanzado": "Has alcanzado el límite de 5 alarmas gratuitas.",
"desbloquearPremium": "Desbloquear Premium",
"restaurarCompras": "Restaurar compras",
"compraError": "No se ha podido completar la compra. Inténtalo de nuevo.",
"restauracionSinCompras": "No hemos encontrado ninguna compra anterior en esta cuenta.",
"premiumActivo": "Premium activo",
"premiumHojaTitulo": "Desbloquea PluriWave Premium",
"premiumBeneficioSinAnuncios": "Sin publicidad en toda la app",
"premiumBeneficioAndroidAuto": "Todo el catálogo en Android Auto: favoritos, mis emisoras y música local (gratis: solo destacadas)",
"premiumBeneficioGrabacion": "Grabación de emisoras",
"premiumBeneficioVacaciones": "Rangos de vacaciones para las alarmas",
"premiumBeneficioAlarmasIlimitadas": "Alarmas ilimitadas (el plan gratuito permite hasta 5)",
"premiumPagoUnico": "Pago único, para siempre. No es una suscripción.",
"premiumAhoraNo": "Ahora no",
"autoErrorEmisoraPremium": "Esta emisora es Premium. Abre PluriWave en el móvil para desbloquearla.",
"autoErrorBusquedaSinResultados": "No hemos encontrado esa emisora. Prueba con otro nombre.",
"autoCarpetaEscuchar": "Escuchar",
"autoCarpetaFavoritos": "Favoritos",
"autoCarpetaTodas": "Todas las emisoras",
"autoCarpetaMisEmisoras": "Mis emisoras",
"autoCarpetaMusicaLocal": "Música Local",
"autoMusicaLocalNoDisponible": "Abre PluriWave en el móvil para leer tu música",
"autoCargarMas": "Más…",
"autoOrdenarPorCalidad": "Ordenar por calidad",
"autoReproducirCarpeta": "Reproducir carpeta",
"autoReproducirAleatorio": "Reproducir aleatorio",
"autoPistaSinNombre": "Pista sin nombre",
"recordingsPrivateUseNotice": "Las grabaciones son para tu uso personal. Respeta los derechos de cada emisora y de sus contenidos.",
"visualizerRealWaveTitle": "Onda real del audio",
"visualizerRealWaveSubtitle": "Las barras siguen el sonido que está sonando. Desactivado, se animan solas.",
"visualizerRealWavePermissionExplanation": "Android solo deja leer el nivel del audio con el permiso de micrófono. PluriWave no escucha ni graba el micrófono: solo mide el sonido que ya está reproduciendo. Puedes desactivarlo cuando quieras.",
"visualizerRealWaveEnableAction": "Activar"
}