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