Fixes 9 of 10 review findings (10th requires a manual Play Console step, no code change): 1. app.dart/banner_anuncio_superior.dart: move the top SafeArea inside BannerAnuncioSuperior so it only reserves status-bar height when an ad actually renders, restoring edge-to-edge layout for premium and free-unloaded users. 2. servicio_anuncios.dart: bound every interstitial await (load, presentation, and the injected implementation itself) with injectable timeouts so a callback that never fires can no longer hang a caller. 3. estado_entitlement.dart/hoja_premium.dart: expose a typed resultadoUsuario signal for purchase/restore failures and restore-found-nothing, with dedicated localized messages (compraError, restauracionSinCompras) across all 13 locales -- never the raw developer/exception string. 4. main.dart/servicio_consentimiento.dart: add a GDPR/UMP consent flow (ConsentInformation/ConsentForm) that gates Mobile Ads SDK init on canRequestAds(); premium users never see a consent form; failures degrade to no ads instead of crashing or blocking startup. 6. servicio_anuncios.dart: track real ad presentation (onAdShowedFullScreenContent) so a failed-to-show interstitial no longer consumes a session cap slot. 7. banner_anuncio_superior.dart: add an explicit load-attempted guard so repeated didChangeDependencies (e.g. entitlement notifyListeners during a purchase) can only ever trigger one banner load attempt. 8. servicio_anuncios.dart: make esPremium a required constructor parameter, matching the hardened contract already applied to EstadoAlarmas/EstadoGrabacion/EstadoRadio. 9. hoja_premium.dart: add a dedicated premiumActivo localized string instead of reusing the equalizer's equalizerActive translation, across all 13 locales. All fixes implemented RED-first (failing test before production code). Full suite: 1261 passed, 2 pre-existing skips, 0 failures. flutter analyze: 5 pre-existing issues only, 0 new. [version set]
3440 lines
102 KiB
Dart
3440 lines
102 KiB
Dart
import 'dart:async';
|
||
|
||
import 'package:flutter/foundation.dart';
|
||
import 'package:flutter/widgets.dart';
|
||
import 'package:flutter_localizations/flutter_localizations.dart';
|
||
import 'package:intl/intl.dart' as intl;
|
||
|
||
import 'app_localizations_ar.dart';
|
||
import 'app_localizations_bn.dart';
|
||
import 'app_localizations_de.dart';
|
||
import 'app_localizations_en.dart';
|
||
import 'app_localizations_es.dart';
|
||
import 'app_localizations_fr.dart';
|
||
import 'app_localizations_hi.dart';
|
||
import 'app_localizations_id.dart';
|
||
import 'app_localizations_it.dart';
|
||
import 'app_localizations_ja.dart';
|
||
import 'app_localizations_pt.dart';
|
||
import 'app_localizations_ru.dart';
|
||
import 'app_localizations_zh.dart';
|
||
|
||
// ignore_for_file: type=lint
|
||
|
||
/// Callers can lookup localized strings with an instance of AppLocalizations
|
||
/// returned by `AppLocalizations.of(context)`.
|
||
///
|
||
/// Applications need to include `AppLocalizations.delegate()` in their app's
|
||
/// `localizationDelegates` list, and the locales they support in the app's
|
||
/// `supportedLocales` list. For example:
|
||
///
|
||
/// ```dart
|
||
/// import 'gen/app_localizations.dart';
|
||
///
|
||
/// return MaterialApp(
|
||
/// localizationsDelegates: AppLocalizations.localizationsDelegates,
|
||
/// supportedLocales: AppLocalizations.supportedLocales,
|
||
/// home: MyApplicationHome(),
|
||
/// );
|
||
/// ```
|
||
///
|
||
/// ## Update pubspec.yaml
|
||
///
|
||
/// Please make sure to update your pubspec.yaml to include the following
|
||
/// packages:
|
||
///
|
||
/// ```yaml
|
||
/// dependencies:
|
||
/// # Internationalization support.
|
||
/// flutter_localizations:
|
||
/// sdk: flutter
|
||
/// intl: any # Use the pinned version from flutter_localizations
|
||
///
|
||
/// # Rest of dependencies
|
||
/// ```
|
||
///
|
||
/// ## iOS Applications
|
||
///
|
||
/// iOS applications define key application metadata, including supported
|
||
/// locales, in an Info.plist file that is built into the application bundle.
|
||
/// To configure the locales supported by your app, you’ll need to edit this
|
||
/// file.
|
||
///
|
||
/// First, open your project’s ios/Runner.xcworkspace Xcode workspace file.
|
||
/// Then, in the Project Navigator, open the Info.plist file under the Runner
|
||
/// project’s Runner folder.
|
||
///
|
||
/// Next, select the Information Property List item, select Add Item from the
|
||
/// Editor menu, then select Localizations from the pop-up menu.
|
||
///
|
||
/// Select and expand the newly-created Localizations item then, for each
|
||
/// locale your application supports, add a new item and select the locale
|
||
/// you wish to add from the pop-up menu in the Value field. This list should
|
||
/// be consistent with the languages listed in the AppLocalizations.supportedLocales
|
||
/// property.
|
||
abstract class AppLocalizations {
|
||
AppLocalizations(String locale)
|
||
: localeName = intl.Intl.canonicalizedLocale(locale.toString());
|
||
|
||
final String localeName;
|
||
|
||
static AppLocalizations of(BuildContext context) {
|
||
return Localizations.of<AppLocalizations>(context, AppLocalizations)!;
|
||
}
|
||
|
||
static const LocalizationsDelegate<AppLocalizations> delegate =
|
||
_AppLocalizationsDelegate();
|
||
|
||
/// A list of this localizations delegate along with the default localizations
|
||
/// delegates.
|
||
///
|
||
/// Returns a list of localizations delegates containing this delegate along with
|
||
/// GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate,
|
||
/// and GlobalWidgetsLocalizations.delegate.
|
||
///
|
||
/// Additional delegates can be added by appending to this list in
|
||
/// MaterialApp. This list does not have to be used at all if a custom list
|
||
/// of delegates is preferred or required.
|
||
static const List<LocalizationsDelegate<dynamic>> localizationsDelegates =
|
||
<LocalizationsDelegate<dynamic>>[
|
||
delegate,
|
||
GlobalMaterialLocalizations.delegate,
|
||
GlobalCupertinoLocalizations.delegate,
|
||
GlobalWidgetsLocalizations.delegate,
|
||
];
|
||
|
||
/// A list of this localizations delegate's supported locales.
|
||
static const List<Locale> supportedLocales = <Locale>[
|
||
Locale('ar'),
|
||
Locale('bn'),
|
||
Locale('de'),
|
||
Locale('en'),
|
||
Locale('es'),
|
||
Locale('fr'),
|
||
Locale('hi'),
|
||
Locale('id'),
|
||
Locale('it'),
|
||
Locale('ja'),
|
||
Locale('pt'),
|
||
Locale('ru'),
|
||
Locale('zh'),
|
||
];
|
||
|
||
/// No description provided for @appTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'PluriWave'**
|
||
String get appTitle;
|
||
|
||
/// No description provided for @navHome.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Escuchar'**
|
||
String get navHome;
|
||
|
||
/// No description provided for @navSearch.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Buscar'**
|
||
String get navSearch;
|
||
|
||
/// No description provided for @navFavorites.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Favoritos'**
|
||
String get navFavorites;
|
||
|
||
/// No description provided for @navAlarms.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Alarmas'**
|
||
String get navAlarms;
|
||
|
||
/// No description provided for @navSettings.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Ajustes'**
|
||
String get navSettings;
|
||
|
||
/// No description provided for @actionOk.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'OK'**
|
||
String get actionOk;
|
||
|
||
/// No description provided for @sleepTimer.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Timer de sueño'**
|
||
String get sleepTimer;
|
||
|
||
/// No description provided for @sleepTimerDescription.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Apagado suave de la radio con cuenta atrás exacta.'**
|
||
String get sleepTimerDescription;
|
||
|
||
/// No description provided for @cancelTimer.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Cancelar timer'**
|
||
String get cancelTimer;
|
||
|
||
/// No description provided for @optionOther.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Otro'**
|
||
String get optionOther;
|
||
|
||
/// No description provided for @customDurationTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Duración personalizada'**
|
||
String get customDurationTitle;
|
||
|
||
/// No description provided for @durationGreaterThanZero.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Elegí una duración mayor que cero.'**
|
||
String get durationGreaterThanZero;
|
||
|
||
/// No description provided for @hoursLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Horas'**
|
||
String get hoursLabel;
|
||
|
||
/// No description provided for @minutesLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Minutos'**
|
||
String get minutesLabel;
|
||
|
||
/// No description provided for @secondsLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Segundos'**
|
||
String get secondsLabel;
|
||
|
||
/// No description provided for @durationHoursMinutesSeconds.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'{hours} h {minutes} min {seconds} s'**
|
||
String durationHoursMinutesSeconds(
|
||
Object hours,
|
||
Object minutes,
|
||
Object seconds,
|
||
);
|
||
|
||
/// No description provided for @durationMinutesSeconds.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'{minutes} min {seconds} s'**
|
||
String durationMinutesSeconds(Object minutes, Object seconds);
|
||
|
||
/// No description provided for @durationMinutesOnly.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'{minutes} min'**
|
||
String durationMinutesOnly(Object minutes);
|
||
|
||
/// No description provided for @durationSecondsOnly.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'{seconds} s'**
|
||
String durationSecondsOnly(Object seconds);
|
||
|
||
/// No description provided for @saveQuickAccess.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Guardar como acceso rápido'**
|
||
String get saveQuickAccess;
|
||
|
||
/// No description provided for @startTimer.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Iniciar timer'**
|
||
String get startTimer;
|
||
|
||
/// No description provided for @skipCurrentAlarmExecution.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Omitida esta ejecución de {alarmName}.'**
|
||
String skipCurrentAlarmExecution(Object alarmName);
|
||
|
||
/// No description provided for @settingsTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Ajustes'**
|
||
String get settingsTitle;
|
||
|
||
/// No description provided for @settingsSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Control fino de sonido, copias de seguridad y emisoras personalizadas.'**
|
||
String get settingsSubtitle;
|
||
|
||
/// No description provided for @settingsGroupAudioTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'AUDIO'**
|
||
String get settingsGroupAudioTitle;
|
||
|
||
/// No description provided for @settingsGroupStationsTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'EMISORAS'**
|
||
String get settingsGroupStationsTitle;
|
||
|
||
/// No description provided for @settingsGroupRecordingsTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'GRABACIONES Y MÚSICA'**
|
||
String get settingsGroupRecordingsTitle;
|
||
|
||
/// No description provided for @settingsGroupApplicationTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'APLICACIÓN'**
|
||
String get settingsGroupApplicationTitle;
|
||
|
||
/// No description provided for @infoSectionTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Información'**
|
||
String get infoSectionTitle;
|
||
|
||
/// No description provided for @languageSectionTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Idioma'**
|
||
String get languageSectionTitle;
|
||
|
||
/// No description provided for @languageSectionDescription.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Elegí cómo se muestra el idioma de la app.'**
|
||
String get languageSectionDescription;
|
||
|
||
/// No description provided for @languageSystemDefault.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Sistema'**
|
||
String get languageSystemDefault;
|
||
|
||
/// No description provided for @languageSpanish.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Español'**
|
||
String get languageSpanish;
|
||
|
||
/// No description provided for @languageEnglish.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Inglés'**
|
||
String get languageEnglish;
|
||
|
||
/// No description provided for @languageUpdated.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Idioma actualizado: {languageName}'**
|
||
String languageUpdated(Object languageName);
|
||
|
||
/// No description provided for @languageUpdatedSystem.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Idioma actualizado: Sistema'**
|
||
String get languageUpdatedSystem;
|
||
|
||
/// No description provided for @timerSectionTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Timer de sueño'**
|
||
String get timerSectionTitle;
|
||
|
||
/// No description provided for @timerSectionAdd.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Añadir'**
|
||
String get timerSectionAdd;
|
||
|
||
/// No description provided for @timerSectionDescription.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Personalizá los accesos rápidos que aparecen al apagar la radio automáticamente.'**
|
||
String get timerSectionDescription;
|
||
|
||
/// No description provided for @timerSectionRestoreRecommended.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Restaurar tiempos recomendados'**
|
||
String get timerSectionRestoreRecommended;
|
||
|
||
/// No description provided for @newQuickAccessTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Nuevo acceso rápido'**
|
||
String get newQuickAccessTitle;
|
||
|
||
/// No description provided for @saveQuickAccessButton.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Guardar acceso rápido'**
|
||
String get saveQuickAccessButton;
|
||
|
||
/// No description provided for @settingsSafeStatus.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Seguro'**
|
||
String get settingsSafeStatus;
|
||
|
||
/// No description provided for @recordingsSectionTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Grabaciones'**
|
||
String get recordingsSectionTitle;
|
||
|
||
/// No description provided for @recordingsFolderDialogTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Selecciona la carpeta de grabaciones'**
|
||
String get recordingsFolderDialogTitle;
|
||
|
||
/// No description provided for @recordingsPathUpdated.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Ruta de grabación actualizada'**
|
||
String get recordingsPathUpdated;
|
||
|
||
/// No description provided for @recordingsPathSaveError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No se pudo guardar la ruta: {error}'**
|
||
String recordingsPathSaveError(Object error);
|
||
|
||
/// No description provided for @recordingsDefaultFolderRestored.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Se usará la carpeta interna por defecto'**
|
||
String get recordingsDefaultFolderRestored;
|
||
|
||
/// No description provided for @recordingsFolderTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Carpeta de grabación'**
|
||
String get recordingsFolderTitle;
|
||
|
||
/// No description provided for @recordingsPathCalculating.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Calculando ruta...'**
|
||
String get recordingsPathCalculating;
|
||
|
||
/// No description provided for @recordingsChangePath.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Cambiar ruta'**
|
||
String get recordingsChangePath;
|
||
|
||
/// No description provided for @recordingsUseDefaultPath.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Usar ruta por defecto'**
|
||
String get recordingsUseDefaultPath;
|
||
|
||
/// No description provided for @recordingsOriginalStreamHint.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'La radio se guarda desde el stream original, sin recomprimir.'**
|
||
String get recordingsOriginalStreamHint;
|
||
|
||
/// No description provided for @equalizerActive.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Activo'**
|
||
String get equalizerActive;
|
||
|
||
/// No description provided for @equalizerDisabled.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Desactivado'**
|
||
String get equalizerDisabled;
|
||
|
||
/// No description provided for @equalizerEnable.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Activar ecualizador'**
|
||
String get equalizerEnable;
|
||
|
||
/// No description provided for @equalizerRealtimeSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Los cambios se aplican en tiempo real a la emisora actual.'**
|
||
String get equalizerRealtimeSubtitle;
|
||
|
||
/// No description provided for @equalizerPendingSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Se guardan los cambios y se aplicarán cuando Android habilite el efecto.'**
|
||
String get equalizerPendingSubtitle;
|
||
|
||
/// No description provided for @equalizerPerStationTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Usar EQ propio para esta favorita'**
|
||
String get equalizerPerStationTitle;
|
||
|
||
/// No description provided for @equalizerPerStationActive.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Activo para {stationName}'**
|
||
String equalizerPerStationActive(Object stationName);
|
||
|
||
/// No description provided for @equalizerPerStationMain.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Usando EQ principal para {stationName}'**
|
||
String equalizerPerStationMain(Object stationName);
|
||
|
||
/// No description provided for @equalizerBaseExplainer.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'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.'**
|
||
String get equalizerBaseExplainer;
|
||
|
||
/// No description provided for @equalizerActiveOutputLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Salida activa'**
|
||
String get equalizerActiveOutputLabel;
|
||
|
||
/// No description provided for @equalizerActiveOutputDefault.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'El altavoz de este dispositivo'**
|
||
String get equalizerActiveOutputDefault;
|
||
|
||
/// No description provided for @equalizerStationsWithOwnEqTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Emisoras con ajuste propio'**
|
||
String get equalizerStationsWithOwnEqTitle;
|
||
|
||
/// No description provided for @equalizerStationsWithOwnEqSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Ignoran este ecualizador base'**
|
||
String get equalizerStationsWithOwnEqSubtitle;
|
||
|
||
/// No description provided for @equalizerStationsWithOwnEqEmpty.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Ninguna emisora tiene ajuste propio todavía.'**
|
||
String get equalizerStationsWithOwnEqEmpty;
|
||
|
||
/// No description provided for @equalizerSaveAsPresetAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Guardar como preset'**
|
||
String get equalizerSaveAsPresetAction;
|
||
|
||
/// No description provided for @equalizerResetToFlatAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Restablecer a plano'**
|
||
String get equalizerResetToFlatAction;
|
||
|
||
/// No description provided for @equalizerSavePresetDialogTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Guardar como preset'**
|
||
String get equalizerSavePresetDialogTitle;
|
||
|
||
/// No description provided for @equalizerSavePresetNameLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Nombre del preset'**
|
||
String get equalizerSavePresetNameLabel;
|
||
|
||
/// No description provided for @equalizerSavePresetEmptyNameError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Ingresá un nombre para el preset.'**
|
||
String get equalizerSavePresetEmptyNameError;
|
||
|
||
/// No description provided for @equalizerSavePresetConfirm.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Guardar'**
|
||
String get equalizerSavePresetConfirm;
|
||
|
||
/// No description provided for @preferredStationTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Emisora preferida'**
|
||
String get preferredStationTitle;
|
||
|
||
/// No description provided for @preferredStationDescription.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Se preselecciona al crear alarmas y puede iniciarse como reproducción rápida.'**
|
||
String get preferredStationDescription;
|
||
|
||
/// No description provided for @preferredStationNoStationsTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Todavía no hay emisoras disponibles'**
|
||
String get preferredStationNoStationsTitle;
|
||
|
||
/// No description provided for @preferredStationNoStationsSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Guardá favoritas o cargá emisoras para elegir una preferida.'**
|
||
String get preferredStationNoStationsSubtitle;
|
||
|
||
/// No description provided for @preferredStationAutomaticFallback.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Fallback automático'**
|
||
String get preferredStationAutomaticFallback;
|
||
|
||
/// No description provided for @preferredStationDefaultFavorite.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Favorita por defecto'**
|
||
String get preferredStationDefaultFavorite;
|
||
|
||
/// No description provided for @preferredStationCurrent.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Preferida actual: {stationName}'**
|
||
String preferredStationCurrent(Object stationName);
|
||
|
||
/// No description provided for @preferredStationAutoUsing.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Sin favoritas: usando automáticamente {stationName}'**
|
||
String preferredStationAutoUsing(Object stationName);
|
||
|
||
/// No description provided for @preferredStationPlay.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Reproducir preferida'**
|
||
String get preferredStationPlay;
|
||
|
||
/// No description provided for @customStationsTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Emisoras personalizadas'**
|
||
String get customStationsTitle;
|
||
|
||
/// No description provided for @customStationsAdd.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Añadir'**
|
||
String get customStationsAdd;
|
||
|
||
/// No description provided for @customStationsEmpty.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No hay emisoras personalizadas.'**
|
||
String get customStationsEmpty;
|
||
|
||
/// No description provided for @playAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Reproducir'**
|
||
String get playAction;
|
||
|
||
/// No description provided for @deleteAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Eliminar'**
|
||
String get deleteAction;
|
||
|
||
/// No description provided for @addStationTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Añadir emisora'**
|
||
String get addStationTitle;
|
||
|
||
/// No description provided for @stationNameLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Nombre *'**
|
||
String get stationNameLabel;
|
||
|
||
/// No description provided for @unnamedStation.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Sin nombre'**
|
||
String get unnamedStation;
|
||
|
||
/// No description provided for @requiredField.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Campo obligatorio'**
|
||
String get requiredField;
|
||
|
||
/// No description provided for @streamUrlLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'URL del stream *'**
|
||
String get streamUrlLabel;
|
||
|
||
/// No description provided for @invalidUrl.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'URL no válida'**
|
||
String get invalidUrl;
|
||
|
||
/// No description provided for @countryOptionalLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'País (opcional)'**
|
||
String get countryOptionalLabel;
|
||
|
||
/// No description provided for @saveStation.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Guardar emisora'**
|
||
String get saveStation;
|
||
|
||
/// No description provided for @backupSectionTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Copia de seguridad'**
|
||
String get backupSectionTitle;
|
||
|
||
/// No description provided for @backupExportTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Exportar configuración'**
|
||
String get backupExportTitle;
|
||
|
||
/// No description provided for @backupExportSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Favoritos, emisoras custom y presets de EQ'**
|
||
String get backupExportSubtitle;
|
||
|
||
/// No description provided for @backupImportTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Importar configuración'**
|
||
String get backupImportTitle;
|
||
|
||
/// No description provided for @backupImportSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Restaurar desde un fichero de copia de seguridad'**
|
||
String get backupImportSubtitle;
|
||
|
||
/// No description provided for @backupShareSubject.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'PluriWave — copia de seguridad'**
|
||
String get backupShareSubject;
|
||
|
||
/// No description provided for @backupShareText.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Configuración de PluriWave exportada el {date}'**
|
||
String backupShareText(Object date);
|
||
|
||
/// No description provided for @backupExportError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Error al exportar: {error}'**
|
||
String backupExportError(Object error);
|
||
|
||
/// No description provided for @backupImportConfirmMessage.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Esto añadirá los favoritos, emisoras y presets del fichero. ¿Continuar?'**
|
||
String get backupImportConfirmMessage;
|
||
|
||
/// No description provided for @backupImportSuccess.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Configuración importada correctamente'**
|
||
String get backupImportSuccess;
|
||
|
||
/// No description provided for @backupImportError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Error al importar: {error}'**
|
||
String backupImportError(Object error);
|
||
|
||
/// No description provided for @appVersionLoading.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Cargando versión...'**
|
||
String get appVersionLoading;
|
||
|
||
/// No description provided for @appVersionSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'{version} - Radio mundial'**
|
||
String appVersionSubtitle(Object version);
|
||
|
||
/// No description provided for @savedFavoritesTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Favoritos guardados'**
|
||
String get savedFavoritesTitle;
|
||
|
||
/// No description provided for @stationFilterTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Filtro de emisoras'**
|
||
String get stationFilterTitle;
|
||
|
||
/// No description provided for @stationFilterSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Solo emisoras verificadas como activas'**
|
||
String get stationFilterSubtitle;
|
||
|
||
/// No description provided for @backgroundAudioTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Audio en background'**
|
||
String get backgroundAudioTitle;
|
||
|
||
/// No description provided for @backgroundAudioSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Continúa al apagar la pantalla'**
|
||
String get backgroundAudioSubtitle;
|
||
|
||
/// No description provided for @dash.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'—'**
|
||
String get dash;
|
||
|
||
/// No description provided for @cancelAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Cancelar'**
|
||
String get cancelAction;
|
||
|
||
/// No description provided for @equalizerTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Ecualizador'**
|
||
String get equalizerTitle;
|
||
|
||
/// No description provided for @recordingsOpenFolder.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Abrir carpeta'**
|
||
String get recordingsOpenFolder;
|
||
|
||
/// No description provided for @recordingsOpenFolderError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No se pudo abrir la carpeta: {error}'**
|
||
String recordingsOpenFolderError(Object error);
|
||
|
||
/// No description provided for @recordingsMaxSizeTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Tamaño máximo de grabación'**
|
||
String get recordingsMaxSizeTitle;
|
||
|
||
/// No description provided for @recordingsMaxSizeSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Límite actual: {size} MB'**
|
||
String recordingsMaxSizeSubtitle(int size);
|
||
|
||
/// No description provided for @recordingsMaxSizeDialogTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Tamaño máximo por grabación'**
|
||
String get recordingsMaxSizeDialogTitle;
|
||
|
||
/// No description provided for @recordingsMaxSizeMbLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Megabytes máximos'**
|
||
String get recordingsMaxSizeMbLabel;
|
||
|
||
/// No description provided for @recordingsMaxSizeSaved.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Límite de grabación actualizado a {size} MB'**
|
||
String recordingsMaxSizeSaved(int size);
|
||
|
||
/// No description provided for @recordingsLibraryTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Mis grabaciones'**
|
||
String get recordingsLibraryTitle;
|
||
|
||
/// No description provided for @recordingsLibraryStorageCaption.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'{usedMb} MB de {totalMb} MB usados'**
|
||
String recordingsLibraryStorageCaption(int usedMb, int totalMb);
|
||
|
||
/// No description provided for @recordingsLibraryStorageFolderCaption.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Music/PluriWave · se borran las más antiguas al llegar al límite'**
|
||
String get recordingsLibraryStorageFolderCaption;
|
||
|
||
/// No description provided for @recordingsLibraryEmptyTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Todavía no hay grabaciones'**
|
||
String get recordingsLibraryEmptyTitle;
|
||
|
||
/// No description provided for @recordingsLibraryEmptySubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Las grabaciones que guardes van a aparecer acá.'**
|
||
String get recordingsLibraryEmptySubtitle;
|
||
|
||
/// No description provided for @recordingActionRename.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Renombrar'**
|
||
String get recordingActionRename;
|
||
|
||
/// No description provided for @recordingActionShare.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Compartir'**
|
||
String get recordingActionShare;
|
||
|
||
/// No description provided for @recordingActionDelete.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Eliminar'**
|
||
String get recordingActionDelete;
|
||
|
||
/// No description provided for @recordingRenameDialogTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Renombrar grabación'**
|
||
String get recordingRenameDialogTitle;
|
||
|
||
/// No description provided for @recordingRenameLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Nombre'**
|
||
String get recordingRenameLabel;
|
||
|
||
/// No description provided for @recordingRenameEmptyError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Ingresá un nombre'**
|
||
String get recordingRenameEmptyError;
|
||
|
||
/// No description provided for @recordingDeleteConfirmTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'¿Eliminar grabación?'**
|
||
String get recordingDeleteConfirmTitle;
|
||
|
||
/// No description provided for @recordingDeleteConfirmMessage.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Esta acción no se puede deshacer.'**
|
||
String get recordingDeleteConfirmMessage;
|
||
|
||
/// No description provided for @recordingsLibrarySettingsTooltip.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Ajustes de grabación'**
|
||
String get recordingsLibrarySettingsTooltip;
|
||
|
||
/// No description provided for @stationOrderTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Orden de emisoras'**
|
||
String get stationOrderTitle;
|
||
|
||
/// No description provided for @stationOrderByName.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Por nombre'**
|
||
String get stationOrderByName;
|
||
|
||
/// No description provided for @stationOrderByQuality.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Por calidad'**
|
||
String get stationOrderByQuality;
|
||
|
||
/// No description provided for @stationOrderByPopularity.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Por popularidad'**
|
||
String get stationOrderByPopularity;
|
||
|
||
/// No description provided for @stationOrderScopeDescription.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Se aplica a favoritos, búsquedas, emisoras cercanas y listados rápidos.'**
|
||
String get stationOrderScopeDescription;
|
||
|
||
/// No description provided for @favoriteGroupsTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Listas de favoritos'**
|
||
String get favoriteGroupsTitle;
|
||
|
||
/// No description provided for @favoriteGroupsDescription.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Creá listas cortas para organizar tus emisoras guardadas.'**
|
||
String get favoriteGroupsDescription;
|
||
|
||
/// No description provided for @favoriteGroupsAdd.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Añadir lista'**
|
||
String get favoriteGroupsAdd;
|
||
|
||
/// No description provided for @favoriteGroupsEdit.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Editar lista'**
|
||
String get favoriteGroupsEdit;
|
||
|
||
/// No description provided for @favoriteGroupsDelete.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Eliminar lista'**
|
||
String get favoriteGroupsDelete;
|
||
|
||
/// No description provided for @favoriteGroupsNameLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Nombre de la lista'**
|
||
String get favoriteGroupsNameLabel;
|
||
|
||
/// No description provided for @favoriteGroupsNameTooLong.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Máximo 28 caracteres.'**
|
||
String get favoriteGroupsNameTooLong;
|
||
|
||
/// No description provided for @favoriteGroupsUnassigned.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Sin asignar'**
|
||
String get favoriteGroupsUnassigned;
|
||
|
||
/// No description provided for @favoriteGroupsProtectedHint.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Lista por defecto: no se puede editar ni borrar.'**
|
||
String get favoriteGroupsProtectedHint;
|
||
|
||
/// No description provided for @favoriteGroupsCreated.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Lista creada'**
|
||
String get favoriteGroupsCreated;
|
||
|
||
/// No description provided for @favoriteGroupsUpdated.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Lista actualizada'**
|
||
String get favoriteGroupsUpdated;
|
||
|
||
/// No description provided for @favoriteGroupsDeleted.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Lista eliminada; sus emisoras vuelven a Sin asignar.'**
|
||
String get favoriteGroupsDeleted;
|
||
|
||
/// No description provided for @favoriteGroupsAssign.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Mover a lista'**
|
||
String get favoriteGroupsAssign;
|
||
|
||
/// No description provided for @favoriteGroupsAssignSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Lista actual: {groupName}'**
|
||
String favoriteGroupsAssignSubtitle(Object groupName);
|
||
|
||
/// No description provided for @favoriteGroupsAssigned.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'{stationName} movida a {groupName}'**
|
||
String favoriteGroupsAssigned(Object stationName, Object groupName);
|
||
|
||
/// No description provided for @favoritesTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Favoritos'**
|
||
String get favoritesTitle;
|
||
|
||
/// No description provided for @favoritesEmptyTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Sin favoritos aún'**
|
||
String get favoritesEmptyTitle;
|
||
|
||
/// No description provided for @favoritesEmptySubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Tocá el corazón en cualquier emisora para guardarla en tu colección.'**
|
||
String get favoritesEmptySubtitle;
|
||
|
||
/// No description provided for @favoritesHeaderSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Organizá tu colección por listas y dejá cerca las radios importantes.'**
|
||
String get favoritesHeaderSubtitle;
|
||
|
||
/// No description provided for @favoritesCollection.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Colección'**
|
||
String get favoritesCollection;
|
||
|
||
/// No description provided for @favoritesSavedCount.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'{count} guardadas'**
|
||
String favoritesSavedCount(int count);
|
||
|
||
/// No description provided for @favoritesRemoveTooltip.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Eliminar de favoritos'**
|
||
String get favoritesRemoveTooltip;
|
||
|
||
/// No description provided for @favoritesRemovedMessage.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'{stationName} eliminada de favoritos'**
|
||
String favoritesRemovedMessage(Object stationName);
|
||
|
||
/// No description provided for @favoritesFilterAllLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Todas'**
|
||
String get favoritesFilterAllLabel;
|
||
|
||
/// No description provided for @favoriteGroupsChipLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'{groupName} · {count}'**
|
||
String favoriteGroupsChipLabel(Object groupName, int count);
|
||
|
||
/// No description provided for @favoriteGroupsManage.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Gestionar listas'**
|
||
String get favoriteGroupsManage;
|
||
|
||
/// No description provided for @customStationsAddCta.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Añadir emisora personalizada'**
|
||
String get customStationsAddCta;
|
||
|
||
/// No description provided for @alarmPostponedCurrentExecution.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Alarma pospuesta para esta ejecución.'**
|
||
String get alarmPostponedCurrentExecution;
|
||
|
||
/// No description provided for @searchScreenTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Buscar señal'**
|
||
String get searchScreenTitle;
|
||
|
||
/// No description provided for @searchScreenSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Encontrá radios por nombre, país o idioma con filtros rápidos y alto contraste.'**
|
||
String get searchScreenSubtitle;
|
||
|
||
/// No description provided for @searchFiltersLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Filtros'**
|
||
String get searchFiltersLabel;
|
||
|
||
/// No description provided for @searchHint.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Radio Horizonte, jazz, noticias...'**
|
||
String get searchHint;
|
||
|
||
/// No description provided for @searchCountryFilterLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'País'**
|
||
String get searchCountryFilterLabel;
|
||
|
||
/// No description provided for @searchLanguageFilterLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Idioma'**
|
||
String get searchLanguageFilterLabel;
|
||
|
||
/// No description provided for @searchMinQualityFilterLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Calidad mínima'**
|
||
String get searchMinQualityFilterLabel;
|
||
|
||
/// No description provided for @searchLoadingStationsLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'BUSCANDO EMISORAS…'**
|
||
String get searchLoadingStationsLabel;
|
||
|
||
/// No description provided for @searchEmptyTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Buscá una emisora'**
|
||
String get searchEmptyTitle;
|
||
|
||
/// No description provided for @searchNoResultsTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Sin resultados'**
|
||
String get searchNoResultsTitle;
|
||
|
||
/// No description provided for @searchNoResultsForQueryTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Sin resultados para «{query}»'**
|
||
String searchNoResultsForQueryTitle(Object query);
|
||
|
||
/// No description provided for @searchEmptySubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Usá la barra superior o los chips para descubrir señales de todo el mundo.'**
|
||
String get searchEmptySubtitle;
|
||
|
||
/// No description provided for @searchNoResultsSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Probá quitar filtros o escribir otro nombre para encontrar una señal activa.'**
|
||
String get searchNoResultsSubtitle;
|
||
|
||
/// No description provided for @searchResultsCount.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'{count, plural, =1{1 resultado} other{{count} resultados}}'**
|
||
String searchResultsCount(num count);
|
||
|
||
/// No description provided for @searchClearFiltersAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'{count, plural, =1{Quitar el filtro} other{Quitar los {count} filtros}}'**
|
||
String searchClearFiltersAction(num count);
|
||
|
||
/// No description provided for @countriesScreenTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Países'**
|
||
String get countriesScreenTitle;
|
||
|
||
/// No description provided for @countriesSearchHint.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'País o código...'**
|
||
String get countriesSearchHint;
|
||
|
||
/// No description provided for @countriesYourLanguagesTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Tus idiomas'**
|
||
String get countriesYourLanguagesTitle;
|
||
|
||
/// No description provided for @countriesAllTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Todos los países'**
|
||
String get countriesAllTitle;
|
||
|
||
/// No description provided for @radioCountriesError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No pudimos cargar los países.'**
|
||
String get radioCountriesError;
|
||
|
||
/// No description provided for @countrySpain.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'España'**
|
||
String get countrySpain;
|
||
|
||
/// No description provided for @countryUsa.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'EE. UU.'**
|
||
String get countryUsa;
|
||
|
||
/// No description provided for @countryMexico.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'México'**
|
||
String get countryMexico;
|
||
|
||
/// No description provided for @countryArgentina.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Argentina'**
|
||
String get countryArgentina;
|
||
|
||
/// No description provided for @countryUk.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Reino Unido'**
|
||
String get countryUk;
|
||
|
||
/// No description provided for @countryFrance.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Francia'**
|
||
String get countryFrance;
|
||
|
||
/// No description provided for @countryGermany.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Alemania'**
|
||
String get countryGermany;
|
||
|
||
/// No description provided for @countryItaly.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Italia'**
|
||
String get countryItaly;
|
||
|
||
/// No description provided for @countryBrazil.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Brasil'**
|
||
String get countryBrazil;
|
||
|
||
/// No description provided for @countryJapan.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Japón'**
|
||
String get countryJapan;
|
||
|
||
/// No description provided for @languageNameSpanish.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Español'**
|
||
String get languageNameSpanish;
|
||
|
||
/// No description provided for @languageNameEnglish.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Inglés'**
|
||
String get languageNameEnglish;
|
||
|
||
/// No description provided for @languageNameFrench.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Francés'**
|
||
String get languageNameFrench;
|
||
|
||
/// No description provided for @languageNameGerman.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Alemán'**
|
||
String get languageNameGerman;
|
||
|
||
/// No description provided for @languageNamePortuguese.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Portugués'**
|
||
String get languageNamePortuguese;
|
||
|
||
/// No description provided for @languageNameItalian.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Italiano'**
|
||
String get languageNameItalian;
|
||
|
||
/// No description provided for @languageNameJapanese.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Japonés'**
|
||
String get languageNameJapanese;
|
||
|
||
/// No description provided for @languageNameArabic.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Árabe'**
|
||
String get languageNameArabic;
|
||
|
||
/// No description provided for @languageNameRussian.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Ruso'**
|
||
String get languageNameRussian;
|
||
|
||
/// No description provided for @homeScreenSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Radio global en vivo con señales limpias, favoritos inteligentes y una experiencia visual de concurso.'**
|
||
String get homeScreenSubtitle;
|
||
|
||
/// No description provided for @exploreStations.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Explorar emisoras'**
|
||
String get exploreStations;
|
||
|
||
/// No description provided for @stationsCount.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'{count} radios'**
|
||
String stationsCount(int count);
|
||
|
||
/// No description provided for @qualityHd.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Calidad HD'**
|
||
String get qualityHd;
|
||
|
||
/// No description provided for @yourStationsTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Tus emisoras'**
|
||
String get yourStationsTitle;
|
||
|
||
/// No description provided for @seeAllAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Ver todas'**
|
||
String get seeAllAction;
|
||
|
||
/// No description provided for @openFullPlayerTooltip.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Abrir reproductor completo'**
|
||
String get openFullPlayerTooltip;
|
||
|
||
/// No description provided for @nowListeningLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Escuchando ahora'**
|
||
String get nowListeningLabel;
|
||
|
||
/// No description provided for @nothingPlayingTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Todavía no estás escuchando nada'**
|
||
String get nothingPlayingTitle;
|
||
|
||
/// No description provided for @nothingPlayingSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Elegí una emisora de Tus emisoras o buscá una para empezar.'**
|
||
String get nothingPlayingSubtitle;
|
||
|
||
/// No description provided for @nearYou.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Cerca de vos'**
|
||
String get nearYou;
|
||
|
||
/// No description provided for @nearYouInCountry.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Cerca de vos · {country}'**
|
||
String nearYouInCountry(Object country);
|
||
|
||
/// No description provided for @detectAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Detectar'**
|
||
String get detectAction;
|
||
|
||
/// No description provided for @liveRadar.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Radar en directo'**
|
||
String get liveRadar;
|
||
|
||
/// No description provided for @genresTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Géneros'**
|
||
String get genresTitle;
|
||
|
||
/// No description provided for @exploreByTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Explorar por'**
|
||
String get exploreByTitle;
|
||
|
||
/// No description provided for @exploreTrendingTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Tendencias'**
|
||
String get exploreTrendingTitle;
|
||
|
||
/// No description provided for @exploreTrendingSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Hoy'**
|
||
String get exploreTrendingSubtitle;
|
||
|
||
/// No description provided for @exploreNewTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Novedades'**
|
||
String get exploreNewTitle;
|
||
|
||
/// No description provided for @exploreNewSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Esta semana'**
|
||
String get exploreNewSubtitle;
|
||
|
||
/// No description provided for @popularNowTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Populares ahora'**
|
||
String get popularNowTitle;
|
||
|
||
/// No description provided for @offlineBannerTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Sin conexión'**
|
||
String get offlineBannerTitle;
|
||
|
||
/// No description provided for @retryAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Reintentar'**
|
||
String get retryAction;
|
||
|
||
/// No description provided for @noStationsAvailable.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No hay emisoras disponibles'**
|
||
String get noStationsAvailable;
|
||
|
||
/// No description provided for @noStationsAvailableSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Probá refrescar o elegir otro género para volver a capturar señal.'**
|
||
String get noStationsAvailableSubtitle;
|
||
|
||
/// No description provided for @genrePop.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Pop'**
|
||
String get genrePop;
|
||
|
||
/// No description provided for @genreRock.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Rock'**
|
||
String get genreRock;
|
||
|
||
/// No description provided for @genreJazz.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Jazz'**
|
||
String get genreJazz;
|
||
|
||
/// No description provided for @genreClassical.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Clásica'**
|
||
String get genreClassical;
|
||
|
||
/// No description provided for @genreElectronic.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Electrónica'**
|
||
String get genreElectronic;
|
||
|
||
/// No description provided for @genreNews.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Noticias'**
|
||
String get genreNews;
|
||
|
||
/// No description provided for @genreTalk.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Charlas'**
|
||
String get genreTalk;
|
||
|
||
/// No description provided for @genreHipHop.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Hip-hop'**
|
||
String get genreHipHop;
|
||
|
||
/// No description provided for @genreCountry.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Country'**
|
||
String get genreCountry;
|
||
|
||
/// No description provided for @genreMetal.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Metal'**
|
||
String get genreMetal;
|
||
|
||
/// No description provided for @genreReggae.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Reggae'**
|
||
String get genreReggae;
|
||
|
||
/// No description provided for @genreLatin.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Latina'**
|
||
String get genreLatin;
|
||
|
||
/// No description provided for @alarmScreenTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Despertar musical'**
|
||
String get alarmScreenTitle;
|
||
|
||
/// No description provided for @alarmScreenSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Alarmas con radio, sonido seguro, vacaciones inteligentes y próxima ejecución siempre visible.'**
|
||
String get alarmScreenSubtitle;
|
||
|
||
/// No description provided for @createAlarmAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Crear alarma'**
|
||
String get createAlarmAction;
|
||
|
||
/// No description provided for @alarmsCount.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'{count} alarmas'**
|
||
String alarmsCount(int count);
|
||
|
||
/// No description provided for @activeAlarmsWithoutNextTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Alarmas activas sin próxima ejecución'**
|
||
String get activeAlarmsWithoutNextTitle;
|
||
|
||
/// No description provided for @noActiveAlarms.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Sin alarmas activas'**
|
||
String get noActiveAlarms;
|
||
|
||
/// No description provided for @nextAlarmTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Próxima alarma'**
|
||
String get nextAlarmTitle;
|
||
|
||
/// No description provided for @activeAlarmsWithoutNextSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Hay {count} alarma(s) activas, pero ahora mismo no tienen una fecha futura válida. Revisá fecha, días y vacaciones.'**
|
||
String activeAlarmsWithoutNextSubtitle(int count);
|
||
|
||
/// No description provided for @createAlarmHint.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Creá una alarma y PluriWave calculará la siguiente ejecución automáticamente.'**
|
||
String get createAlarmHint;
|
||
|
||
/// No description provided for @alarmVacationPlay.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Suena en vacaciones'**
|
||
String get alarmVacationPlay;
|
||
|
||
/// No description provided for @alarmVacationPause.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Pausa en vacaciones'**
|
||
String get alarmVacationPause;
|
||
|
||
/// No description provided for @alarmFadeInLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Fade-in {seconds}s'**
|
||
String alarmFadeInLabel(int seconds);
|
||
|
||
/// No description provided for @alarmNextExecution.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Siguiente ejecución: {date}'**
|
||
String alarmNextExecution(Object date);
|
||
|
||
/// No description provided for @alarmNoNextExecution.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No tiene próxima ejecución activa.'**
|
||
String get alarmNoNextExecution;
|
||
|
||
/// No description provided for @alarmSkippedExecution.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Una ejecución fue omitida: {date}.'**
|
||
String alarmSkippedExecution(Object date);
|
||
|
||
/// No description provided for @editAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Editar'**
|
||
String get editAction;
|
||
|
||
/// No description provided for @skipNextAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Omitir siguiente'**
|
||
String get skipNextAction;
|
||
|
||
/// No description provided for @deleteTooltip.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Eliminar'**
|
||
String get deleteTooltip;
|
||
|
||
/// No description provided for @alarmHeroSkipAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Saltar'**
|
||
String get alarmHeroSkipAction;
|
||
|
||
/// No description provided for @alarmDeleteConfirmTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'¿Eliminar alarma?'**
|
||
String get alarmDeleteConfirmTitle;
|
||
|
||
/// No description provided for @alarmDeleteConfirmMessage.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Esta acción no se puede deshacer.'**
|
||
String get alarmDeleteConfirmMessage;
|
||
|
||
/// No description provided for @alarmSkippedNoNextSnackbar.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Alarma omitida. No queda próxima ejecución.'**
|
||
String get alarmSkippedNoNextSnackbar;
|
||
|
||
/// No description provided for @alarmSkippedReturnsSnackbar.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Alarma omitida. Volverá el {date}.'**
|
||
String alarmSkippedReturnsSnackbar(Object date);
|
||
|
||
/// No description provided for @alarmVacationPausedNoNext.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Está pausada por vacaciones ({vacationName}) y sin próxima ejecución.'**
|
||
String alarmVacationPausedNoNext(Object vacationName);
|
||
|
||
/// No description provided for @alarmVacationPausedReturns.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Está pausada por vacaciones ({vacationName}) y vuelve el {date}.'**
|
||
String alarmVacationPausedReturns(Object vacationName, Object date);
|
||
|
||
/// No description provided for @alarmVacationReturns.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Con vacaciones activas, volverá a sonar el {date}.'**
|
||
String alarmVacationReturns(Object date);
|
||
|
||
/// No description provided for @defaultAlarmName.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Despertador musical'**
|
||
String get defaultAlarmName;
|
||
|
||
/// No description provided for @newAlarmTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Nueva alarma'**
|
||
String get newAlarmTitle;
|
||
|
||
/// No description provided for @editAlarmTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Editar alarma'**
|
||
String get editAlarmTitle;
|
||
|
||
/// No description provided for @nameField.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Nombre'**
|
||
String get nameField;
|
||
|
||
/// No description provided for @timeField.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Hora'**
|
||
String get timeField;
|
||
|
||
/// No description provided for @dateField.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Fecha'**
|
||
String get dateField;
|
||
|
||
/// No description provided for @onceOption.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Una vez'**
|
||
String get onceOption;
|
||
|
||
/// No description provided for @dailyOption.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Diaria'**
|
||
String get dailyOption;
|
||
|
||
/// No description provided for @weekdaysOption.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Días'**
|
||
String get weekdaysOption;
|
||
|
||
/// No description provided for @soundAndVolumeSection.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Sonido y volumen'**
|
||
String get soundAndVolumeSection;
|
||
|
||
/// No description provided for @alarmFadeInTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Fade-in de alarma'**
|
||
String get alarmFadeInTitle;
|
||
|
||
/// No description provided for @alarmFadeInOff.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'0 s (sin transición)'**
|
||
String get alarmFadeInOff;
|
||
|
||
/// No description provided for @alarmFadeInSummary.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'{seconds} s (de 5% al volumen elegido)'**
|
||
String alarmFadeInSummary(int seconds);
|
||
|
||
/// No description provided for @internalSafeSoundLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Sonido seguro interno'**
|
||
String get internalSafeSoundLabel;
|
||
|
||
/// No description provided for @soundWarmSunrise.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Amanecer cálido'**
|
||
String get soundWarmSunrise;
|
||
|
||
/// No description provided for @soundSoftBell.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Campana suave'**
|
||
String get soundSoftBell;
|
||
|
||
/// No description provided for @soundDigitalPulse.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Pulso digital'**
|
||
String get soundDigitalPulse;
|
||
|
||
/// No description provided for @favoriteStationLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Emisora favorita'**
|
||
String get favoriteStationLabel;
|
||
|
||
/// No description provided for @noStationUseInternalSound.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Sin emisora: usar sonido interno'**
|
||
String get noStationUseInternalSound;
|
||
|
||
/// No description provided for @alarmFallbackStationLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Emisora de respaldo'**
|
||
String get alarmFallbackStationLabel;
|
||
|
||
/// No description provided for @alarmStationPickerSearchHint.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Buscá una emisora por nombre'**
|
||
String get alarmStationPickerSearchHint;
|
||
|
||
/// No description provided for @alarmSnoozeDurationTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Duración de la posposición'**
|
||
String get alarmSnoozeDurationTitle;
|
||
|
||
/// No description provided for @snoozeAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Posponer'**
|
||
String get snoozeAction;
|
||
|
||
/// No description provided for @alarmSnoozeOptionLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'{minutes} min'**
|
||
String alarmSnoozeOptionLabel(int minutes);
|
||
|
||
/// No description provided for @alarmSnoozeUsualLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'habitual'**
|
||
String get alarmSnoozeUsualLabel;
|
||
|
||
/// No description provided for @saveFavoritesAlarmHint.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Guardá emisoras en Favoritos para usarlas como alarma musical.'**
|
||
String get saveFavoritesAlarmHint;
|
||
|
||
/// No description provided for @useCurrentStationAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Usar emisora actual'**
|
||
String get useCurrentStationAction;
|
||
|
||
/// No description provided for @playDuringVacations.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Sonar durante vacaciones'**
|
||
String get playDuringVacations;
|
||
|
||
/// No description provided for @playDuringVacationsHint.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Si lo apagás, la próxima ejecución saltará al primer día válido.'**
|
||
String get playDuringVacationsHint;
|
||
|
||
/// No description provided for @saveAlarmAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Guardar alarma'**
|
||
String get saveAlarmAction;
|
||
|
||
/// No description provided for @chooseOneWeekdayError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Elegí al menos un día de la semana.'**
|
||
String get chooseOneWeekdayError;
|
||
|
||
/// No description provided for @androidReliabilityReview.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Revisar fiabilidad Android'**
|
||
String get androidReliabilityReview;
|
||
|
||
/// No description provided for @statusOk.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'OK'**
|
||
String get statusOk;
|
||
|
||
/// No description provided for @statusPending.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'pendiente'**
|
||
String get statusPending;
|
||
|
||
/// No description provided for @androidReliabilityStatus.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Fiabilidad: exactas {exact} · notificaciones {notifications} · pantalla {screen}'**
|
||
String androidReliabilityStatus(
|
||
Object exact,
|
||
Object notifications,
|
||
Object screen,
|
||
);
|
||
|
||
/// No description provided for @vacationRangesTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Rangos de vacaciones'**
|
||
String get vacationRangesTitle;
|
||
|
||
/// No description provided for @addAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Agregar'**
|
||
String get addAction;
|
||
|
||
/// No description provided for @vacationRangesHint.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Si una alarma tiene \"Pausa en vacaciones\", se salta automáticamente estos rangos.'**
|
||
String get vacationRangesHint;
|
||
|
||
/// No description provided for @noVacationRangesLoaded.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Sin rangos cargados.'**
|
||
String get noVacationRangesLoaded;
|
||
|
||
/// No description provided for @deleteRangeTooltip.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Eliminar rango'**
|
||
String get deleteRangeTooltip;
|
||
|
||
/// No description provided for @vacationRangesCount.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'{count} rangos'**
|
||
String vacationRangesCount(int count);
|
||
|
||
/// No description provided for @vacationSummaryActiveCountdown.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'En curso · quedan {days} días'**
|
||
String vacationSummaryActiveCountdown(int days);
|
||
|
||
/// No description provided for @vacationSummaryUpcomingCountdown.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Próximo rango en {days} días'**
|
||
String vacationSummaryUpcomingCountdown(int days);
|
||
|
||
/// No description provided for @vacationImpactPausedLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Pausa: {times}'**
|
||
String vacationImpactPausedLabel(Object times);
|
||
|
||
/// No description provided for @vacationImpactContinuesLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Sigue sonando: {times}'**
|
||
String vacationImpactContinuesLabel(Object times);
|
||
|
||
/// No description provided for @vacationUpcomingSectionTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'PROGRAMADOS'**
|
||
String get vacationUpcomingSectionTitle;
|
||
|
||
/// No description provided for @vacationPastSectionTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Rangos pasados'**
|
||
String get vacationPastSectionTitle;
|
||
|
||
/// No description provided for @addVacationRangeCta.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Añadir rango'**
|
||
String get addVacationRangeCta;
|
||
|
||
/// No description provided for @vacationExplainerBanner.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Durante estos rangos no suenan las alarmas marcadas como \"pausar en vacaciones\". Las marcadas como \"sonar siempre\" no se ven afectadas.'**
|
||
String get vacationExplainerBanner;
|
||
|
||
/// No description provided for @vacationNoActiveRangeHint.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No hay un rango de vacaciones activo ahora mismo.'**
|
||
String get vacationNoActiveRangeHint;
|
||
|
||
/// No description provided for @vacationsDefaultName.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Vacaciones'**
|
||
String get vacationsDefaultName;
|
||
|
||
/// No description provided for @newVacationRangeTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Nuevo rango de vacaciones'**
|
||
String get newVacationRangeTitle;
|
||
|
||
/// No description provided for @editVacationRangeTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Editar rango de vacaciones'**
|
||
String get editVacationRangeTitle;
|
||
|
||
/// No description provided for @vacationDeleteConfirmTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'¿Eliminar rango de vacaciones?'**
|
||
String get vacationDeleteConfirmTitle;
|
||
|
||
/// No description provided for @vacationDeleteConfirmMessage.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Esta acción no se puede deshacer.'**
|
||
String get vacationDeleteConfirmMessage;
|
||
|
||
/// No description provided for @startField.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Inicio'**
|
||
String get startField;
|
||
|
||
/// No description provided for @endField.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Fin'**
|
||
String get endField;
|
||
|
||
/// No description provided for @saveRangeAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Guardar rango'**
|
||
String get saveRangeAction;
|
||
|
||
/// No description provided for @noAlarmsYetTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Todavía no hay alarmas.'**
|
||
String get noAlarmsYetTitle;
|
||
|
||
/// No description provided for @noAlarmsYetSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Creá una para diseñar tu despertar musical.'**
|
||
String get noAlarmsYetSubtitle;
|
||
|
||
/// No description provided for @ringingInternalAudioActive.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Sonando con audio seguro interno.'**
|
||
String get ringingInternalAudioActive;
|
||
|
||
/// No description provided for @ringingPreparingInternalAudio.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Preparando audio seguro interno.'**
|
||
String get ringingPreparingInternalAudio;
|
||
|
||
/// No description provided for @stopAlarmAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Detener alarma'**
|
||
String get stopAlarmAction;
|
||
|
||
/// No description provided for @alarmStopFailedMessage.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No pudimos confirmar que la alarma se detuvo. Inténtalo de nuevo.'**
|
||
String get alarmStopFailedMessage;
|
||
|
||
/// No description provided for @alarmForceStopAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Forzar detención'**
|
||
String get alarmForceStopAction;
|
||
|
||
/// No description provided for @alarmMissedNotificationTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Alarma perdida'**
|
||
String get alarmMissedNotificationTitle;
|
||
|
||
/// No description provided for @alarmMissedNotificationText.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'{name} se silenció automáticamente después de 10 minutos.'**
|
||
String alarmMissedNotificationText(Object name);
|
||
|
||
/// No description provided for @pauseAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Pausar'**
|
||
String get pauseAction;
|
||
|
||
/// No description provided for @miniPlayerOpenLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Abrir reproductor de {stationName}'**
|
||
String miniPlayerOpenLabel(Object stationName);
|
||
|
||
/// No description provided for @playerIconLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Reproductor'**
|
||
String get playerIconLabel;
|
||
|
||
/// No description provided for @playbackStatusConnecting.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Conectando...'**
|
||
String get playbackStatusConnecting;
|
||
|
||
/// No description provided for @playbackStatusLive.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'En directo'**
|
||
String get playbackStatusLive;
|
||
|
||
/// No description provided for @playbackStatusPaused.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Pausado'**
|
||
String get playbackStatusPaused;
|
||
|
||
/// No description provided for @playbackStatusReconnecting.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Reconectando...'**
|
||
String get playbackStatusReconnecting;
|
||
|
||
/// No description provided for @playbackStatusConnectionError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Error de conexión'**
|
||
String get playbackStatusConnectionError;
|
||
|
||
/// No description provided for @playbackStatusStopped.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Detenido'**
|
||
String get playbackStatusStopped;
|
||
|
||
/// No description provided for @stationSemanticLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Emisora {stationName}'**
|
||
String stationSemanticLabel(Object stationName);
|
||
|
||
/// No description provided for @favoritesAddTooltip.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Añadir a favoritos'**
|
||
String get favoritesAddTooltip;
|
||
|
||
/// No description provided for @favoritesAddedMessage.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'{stationName} añadida a favoritos'**
|
||
String favoritesAddedMessage(Object stationName);
|
||
|
||
/// No description provided for @stationIconLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Icono de emisora'**
|
||
String get stationIconLabel;
|
||
|
||
/// No description provided for @liveNow.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'En vivo'**
|
||
String get liveNow;
|
||
|
||
/// No description provided for @equalizerBandLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Banda {band}'**
|
||
String equalizerBandLabel(Object band);
|
||
|
||
/// No description provided for @equalizerBandValue.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'{value} decibelios'**
|
||
String equalizerBandValue(Object value);
|
||
|
||
/// No description provided for @equalizerPresetFlat.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Plano'**
|
||
String get equalizerPresetFlat;
|
||
|
||
/// No description provided for @equalizerPresetRock.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Rock'**
|
||
String get equalizerPresetRock;
|
||
|
||
/// No description provided for @equalizerPresetPop.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Pop'**
|
||
String get equalizerPresetPop;
|
||
|
||
/// No description provided for @equalizerPresetBassBoost.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Refuerzo de graves'**
|
||
String get equalizerPresetBassBoost;
|
||
|
||
/// No description provided for @equalizerPresetJazz.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Jazz'**
|
||
String get equalizerPresetJazz;
|
||
|
||
/// No description provided for @equalizerPresetVoice.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Voz'**
|
||
String get equalizerPresetVoice;
|
||
|
||
/// No description provided for @equalizerPresetCustom.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Personalizado'**
|
||
String get equalizerPresetCustom;
|
||
|
||
/// No description provided for @onboardingTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Bienvenido a PluriWave'**
|
||
String get onboardingTitle;
|
||
|
||
/// No description provided for @onboardingNewsTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Novedades'**
|
||
String get onboardingNewsTitle;
|
||
|
||
/// No description provided for @onboardingStartAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Empezar'**
|
||
String get onboardingStartAction;
|
||
|
||
/// No description provided for @onboardingCloseTooltip.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Cerrar'**
|
||
String get onboardingCloseTooltip;
|
||
|
||
/// No description provided for @radioRecordingError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Error al grabar la radio: {error}'**
|
||
String radioRecordingError(Object error);
|
||
|
||
/// No description provided for @radioApiConnectionError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Sin conexión a la API de radio'**
|
||
String get radioApiConnectionError;
|
||
|
||
/// No description provided for @radioSearchError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Error en la búsqueda. Comprueba tu conexión.'**
|
||
String get radioSearchError;
|
||
|
||
/// No description provided for @radioLoadMoreStationsError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No se pudieron cargar más emisoras.'**
|
||
String get radioLoadMoreStationsError;
|
||
|
||
/// No description provided for @radioNearbyStationsError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No pudimos detectar emisoras cercanas. Usa filtros por país.'**
|
||
String get radioNearbyStationsError;
|
||
|
||
/// No description provided for @radioCannotPlayStation.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No se puede reproducir \"{stationName}\"'**
|
||
String radioCannotPlayStation(Object stationName);
|
||
|
||
/// No description provided for @recordingSelectStationFirst.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Primero selecciona una emisora para grabar.'**
|
||
String get recordingSelectStationFirst;
|
||
|
||
/// No description provided for @recordingStartError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No se pudo iniciar la grabación: {error}'**
|
||
String recordingStartError(Object error);
|
||
|
||
/// No description provided for @unsupportedConfigVersion.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Versión de configuración no compatible'**
|
||
String get unsupportedConfigVersion;
|
||
|
||
/// No description provided for @audioErrorGeneric.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Error de reproducción'**
|
||
String get audioErrorGeneric;
|
||
|
||
/// No description provided for @audioErrorNoInternet.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Sin conexión a internet'**
|
||
String get audioErrorNoInternet;
|
||
|
||
/// No description provided for @audioErrorInvalidUrl.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'La URL de la radio no es válida'**
|
||
String get audioErrorInvalidUrl;
|
||
|
||
/// No description provided for @audioErrorNotFound.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'La radio no está disponible (error 404)'**
|
||
String get audioErrorNotFound;
|
||
|
||
/// No description provided for @audioErrorTimeout.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Tiempo de espera agotado al conectar'**
|
||
String get audioErrorTimeout;
|
||
|
||
/// No description provided for @audioErrorCannotConnect.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No se puede conectar a la radio'**
|
||
String get audioErrorCannotConnect;
|
||
|
||
/// No description provided for @audioErrorUnsupportedFormat.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Formato de stream no compatible'**
|
||
String get audioErrorUnsupportedFormat;
|
||
|
||
/// No description provided for @audioErrorDecode.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Error al decodificar el stream de audio'**
|
||
String get audioErrorDecode;
|
||
|
||
/// No description provided for @audioErrorCleartext.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Esta radio usa HTTP sin cifrar, y no está permitido'**
|
||
String get audioErrorCleartext;
|
||
|
||
/// No description provided for @audioErrorSsl.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Certificado SSL inválido en la radio'**
|
||
String get audioErrorSsl;
|
||
|
||
/// No description provided for @audioErrorCannotPlay.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No se puede reproducir esta radio'**
|
||
String get audioErrorCannotPlay;
|
||
|
||
/// No description provided for @audioErrorUnexpectedPlayback.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Error inesperado al reproducir'**
|
||
String get audioErrorUnexpectedPlayback;
|
||
|
||
/// No description provided for @androidExactAlarmScheduleError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Android no pudo programar una alarma exacta. Revisa el permiso de alarmas exactas.'**
|
||
String get androidExactAlarmScheduleError;
|
||
|
||
/// No description provided for @recordingPathEmptyError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'La ruta de grabación no puede estar vacía'**
|
||
String get recordingPathEmptyError;
|
||
|
||
/// No description provided for @recordingMaxSizeInvalidError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'El tamaño máximo debe ser mayor que cero'**
|
||
String get recordingMaxSizeInvalidError;
|
||
|
||
/// No description provided for @recordingAlreadyActiveError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Ya hay una grabación en curso'**
|
||
String get recordingAlreadyActiveError;
|
||
|
||
/// No description provided for @alarmRingingFallbackActive.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Sonando con audio seguro interno.'**
|
||
String get alarmRingingFallbackActive;
|
||
|
||
/// No description provided for @alarmRingingPreparingFallback.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Preparando audio seguro interno.'**
|
||
String get alarmRingingPreparingFallback;
|
||
|
||
/// No description provided for @alarmRingingTryingStation.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Intentando reproducir tu emisora con máxima calidad disponible.'**
|
||
String get alarmRingingTryingStation;
|
||
|
||
/// No description provided for @alarmScheduleDaily.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Cada mañana'**
|
||
String get alarmScheduleDaily;
|
||
|
||
/// No description provided for @alarmScheduleOnce.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Una vez · {date}'**
|
||
String alarmScheduleOnce(Object date);
|
||
|
||
/// No description provided for @alarmScheduleWeekdays.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Días: {days}'**
|
||
String alarmScheduleWeekdays(Object days);
|
||
|
||
/// No description provided for @alarmRepeatSectionLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'REPETIR'**
|
||
String get alarmRepeatSectionLabel;
|
||
|
||
/// No description provided for @alarmVolumeLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Volumen'**
|
||
String get alarmVolumeLabel;
|
||
|
||
/// No description provided for @androidReliabilityTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Revisar fiabilidad Android'**
|
||
String get androidReliabilityTitle;
|
||
|
||
/// No description provided for @closeAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Cerrar'**
|
||
String get closeAction;
|
||
|
||
/// No description provided for @customOption.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Personalizada'**
|
||
String get customOption;
|
||
|
||
/// No description provided for @endLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Fin'**
|
||
String get endLabel;
|
||
|
||
/// No description provided for @equalizerDisable.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Desactivar ecualizador'**
|
||
String get equalizerDisable;
|
||
|
||
/// No description provided for @helpTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Ayuda y tutorial'**
|
||
String get helpTitle;
|
||
|
||
/// No description provided for @helpSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'9 pantallas · vuelve a verlo cuando quieras'**
|
||
String get helpSubtitle;
|
||
|
||
/// No description provided for @tutorialSkipAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Saltar'**
|
||
String get tutorialSkipAction;
|
||
|
||
/// No description provided for @tutorialNextAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Siguiente'**
|
||
String get tutorialNextAction;
|
||
|
||
/// No description provided for @tutorialPage1Headline.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Guarda tus emisoras y agrúpalas'**
|
||
String get tutorialPage1Headline;
|
||
|
||
/// No description provided for @tutorialPage1Body.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Toca el corazón para guardar una emisora. En «Tus emisoras» puedes crear grupos como «Cada mañana» o «Coche» y reordenarlas arrastrando.'**
|
||
String get tutorialPage1Body;
|
||
|
||
/// No description provided for @tutorialPage2Headline.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Un ecualizador base y otro por emisora'**
|
||
String get tutorialPage2Headline;
|
||
|
||
/// No description provided for @tutorialPage2Body.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'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.'**
|
||
String get tutorialPage2Body;
|
||
|
||
/// No description provided for @tutorialPage3Headline.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Graba lo que estás escuchando'**
|
||
String get tutorialPage3Headline;
|
||
|
||
/// No description provided for @tutorialPage3Body.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Desde la bandeja de herramientas del reproductor, «Grabar» guarda el stream original. Encuentra tus grabaciones en Ajustes › Grabaciones.'**
|
||
String get tutorialPage3Body;
|
||
|
||
/// No description provided for @tutorialPage4Headline.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Alarmas que se adaptan a ti'**
|
||
String get tutorialPage4Headline;
|
||
|
||
/// No description provided for @tutorialPage4Body.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'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.'**
|
||
String get tutorialPage4Body;
|
||
|
||
/// No description provided for @tutorialPage5Headline.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Tus favoritas, también en el coche'**
|
||
String get tutorialPage5Headline;
|
||
|
||
/// No description provided for @tutorialPage5Body.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'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.'**
|
||
String get tutorialPage5Body;
|
||
|
||
/// No description provided for @tutorialPage6Headline.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Se reconecta sola'**
|
||
String get tutorialPage6Headline;
|
||
|
||
/// No description provided for @tutorialPage6Body.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Si se corta la señal, PluriWave reintenta automáticamente y sigue mostrando tus favoritas guardadas aunque no tengas conexión.'**
|
||
String get tutorialPage6Body;
|
||
|
||
/// No description provided for @tutorialPage7Headline.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Elige cuánto posponer'**
|
||
String get tutorialPage7Headline;
|
||
|
||
/// No description provided for @tutorialPage7Body.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Cuando suene una alarma, no hay un único «posponer»: eliges 3, 5 o 10 minutos según lo que necesites en ese momento.'**
|
||
String get tutorialPage7Body;
|
||
|
||
/// No description provided for @tutorialPage8Headline.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'¿No la encuentras? Añádela tú'**
|
||
String get tutorialPage8Headline;
|
||
|
||
/// No description provided for @tutorialPage8Body.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'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.'**
|
||
String get tutorialPage8Body;
|
||
|
||
/// No description provided for @tutorialPage9Headline.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Listo, ya conoces lo esencial'**
|
||
String get tutorialPage9Headline;
|
||
|
||
/// No description provided for @tutorialPage9BannerBody.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Para volver a ver este tutorial cuando quieras: Ajustes → Información → Ayuda y tutorial.'**
|
||
String get tutorialPage9BannerBody;
|
||
|
||
/// No description provided for @indefiniteOption.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Indefinida'**
|
||
String get indefiniteOption;
|
||
|
||
/// No description provided for @invalidNumber.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Número inválido'**
|
||
String get invalidNumber;
|
||
|
||
/// No description provided for @nameLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Nombre'**
|
||
String get nameLabel;
|
||
|
||
/// No description provided for @notPlaying.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No está reproduciendo'**
|
||
String get notPlaying;
|
||
|
||
/// No description provided for @oneTimeOption.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Una vez'**
|
||
String get oneTimeOption;
|
||
|
||
/// No description provided for @pausePlaybackTooltip.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Pausar reproducción'**
|
||
String get pausePlaybackTooltip;
|
||
|
||
/// No description provided for @playerQualityChangeAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Cambiar'**
|
||
String get playerQualityChangeAction;
|
||
|
||
/// No description provided for @playerToolEqLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'EQ propio'**
|
||
String get playerToolEqLabel;
|
||
|
||
/// No description provided for @qualityOriginal.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Calidad original: {quality}'**
|
||
String qualityOriginal(Object quality);
|
||
|
||
/// No description provided for @qualityUnknown.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Calidad no informada'**
|
||
String get qualityUnknown;
|
||
|
||
/// No description provided for @recordAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Grabar'**
|
||
String get recordAction;
|
||
|
||
/// No description provided for @recordDurationTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Duración de grabación'**
|
||
String get recordDurationTitle;
|
||
|
||
/// No description provided for @recordRadioSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Elegí cuánto tiempo querés grabar.'**
|
||
String get recordRadioSubtitle;
|
||
|
||
/// No description provided for @recordRadioTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Grabar radio'**
|
||
String get recordRadioTitle;
|
||
|
||
/// No description provided for @recordingActiveTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Grabando radio'**
|
||
String get recordingActiveTitle;
|
||
|
||
/// No description provided for @recordingDirectTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Grabación directa'**
|
||
String get recordingDirectTitle;
|
||
|
||
/// No description provided for @recordingsOpenFolderPlainError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No se pudo abrir la carpeta de grabaciones'**
|
||
String get recordingsOpenFolderPlainError;
|
||
|
||
/// No description provided for @recordingsOpenLatest.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Abrir última grabación'**
|
||
String get recordingsOpenLatest;
|
||
|
||
/// No description provided for @recordingsOpenLatestError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No se pudo abrir la última grabación'**
|
||
String get recordingsOpenLatestError;
|
||
|
||
/// No description provided for @startLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Inicio'**
|
||
String get startLabel;
|
||
|
||
/// No description provided for @startPlaybackTooltip.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Iniciar reproducción'**
|
||
String get startPlaybackTooltip;
|
||
|
||
/// No description provided for @stopAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Parar'**
|
||
String get stopAction;
|
||
|
||
/// No description provided for @stopPlaybackTooltip.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Detener reproducción'**
|
||
String get stopPlaybackTooltip;
|
||
|
||
/// No description provided for @weekdayShortMonday.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Lun'**
|
||
String get weekdayShortMonday;
|
||
|
||
/// No description provided for @weekdayShortTuesday.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Mar'**
|
||
String get weekdayShortTuesday;
|
||
|
||
/// No description provided for @weekdayShortWednesday.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Mié'**
|
||
String get weekdayShortWednesday;
|
||
|
||
/// No description provided for @weekdayShortThursday.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Jue'**
|
||
String get weekdayShortThursday;
|
||
|
||
/// No description provided for @weekdayShortFriday.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Vie'**
|
||
String get weekdayShortFriday;
|
||
|
||
/// No description provided for @weekdayShortSaturday.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Sáb'**
|
||
String get weekdayShortSaturday;
|
||
|
||
/// No description provided for @weekdayShortSunday.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Dom'**
|
||
String get weekdayShortSunday;
|
||
|
||
/// No description provided for @stationCount.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'{count, plural, =1{1 emisora} other{{count} emisoras}}'**
|
||
String stationCount(int count);
|
||
|
||
/// No description provided for @alarmIconLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Alarma musical'**
|
||
String get alarmIconLabel;
|
||
|
||
/// No description provided for @vacationIconLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Modo vacaciones'**
|
||
String get vacationIconLabel;
|
||
|
||
/// No description provided for @alarmAdvancedSectionTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Avanzado'**
|
||
String get alarmAdvancedSectionTitle;
|
||
|
||
/// No description provided for @alarmInlineHourLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Hora'**
|
||
String get alarmInlineHourLabel;
|
||
|
||
/// No description provided for @alarmInlineMinuteLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Minuto'**
|
||
String get alarmInlineMinuteLabel;
|
||
|
||
/// No description provided for @alarmVolumeRisingStatus.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Subiendo volumen'**
|
||
String get alarmVolumeRisingStatus;
|
||
|
||
/// No description provided for @streamUrlHint.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'https://stream.example.com:8000/radio'**
|
||
String get streamUrlHint;
|
||
|
||
/// No description provided for @advancedEqSectionTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Opciones avanzadas de ecualización'**
|
||
String get advancedEqSectionTitle;
|
||
|
||
/// No description provided for @advancedEqEnableToggle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Activar EQ por dispositivo'**
|
||
String get advancedEqEnableToggle;
|
||
|
||
/// No description provided for @advancedEqEnableToggleSubtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Aplica automáticamente un preset de EQ distinto al cambiar la salida de audio.'**
|
||
String get advancedEqEnableToggleSubtitle;
|
||
|
||
/// No description provided for @advancedEqKnownDevicesTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Dispositivos de audio conocidos'**
|
||
String get advancedEqKnownDevicesTitle;
|
||
|
||
/// No description provided for @advancedEqKnownDevicesEmpty.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No hay dispositivos registrados. Conectá uno para empezar.'**
|
||
String get advancedEqKnownDevicesEmpty;
|
||
|
||
/// No description provided for @advancedEqDevicePresetLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Preset: {presetName}'**
|
||
String advancedEqDevicePresetLabel(Object presetName);
|
||
|
||
/// No description provided for @preNoticeCountdown.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Empieza en {minutes} min'**
|
||
String preNoticeCountdown(int minutes);
|
||
|
||
/// No description provided for @snoozeCountdown.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Suena en {minutes} min'**
|
||
String snoozeCountdown(int minutes);
|
||
|
||
/// No description provided for @snoozeAgainAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Posponer otra vez'**
|
||
String get snoozeAgainAction;
|
||
|
||
/// No description provided for @alarmRingingNotificationTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Alarma PluriWave'**
|
||
String get alarmRingingNotificationTitle;
|
||
|
||
/// No description provided for @alarmFireChannelName.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Alarmas sonando'**
|
||
String get alarmFireChannelName;
|
||
|
||
/// No description provided for @alarmFireChannelDescription.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Sonido y pantalla urgente cuando una alarma musical debe sonar'**
|
||
String get alarmFireChannelDescription;
|
||
|
||
/// No description provided for @alarmPreNoticeChannelName.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Preavisos de alarmas'**
|
||
String get alarmPreNoticeChannelName;
|
||
|
||
/// No description provided for @alarmPreNoticeChannelDescription.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Notificaciones silenciosas antes de la alarma'**
|
||
String get alarmPreNoticeChannelDescription;
|
||
|
||
/// No description provided for @openFolderChooserTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Abrir carpeta'**
|
||
String get openFolderChooserTitle;
|
||
|
||
/// No description provided for @openRecordingChooserTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Abrir grabación'**
|
||
String get openRecordingChooserTitle;
|
||
|
||
/// No description provided for @eqDeviceEditTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Editar dispositivo'**
|
||
String get eqDeviceEditTitle;
|
||
|
||
/// No description provided for @eqDeviceNameLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Nombre del dispositivo'**
|
||
String get eqDeviceNameLabel;
|
||
|
||
/// No description provided for @eqDeviceNameHint.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Ej: Altavoz del living'**
|
||
String get eqDeviceNameHint;
|
||
|
||
/// No description provided for @eqDeviceNameConfirm.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Guardar'**
|
||
String get eqDeviceNameConfirm;
|
||
|
||
/// No description provided for @eqDeviceConnected.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Conectado'**
|
||
String get eqDeviceConnected;
|
||
|
||
/// No description provided for @eqDeviceActiveOutput.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'El audio está saliendo por este dispositivo'**
|
||
String get eqDeviceActiveOutput;
|
||
|
||
/// No description provided for @eqDeviceRemove.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Quitar dispositivo'**
|
||
String get eqDeviceRemove;
|
||
|
||
/// No description provided for @eqDeviceRemoved.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Se quitó {device}'**
|
||
String eqDeviceRemoved(Object device);
|
||
|
||
/// No description provided for @localMusicSectionTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Música local (Android Auto)'**
|
||
String get localMusicSectionTitle;
|
||
|
||
/// No description provided for @localMusicSectionDescription.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Elegí una carpeta de este dispositivo para explorar y reproducir sus archivos de audio desde el auto.'**
|
||
String get localMusicSectionDescription;
|
||
|
||
/// No description provided for @localMusicFolderNotConfigured.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No hay carpeta seleccionada'**
|
||
String get localMusicFolderNotConfigured;
|
||
|
||
/// No description provided for @localMusicFolderTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Carpeta de música local'**
|
||
String get localMusicFolderTitle;
|
||
|
||
/// No description provided for @localMusicChoosePath.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Elegir carpeta'**
|
||
String get localMusicChoosePath;
|
||
|
||
/// No description provided for @localMusicChangePath.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Cambiar carpeta'**
|
||
String get localMusicChangePath;
|
||
|
||
/// No description provided for @localMusicFolderUpdated.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Carpeta de música local actualizada'**
|
||
String get localMusicFolderUpdated;
|
||
|
||
/// No description provided for @localMusicFolderSaveError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No se pudo guardar la carpeta: {error}'**
|
||
String localMusicFolderSaveError(Object error);
|
||
|
||
/// No description provided for @localMusicFolderGenericName.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Carpeta seleccionada'**
|
||
String get localMusicFolderGenericName;
|
||
|
||
/// No description provided for @welcomeHeadline.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Tu mundo, en directo'**
|
||
String get welcomeHeadline;
|
||
|
||
/// No description provided for @welcomeBody.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'53.412 emisoras de 238 países. Guardá tus favoritas, llevalas al auto y despertate con ellas.'**
|
||
String get welcomeBody;
|
||
|
||
/// No description provided for @welcomeBullet1Title.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Ecualizador por emisora'**
|
||
String get welcomeBullet1Title;
|
||
|
||
/// No description provided for @welcomeBullet1Subtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Y un preset por dispositivo de salida'**
|
||
String get welcomeBullet1Subtitle;
|
||
|
||
/// No description provided for @welcomeBullet2Title.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Android Auto'**
|
||
String get welcomeBullet2Title;
|
||
|
||
/// No description provided for @welcomeBullet2Subtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Tus favoritas y tu música local en el auto'**
|
||
String get welcomeBullet2Subtitle;
|
||
|
||
/// No description provided for @welcomeBullet3Title.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Alarmas musicales'**
|
||
String get welcomeBullet3Title;
|
||
|
||
/// No description provided for @welcomeBullet3Subtitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Con subida progresiva y modo vacaciones'**
|
||
String get welcomeBullet3Subtitle;
|
||
|
||
/// No description provided for @welcomeCtaLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Empezar a escuchar'**
|
||
String get welcomeCtaLabel;
|
||
|
||
/// No description provided for @eqCustomActionEnableLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Activar ecualizador'**
|
||
String get eqCustomActionEnableLabel;
|
||
|
||
/// No description provided for @eqCustomActionDisableLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Desactivar ecualizador'**
|
||
String get eqCustomActionDisableLabel;
|
||
|
||
/// No description provided for @eqCustomActionPresetLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Preset: {preset}'**
|
||
String eqCustomActionPresetLabel(String preset);
|
||
|
||
/// No description provided for @alarmCardVacationPausedBadge.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Pausada por vacaciones'**
|
||
String get alarmCardVacationPausedBadge;
|
||
|
||
/// No description provided for @alarmCardSchedulingFailedMessage.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Esta alarma no se pudo registrar en el sistema, así que podría no sonar.'**
|
||
String get alarmCardSchedulingFailedMessage;
|
||
|
||
/// No description provided for @alarmCardPreNoticeFailedMessage.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Esta alarma está programada, pero no se pudo activar su aviso previo.'**
|
||
String get alarmCardPreNoticeFailedMessage;
|
||
|
||
/// No description provided for @alarmDiagnosticsExactAlarmsTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Programación de alarma exacta'**
|
||
String get alarmDiagnosticsExactAlarmsTitle;
|
||
|
||
/// No description provided for @alarmDiagnosticsExactAlarmsHint.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Permite que la alarma suene en el minuto exacto que elegiste, incluso con el teléfono en reposo.'**
|
||
String get alarmDiagnosticsExactAlarmsHint;
|
||
|
||
/// No description provided for @alarmDiagnosticsNotificationsTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Notificaciones'**
|
||
String get alarmDiagnosticsNotificationsTitle;
|
||
|
||
/// No description provided for @alarmDiagnosticsNotificationsHint.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Necesarias para mostrar la alarma y el aviso previo.'**
|
||
String get alarmDiagnosticsNotificationsHint;
|
||
|
||
/// No description provided for @alarmDiagnosticsFullScreenTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Pantalla completa de la alarma'**
|
||
String get alarmDiagnosticsFullScreenTitle;
|
||
|
||
/// No description provided for @alarmDiagnosticsFullScreenHint.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Permite que la pantalla de la alarma aparezca automáticamente, incluso con el teléfono bloqueado.'**
|
||
String get alarmDiagnosticsFullScreenHint;
|
||
|
||
/// No description provided for @alarmDiagnosticsBatteryTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Optimización de batería'**
|
||
String get alarmDiagnosticsBatteryTitle;
|
||
|
||
/// No description provided for @alarmDiagnosticsBatteryHint.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Evita que el sistema cierre PluriWave en segundo plano para que la alarma pueda sonar.'**
|
||
String get alarmDiagnosticsBatteryHint;
|
||
|
||
/// No description provided for @alarmDiagnosticsNativeCountTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Alarmas registradas en Android'**
|
||
String get alarmDiagnosticsNativeCountTitle;
|
||
|
||
/// No description provided for @alarmDiagnosticsNativeCountValue.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Registradas ahora mismo: {count}'**
|
||
String alarmDiagnosticsNativeCountValue(int count);
|
||
|
||
/// No description provided for @alarmDiagnosticsNativeCountAttentionHint.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'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.'**
|
||
String get alarmDiagnosticsNativeCountAttentionHint;
|
||
|
||
/// No description provided for @alarmDiagnosticsManufacturerLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Fabricante'**
|
||
String get alarmDiagnosticsManufacturerLabel;
|
||
|
||
/// No description provided for @alarmDiagnosticsSdkLabel.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Versión de Android (SDK)'**
|
||
String get alarmDiagnosticsSdkLabel;
|
||
|
||
/// No description provided for @alarmDiagnosticsNeedsAttentionStatus.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Necesita atención'**
|
||
String get alarmDiagnosticsNeedsAttentionStatus;
|
||
|
||
/// No description provided for @alarmDiagnosticsAutostartTitle.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Un paso manual más en este teléfono'**
|
||
String get alarmDiagnosticsAutostartTitle;
|
||
|
||
/// No description provided for @alarmDiagnosticsAutostartBody.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'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.'**
|
||
String alarmDiagnosticsAutostartBody(String manufacturer);
|
||
|
||
/// No description provided for @alarmDiagnosticsFixAction.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Solucionar'**
|
||
String get alarmDiagnosticsFixAction;
|
||
|
||
/// No description provided for @alarmDiagnosticsIntentUnavailable.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No se pudo abrir esa pantalla de ajustes en este teléfono. Buscala manualmente en Ajustes.'**
|
||
String get alarmDiagnosticsIntentUnavailable;
|
||
|
||
/// No description provided for @alarmDiagnosticsUnavailableHint.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Todavía no pudimos revisar tus ajustes de alarma.'**
|
||
String get alarmDiagnosticsUnavailableHint;
|
||
|
||
/// No description provided for @autoEqDisableOption.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Desactivar'**
|
||
String get autoEqDisableOption;
|
||
|
||
/// No description provided for @funcionPremium.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Función Premium'**
|
||
String get funcionPremium;
|
||
|
||
/// No description provided for @limiteAlarmasAlcanzado.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Has alcanzado el límite de 5 alarmas gratuitas.'**
|
||
String get limiteAlarmasAlcanzado;
|
||
|
||
/// No description provided for @desbloquearPremium.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Desbloquear Premium'**
|
||
String get desbloquearPremium;
|
||
|
||
/// No description provided for @restaurarCompras.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Restaurar compras'**
|
||
String get restaurarCompras;
|
||
|
||
/// No description provided for @compraError.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No se ha podido completar la compra. Inténtalo de nuevo.'**
|
||
String get compraError;
|
||
|
||
/// No description provided for @restauracionSinCompras.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'No hemos encontrado ninguna compra anterior en esta cuenta.'**
|
||
String get restauracionSinCompras;
|
||
|
||
/// No description provided for @premiumActivo.
|
||
///
|
||
/// In es, this message translates to:
|
||
/// **'Premium activo'**
|
||
String get premiumActivo;
|
||
}
|
||
|
||
class _AppLocalizationsDelegate
|
||
extends LocalizationsDelegate<AppLocalizations> {
|
||
const _AppLocalizationsDelegate();
|
||
|
||
@override
|
||
Future<AppLocalizations> load(Locale locale) {
|
||
return SynchronousFuture<AppLocalizations>(lookupAppLocalizations(locale));
|
||
}
|
||
|
||
@override
|
||
bool isSupported(Locale locale) => <String>[
|
||
'ar',
|
||
'bn',
|
||
'de',
|
||
'en',
|
||
'es',
|
||
'fr',
|
||
'hi',
|
||
'id',
|
||
'it',
|
||
'ja',
|
||
'pt',
|
||
'ru',
|
||
'zh',
|
||
].contains(locale.languageCode);
|
||
|
||
@override
|
||
bool shouldReload(_AppLocalizationsDelegate old) => false;
|
||
}
|
||
|
||
AppLocalizations lookupAppLocalizations(Locale locale) {
|
||
// Lookup logic when only language code is specified.
|
||
switch (locale.languageCode) {
|
||
case 'ar':
|
||
return AppLocalizationsAr();
|
||
case 'bn':
|
||
return AppLocalizationsBn();
|
||
case 'de':
|
||
return AppLocalizationsDe();
|
||
case 'en':
|
||
return AppLocalizationsEn();
|
||
case 'es':
|
||
return AppLocalizationsEs();
|
||
case 'fr':
|
||
return AppLocalizationsFr();
|
||
case 'hi':
|
||
return AppLocalizationsHi();
|
||
case 'id':
|
||
return AppLocalizationsId();
|
||
case 'it':
|
||
return AppLocalizationsIt();
|
||
case 'ja':
|
||
return AppLocalizationsJa();
|
||
case 'pt':
|
||
return AppLocalizationsPt();
|
||
case 'ru':
|
||
return AppLocalizationsRu();
|
||
case 'zh':
|
||
return AppLocalizationsZh();
|
||
}
|
||
|
||
throw FlutterError(
|
||
'AppLocalizations.delegate failed to load unsupported locale "$locale". This is likely '
|
||
'an issue with the localizations generation tool. Please file an issue '
|
||
'on GitHub with a reproducible sample app and the gen-l10n configuration '
|
||
'that was used.',
|
||
);
|
||
}
|