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]
1895 lines
47 KiB
Dart
1895 lines
47 KiB
Dart
// ignore: unused_import
|
||
import 'package:intl/intl.dart' as intl;
|
||
import 'app_localizations.dart';
|
||
|
||
// ignore_for_file: type=lint
|
||
|
||
/// The translations for Italian (`it`).
|
||
class AppLocalizationsIt extends AppLocalizations {
|
||
AppLocalizationsIt([String locale = 'it']) : super(locale);
|
||
|
||
@override
|
||
String get appTitle => 'PluriWave';
|
||
|
||
@override
|
||
String get navHome => 'Ascolta';
|
||
|
||
@override
|
||
String get navSearch => 'Cerca';
|
||
|
||
@override
|
||
String get navFavorites => 'Preferiti';
|
||
|
||
@override
|
||
String get navAlarms => 'Sveglie';
|
||
|
||
@override
|
||
String get navSettings => 'Impostazioni';
|
||
|
||
@override
|
||
String get actionOk => 'OK';
|
||
|
||
@override
|
||
String get sleepTimer => 'Timer sonno';
|
||
|
||
@override
|
||
String get sleepTimerDescription =>
|
||
'Spegnimento graduale della radio con conto alla rovescia preciso.';
|
||
|
||
@override
|
||
String get cancelTimer => 'Annulla timer';
|
||
|
||
@override
|
||
String get optionOther => 'Altro';
|
||
|
||
@override
|
||
String get customDurationTitle => 'Durata personalizzata';
|
||
|
||
@override
|
||
String get durationGreaterThanZero => 'Scegli una durata maggiore di zero.';
|
||
|
||
@override
|
||
String get hoursLabel => 'Ore';
|
||
|
||
@override
|
||
String get minutesLabel => 'Minuti';
|
||
|
||
@override
|
||
String get secondsLabel => 'Secondi';
|
||
|
||
@override
|
||
String durationHoursMinutesSeconds(
|
||
Object hours,
|
||
Object minutes,
|
||
Object seconds,
|
||
) {
|
||
return '$hours h $minutes min $seconds s';
|
||
}
|
||
|
||
@override
|
||
String durationMinutesSeconds(Object minutes, Object seconds) {
|
||
return '$minutes min $seconds s';
|
||
}
|
||
|
||
@override
|
||
String durationMinutesOnly(Object minutes) {
|
||
return '$minutes min';
|
||
}
|
||
|
||
@override
|
||
String durationSecondsOnly(Object seconds) {
|
||
return '$seconds s';
|
||
}
|
||
|
||
@override
|
||
String get saveQuickAccess => 'Salva come accesso rapido';
|
||
|
||
@override
|
||
String get startTimer => 'Avvia timer';
|
||
|
||
@override
|
||
String skipCurrentAlarmExecution(Object alarmName) {
|
||
return 'Questa esecuzione di $alarmName è stata saltata.';
|
||
}
|
||
|
||
@override
|
||
String get settingsTitle => 'Impostazioni';
|
||
|
||
@override
|
||
String get settingsSubtitle =>
|
||
'Controllo fine del suono, backup e stazioni personalizzate.';
|
||
|
||
@override
|
||
String get settingsGroupAudioTitle => 'AUDIO';
|
||
|
||
@override
|
||
String get settingsGroupStationsTitle => 'EMITTENTI';
|
||
|
||
@override
|
||
String get settingsGroupRecordingsTitle => 'REGISTRAZIONI E MUSICA';
|
||
|
||
@override
|
||
String get settingsGroupApplicationTitle => 'APPLICAZIONE';
|
||
|
||
@override
|
||
String get infoSectionTitle => 'Informazioni';
|
||
|
||
@override
|
||
String get languageSectionTitle => 'Lingua';
|
||
|
||
@override
|
||
String get languageSectionDescription =>
|
||
'Scegli come visualizzare la lingua dell\'app.';
|
||
|
||
@override
|
||
String get languageSystemDefault => 'Sistema';
|
||
|
||
@override
|
||
String get languageSpanish => 'Spagnolo';
|
||
|
||
@override
|
||
String get languageEnglish => 'Inglese';
|
||
|
||
@override
|
||
String languageUpdated(Object languageName) {
|
||
return 'Lingua aggiornata: $languageName';
|
||
}
|
||
|
||
@override
|
||
String get languageUpdatedSystem => 'Lingua aggiornata: Sistema';
|
||
|
||
@override
|
||
String get timerSectionTitle => 'Timer sonno';
|
||
|
||
@override
|
||
String get timerSectionAdd => 'Aggiungi';
|
||
|
||
@override
|
||
String get timerSectionDescription =>
|
||
'Personalizza gli accessi rapidi mostrati quando la radio si spegne automaticamente.';
|
||
|
||
@override
|
||
String get timerSectionRestoreRecommended => 'Ripristina tempi consigliati';
|
||
|
||
@override
|
||
String get newQuickAccessTitle => 'Nuovo accesso rapido';
|
||
|
||
@override
|
||
String get saveQuickAccessButton => 'Salva accesso rapido';
|
||
|
||
@override
|
||
String get settingsSafeStatus => 'Sicuro';
|
||
|
||
@override
|
||
String get recordingsSectionTitle => 'Registrazioni';
|
||
|
||
@override
|
||
String get recordingsFolderDialogTitle =>
|
||
'Seleziona la cartella delle registrazioni';
|
||
|
||
@override
|
||
String get recordingsPathUpdated => 'Percorso di registrazione aggiornato';
|
||
|
||
@override
|
||
String recordingsPathSaveError(Object error) {
|
||
return 'Impossibile salvare il percorso: $error';
|
||
}
|
||
|
||
@override
|
||
String get recordingsDefaultFolderRestored =>
|
||
'Verrà usata la cartella interna predefinita';
|
||
|
||
@override
|
||
String get recordingsFolderTitle => 'Cartella di registrazione';
|
||
|
||
@override
|
||
String get recordingsPathCalculating => 'Calcolo percorso...';
|
||
|
||
@override
|
||
String get recordingsChangePath => 'Cambia percorso';
|
||
|
||
@override
|
||
String get recordingsUseDefaultPath => 'Usa percorso predefinito';
|
||
|
||
@override
|
||
String get recordingsOriginalStreamHint =>
|
||
'La radio viene salvata dallo stream originale, senza ricompressione.';
|
||
|
||
@override
|
||
String get equalizerActive => 'Attivo';
|
||
|
||
@override
|
||
String get equalizerDisabled => 'Disattivato';
|
||
|
||
@override
|
||
String get equalizerEnable => 'Attiva equalizzatore';
|
||
|
||
@override
|
||
String get equalizerRealtimeSubtitle =>
|
||
'Le modifiche vengono applicate in tempo reale all\'emittente attuale.';
|
||
|
||
@override
|
||
String get equalizerPendingSubtitle =>
|
||
'Le modifiche vengono salvate e saranno applicate quando Android abiliterà l\'effetto.';
|
||
|
||
@override
|
||
String get equalizerPerStationTitle => 'Usa EQ proprio per questo preferito';
|
||
|
||
@override
|
||
String equalizerPerStationActive(Object stationName) {
|
||
return 'Attivo per $stationName';
|
||
}
|
||
|
||
@override
|
||
String equalizerPerStationMain(Object stationName) {
|
||
return 'EQ principale in uso per $stationName';
|
||
}
|
||
|
||
@override
|
||
String get equalizerBaseExplainer =>
|
||
'Questo è l\'equalizzatore di base: si applica a tutte le emittenti senza un\'impostazione propria. L\'EQ di un\'emittente specifica si imposta dalla sua schermata di riproduzione e ha la precedenza su questo.';
|
||
|
||
@override
|
||
String get equalizerActiveOutputLabel => 'Uscita attiva';
|
||
|
||
@override
|
||
String get equalizerActiveOutputDefault =>
|
||
'L\'altoparlante di questo dispositivo';
|
||
|
||
@override
|
||
String get equalizerStationsWithOwnEqTitle => 'Emittenti con EQ proprio';
|
||
|
||
@override
|
||
String get equalizerStationsWithOwnEqSubtitle =>
|
||
'Ignorano questo equalizzatore di base';
|
||
|
||
@override
|
||
String get equalizerStationsWithOwnEqEmpty =>
|
||
'Nessuna emittente ha ancora un EQ proprio.';
|
||
|
||
@override
|
||
String get equalizerSaveAsPresetAction => 'Salva come Preset';
|
||
|
||
@override
|
||
String get equalizerResetToFlatAction => 'Ripristina piatto';
|
||
|
||
@override
|
||
String get equalizerSavePresetDialogTitle => 'Salva come Preset';
|
||
|
||
@override
|
||
String get equalizerSavePresetNameLabel => 'Nome del Preset';
|
||
|
||
@override
|
||
String get equalizerSavePresetEmptyNameError =>
|
||
'Inserisci un nome per il Preset.';
|
||
|
||
@override
|
||
String get equalizerSavePresetConfirm => 'Salva';
|
||
|
||
@override
|
||
String get preferredStationTitle => 'Emittente preferita';
|
||
|
||
@override
|
||
String get preferredStationDescription =>
|
||
'Preselezionata quando crei sveglie e disponibile per la riproduzione rapida.';
|
||
|
||
@override
|
||
String get preferredStationNoStationsTitle =>
|
||
'Non ci sono ancora emittenti disponibili';
|
||
|
||
@override
|
||
String get preferredStationNoStationsSubtitle =>
|
||
'Salva preferiti o carica emittenti per sceglierne una preferita.';
|
||
|
||
@override
|
||
String get preferredStationAutomaticFallback => 'Fallback automatico';
|
||
|
||
@override
|
||
String get preferredStationDefaultFavorite => 'Preferita predefinita';
|
||
|
||
@override
|
||
String preferredStationCurrent(Object stationName) {
|
||
return 'Preferita attuale: $stationName';
|
||
}
|
||
|
||
@override
|
||
String preferredStationAutoUsing(Object stationName) {
|
||
return 'Nessun preferito: uso automatico di $stationName';
|
||
}
|
||
|
||
@override
|
||
String get preferredStationPlay => 'Riproduci preferita';
|
||
|
||
@override
|
||
String get customStationsTitle => 'Emittenti personalizzate';
|
||
|
||
@override
|
||
String get customStationsAdd => 'Aggiungi';
|
||
|
||
@override
|
||
String get customStationsEmpty => 'Nessuna emittente personalizzata.';
|
||
|
||
@override
|
||
String get playAction => 'Riproduci';
|
||
|
||
@override
|
||
String get deleteAction => 'Elimina';
|
||
|
||
@override
|
||
String get addStationTitle => 'Aggiungi emittente';
|
||
|
||
@override
|
||
String get stationNameLabel => 'Nome *';
|
||
|
||
@override
|
||
String get unnamedStation => 'Stazione senza nome';
|
||
|
||
@override
|
||
String get requiredField => 'Campo obbligatorio';
|
||
|
||
@override
|
||
String get streamUrlLabel => 'URL dello stream *';
|
||
|
||
@override
|
||
String get invalidUrl => 'URL non valido';
|
||
|
||
@override
|
||
String get countryOptionalLabel => 'Paese (opzionale)';
|
||
|
||
@override
|
||
String get saveStation => 'Salva emittente';
|
||
|
||
@override
|
||
String get backupSectionTitle => 'Backup';
|
||
|
||
@override
|
||
String get backupExportTitle => 'Esporta configurazione';
|
||
|
||
@override
|
||
String get backupExportSubtitle =>
|
||
'Preferiti, emittenti personalizzate e preset EQ';
|
||
|
||
@override
|
||
String get backupImportTitle => 'Importa configurazione';
|
||
|
||
@override
|
||
String get backupImportSubtitle => 'Ripristina da un file di backup';
|
||
|
||
@override
|
||
String get backupShareSubject => 'PluriWave — backup';
|
||
|
||
@override
|
||
String backupShareText(Object date) {
|
||
return 'Configurazione di PluriWave esportata il $date';
|
||
}
|
||
|
||
@override
|
||
String backupExportError(Object error) {
|
||
return 'Errore durante l\'esportazione: $error';
|
||
}
|
||
|
||
@override
|
||
String get backupImportConfirmMessage =>
|
||
'Questo aggiungerà preferiti, emittenti e preset dal file. Continuare?';
|
||
|
||
@override
|
||
String get backupImportSuccess => 'Configurazione importata correttamente';
|
||
|
||
@override
|
||
String backupImportError(Object error) {
|
||
return 'Errore durante l\'importazione: $error';
|
||
}
|
||
|
||
@override
|
||
String get appVersionLoading => 'Caricamento versione...';
|
||
|
||
@override
|
||
String appVersionSubtitle(Object version) {
|
||
return '$version - Radio mondiale';
|
||
}
|
||
|
||
@override
|
||
String get savedFavoritesTitle => 'Preferiti salvati';
|
||
|
||
@override
|
||
String get stationFilterTitle => 'Filtro emittenti';
|
||
|
||
@override
|
||
String get stationFilterSubtitle => 'Solo emittenti verificate come attive';
|
||
|
||
@override
|
||
String get backgroundAudioTitle => 'Audio in background';
|
||
|
||
@override
|
||
String get backgroundAudioSubtitle => 'Continua quando lo schermo si spegne';
|
||
|
||
@override
|
||
String get dash => '—';
|
||
|
||
@override
|
||
String get cancelAction => 'Annulla';
|
||
|
||
@override
|
||
String get equalizerTitle => 'Equalizzatore';
|
||
|
||
@override
|
||
String get recordingsOpenFolder => 'Apri cartella';
|
||
|
||
@override
|
||
String recordingsOpenFolderError(Object error) {
|
||
return 'Impossibile aprire la cartella: $error';
|
||
}
|
||
|
||
@override
|
||
String get recordingsMaxSizeTitle => 'Dimensione massima registrazione';
|
||
|
||
@override
|
||
String recordingsMaxSizeSubtitle(int size) {
|
||
return 'Limite attuale: $size MB';
|
||
}
|
||
|
||
@override
|
||
String get recordingsMaxSizeDialogTitle =>
|
||
'Dimensione massima per registrazione';
|
||
|
||
@override
|
||
String get recordingsMaxSizeMbLabel => 'Megabyte massimi';
|
||
|
||
@override
|
||
String recordingsMaxSizeSaved(int size) {
|
||
return 'Limite di registrazione aggiornato a $size MB';
|
||
}
|
||
|
||
@override
|
||
String get recordingsLibraryTitle => 'Le mie registrazioni';
|
||
|
||
@override
|
||
String recordingsLibraryStorageCaption(int usedMb, int totalMb) {
|
||
return '$usedMb MB di $totalMb MB usati';
|
||
}
|
||
|
||
@override
|
||
String get recordingsLibraryStorageFolderCaption =>
|
||
'Music/PluriWave · elimina le più vecchie al raggiungimento del limite';
|
||
|
||
@override
|
||
String get recordingsLibraryEmptyTitle => 'Ancora nessuna registrazione';
|
||
|
||
@override
|
||
String get recordingsLibraryEmptySubtitle =>
|
||
'Le registrazioni che salvi appariranno qui.';
|
||
|
||
@override
|
||
String get recordingActionRename => 'Rinomina';
|
||
|
||
@override
|
||
String get recordingActionShare => 'Condividi';
|
||
|
||
@override
|
||
String get recordingActionDelete => 'Elimina';
|
||
|
||
@override
|
||
String get recordingRenameDialogTitle => 'Rinomina registrazione';
|
||
|
||
@override
|
||
String get recordingRenameLabel => 'Nome';
|
||
|
||
@override
|
||
String get recordingRenameEmptyError => 'Inserisci un nome';
|
||
|
||
@override
|
||
String get recordingDeleteConfirmTitle => 'Eliminare la registrazione?';
|
||
|
||
@override
|
||
String get recordingDeleteConfirmMessage =>
|
||
'Questa azione non può essere annullata.';
|
||
|
||
@override
|
||
String get recordingsLibrarySettingsTooltip =>
|
||
'Impostazioni di registrazione';
|
||
|
||
@override
|
||
String get stationOrderTitle => 'Ordine emittenti';
|
||
|
||
@override
|
||
String get stationOrderByName => 'Per nome';
|
||
|
||
@override
|
||
String get stationOrderByQuality => 'Per qualità';
|
||
|
||
@override
|
||
String get stationOrderByPopularity => 'Per popolarità';
|
||
|
||
@override
|
||
String get stationOrderScopeDescription =>
|
||
'Si applica a preferiti, ricerche, emittenti vicine ed elenchi rapidi.';
|
||
|
||
@override
|
||
String get favoriteGroupsTitle => 'Liste preferiti';
|
||
|
||
@override
|
||
String get favoriteGroupsDescription =>
|
||
'Crea liste brevi per organizzare le emittenti salvate.';
|
||
|
||
@override
|
||
String get favoriteGroupsAdd => 'Aggiungi lista';
|
||
|
||
@override
|
||
String get favoriteGroupsEdit => 'Modifica lista';
|
||
|
||
@override
|
||
String get favoriteGroupsDelete => 'Elimina lista';
|
||
|
||
@override
|
||
String get favoriteGroupsNameLabel => 'Nome della lista';
|
||
|
||
@override
|
||
String get favoriteGroupsNameTooLong => 'Massimo 28 caratteri.';
|
||
|
||
@override
|
||
String get favoriteGroupsUnassigned => 'Non assegnate';
|
||
|
||
@override
|
||
String get favoriteGroupsProtectedHint =>
|
||
'Lista predefinita: non può essere modificata né eliminata.';
|
||
|
||
@override
|
||
String get favoriteGroupsCreated => 'Lista creata';
|
||
|
||
@override
|
||
String get favoriteGroupsUpdated => 'Lista aggiornata';
|
||
|
||
@override
|
||
String get favoriteGroupsDeleted =>
|
||
'Lista eliminata; le sue emittenti tornano a Non assegnate.';
|
||
|
||
@override
|
||
String get favoriteGroupsAssign => 'Sposta in lista';
|
||
|
||
@override
|
||
String favoriteGroupsAssignSubtitle(Object groupName) {
|
||
return 'Lista attuale: $groupName';
|
||
}
|
||
|
||
@override
|
||
String favoriteGroupsAssigned(Object stationName, Object groupName) {
|
||
return '$stationName spostata in $groupName';
|
||
}
|
||
|
||
@override
|
||
String get favoritesTitle => 'Preferiti';
|
||
|
||
@override
|
||
String get favoritesEmptyTitle => 'Ancora nessun preferito';
|
||
|
||
@override
|
||
String get favoritesEmptySubtitle =>
|
||
'Tocca il cuore su qualsiasi emittente per salvarla nella tua raccolta.';
|
||
|
||
@override
|
||
String get favoritesHeaderSubtitle =>
|
||
'Organizza la raccolta in liste e tieni vicine le radio importanti.';
|
||
|
||
@override
|
||
String get favoritesCollection => 'Raccolta';
|
||
|
||
@override
|
||
String favoritesSavedCount(int count) {
|
||
return '$count salvate';
|
||
}
|
||
|
||
@override
|
||
String get favoritesRemoveTooltip => 'Rimuovi dai preferiti';
|
||
|
||
@override
|
||
String favoritesRemovedMessage(Object stationName) {
|
||
return '$stationName rimossa dai preferiti';
|
||
}
|
||
|
||
@override
|
||
String get favoritesFilterAllLabel => 'Tutte';
|
||
|
||
@override
|
||
String favoriteGroupsChipLabel(Object groupName, int count) {
|
||
return '$groupName · $count';
|
||
}
|
||
|
||
@override
|
||
String get favoriteGroupsManage => 'Gestisci liste';
|
||
|
||
@override
|
||
String get customStationsAddCta => 'Aggiungi emittente personalizzata';
|
||
|
||
@override
|
||
String get alarmPostponedCurrentExecution =>
|
||
'Sveglia posticipata per questa esecuzione.';
|
||
|
||
@override
|
||
String get searchScreenTitle => 'Cerca segnale';
|
||
|
||
@override
|
||
String get searchScreenSubtitle =>
|
||
'Trova emittenti per nome, Paese o lingua con filtri rapidi e contrasto elevato.';
|
||
|
||
@override
|
||
String get searchFiltersLabel => 'Filtri';
|
||
|
||
@override
|
||
String get searchHint => 'Radio Orizzonte, jazz, notizie...';
|
||
|
||
@override
|
||
String get searchCountryFilterLabel => 'Paese';
|
||
|
||
@override
|
||
String get searchLanguageFilterLabel => 'Lingua';
|
||
|
||
@override
|
||
String get searchMinQualityFilterLabel => 'Qualità minima';
|
||
|
||
@override
|
||
String get searchLoadingStationsLabel => 'RICERCA STAZIONI IN CORSO…';
|
||
|
||
@override
|
||
String get searchEmptyTitle => 'Cerca un\'emittente';
|
||
|
||
@override
|
||
String get searchNoResultsTitle => 'Nessun risultato';
|
||
|
||
@override
|
||
String searchNoResultsForQueryTitle(Object query) {
|
||
return 'Nessun risultato per \"$query\"';
|
||
}
|
||
|
||
@override
|
||
String get searchEmptySubtitle =>
|
||
'Usa la barra in alto o i chip per scoprire emittenti da tutto il mondo.';
|
||
|
||
@override
|
||
String get searchNoResultsSubtitle =>
|
||
'Prova a rimuovere i filtri o a digitare un altro nome per trovare un\'emittente attiva.';
|
||
|
||
@override
|
||
String searchResultsCount(num count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count risultati',
|
||
one: '1 risultato',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String searchClearFiltersAction(num count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: 'Rimuovi $count filtri',
|
||
one: 'Rimuovi filtro',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String get countriesScreenTitle => 'Paesi';
|
||
|
||
@override
|
||
String get countriesSearchHint => 'Paese o codice...';
|
||
|
||
@override
|
||
String get countriesYourLanguagesTitle => 'Le tue lingue';
|
||
|
||
@override
|
||
String get countriesAllTitle => 'Tutti i paesi';
|
||
|
||
@override
|
||
String get radioCountriesError => 'Non è stato possibile caricare i paesi.';
|
||
|
||
@override
|
||
String get countrySpain => 'Spagna';
|
||
|
||
@override
|
||
String get countryUsa => 'USA';
|
||
|
||
@override
|
||
String get countryMexico => 'Messico';
|
||
|
||
@override
|
||
String get countryArgentina => 'Argentina';
|
||
|
||
@override
|
||
String get countryUk => 'Regno Unito';
|
||
|
||
@override
|
||
String get countryFrance => 'Francia';
|
||
|
||
@override
|
||
String get countryGermany => 'Germania';
|
||
|
||
@override
|
||
String get countryItaly => 'Italia';
|
||
|
||
@override
|
||
String get countryBrazil => 'Brasile';
|
||
|
||
@override
|
||
String get countryJapan => 'Giappone';
|
||
|
||
@override
|
||
String get languageNameSpanish => 'spagnolo';
|
||
|
||
@override
|
||
String get languageNameEnglish => 'inglese';
|
||
|
||
@override
|
||
String get languageNameFrench => 'francese';
|
||
|
||
@override
|
||
String get languageNameGerman => 'tedesco';
|
||
|
||
@override
|
||
String get languageNamePortuguese => 'portoghese';
|
||
|
||
@override
|
||
String get languageNameItalian => 'italiano';
|
||
|
||
@override
|
||
String get languageNameJapanese => 'giapponese';
|
||
|
||
@override
|
||
String get languageNameArabic => 'arabo';
|
||
|
||
@override
|
||
String get languageNameRussian => 'russo';
|
||
|
||
@override
|
||
String get homeScreenSubtitle =>
|
||
'Radio globale in diretta con segnali puliti, preferiti intelligenti e un\'esperienza visiva da quiz show.';
|
||
|
||
@override
|
||
String get exploreStations => 'Esplora emittenti';
|
||
|
||
@override
|
||
String stationsCount(int count) {
|
||
return '$count radio';
|
||
}
|
||
|
||
@override
|
||
String get qualityHd => 'Qualità HD';
|
||
|
||
@override
|
||
String get yourStationsTitle => 'Le tue emittenti';
|
||
|
||
@override
|
||
String get seeAllAction => 'Vedi tutte';
|
||
|
||
@override
|
||
String get openFullPlayerTooltip => 'Apri il player completo';
|
||
|
||
@override
|
||
String get nowListeningLabel => 'In ascolto ora';
|
||
|
||
@override
|
||
String get nothingPlayingTitle => 'Non stai ancora ascoltando nulla';
|
||
|
||
@override
|
||
String get nothingPlayingSubtitle =>
|
||
'Scegli un\'emittente da Le tue emittenti o cercane una per iniziare.';
|
||
|
||
@override
|
||
String get nearYou => 'Vicino a te';
|
||
|
||
@override
|
||
String nearYouInCountry(Object country) {
|
||
return 'Vicino a te · $country';
|
||
}
|
||
|
||
@override
|
||
String get detectAction => 'Rileva';
|
||
|
||
@override
|
||
String get liveRadar => 'Radar live';
|
||
|
||
@override
|
||
String get genresTitle => 'Generi';
|
||
|
||
@override
|
||
String get exploreByTitle => 'Esplora per';
|
||
|
||
@override
|
||
String get exploreTrendingTitle => 'Tendenze';
|
||
|
||
@override
|
||
String get exploreTrendingSubtitle => 'Oggi';
|
||
|
||
@override
|
||
String get exploreNewTitle => 'Novità';
|
||
|
||
@override
|
||
String get exploreNewSubtitle => 'Questa settimana';
|
||
|
||
@override
|
||
String get popularNowTitle => 'Popolari ora';
|
||
|
||
@override
|
||
String get offlineBannerTitle => 'Nessuna connessione';
|
||
|
||
@override
|
||
String get retryAction => 'Riprova';
|
||
|
||
@override
|
||
String get noStationsAvailable => 'Nessuna emittente disponibile';
|
||
|
||
@override
|
||
String get noStationsAvailableSubtitle =>
|
||
'Prova ad aggiornare o a scegliere un altro genere per captare di nuovo un segnale.';
|
||
|
||
@override
|
||
String get genrePop => 'Pop';
|
||
|
||
@override
|
||
String get genreRock => 'Rock';
|
||
|
||
@override
|
||
String get genreJazz => 'Jazz';
|
||
|
||
@override
|
||
String get genreClassical => 'Classica';
|
||
|
||
@override
|
||
String get genreElectronic => 'Elettronica';
|
||
|
||
@override
|
||
String get genreNews => 'Notizie';
|
||
|
||
@override
|
||
String get genreTalk => 'Talk';
|
||
|
||
@override
|
||
String get genreHipHop => 'Hip-hop';
|
||
|
||
@override
|
||
String get genreCountry => 'Country';
|
||
|
||
@override
|
||
String get genreMetal => 'Metal';
|
||
|
||
@override
|
||
String get genreReggae => 'Reggae';
|
||
|
||
@override
|
||
String get genreLatin => 'Latina';
|
||
|
||
@override
|
||
String get alarmScreenTitle => 'Risveglio musicale';
|
||
|
||
@override
|
||
String get alarmScreenSubtitle =>
|
||
'Sveglie con radio, suono sicuro, vacanze intelligenti e prossima esecuzione sempre visibile.';
|
||
|
||
@override
|
||
String get createAlarmAction => 'Crea sveglia';
|
||
|
||
@override
|
||
String alarmsCount(int count) {
|
||
return '$count sveglie';
|
||
}
|
||
|
||
@override
|
||
String get activeAlarmsWithoutNextTitle =>
|
||
'Sveglie attive senza prossima esecuzione';
|
||
|
||
@override
|
||
String get noActiveAlarms => 'Nessuna sveglia attiva';
|
||
|
||
@override
|
||
String get nextAlarmTitle => 'Prossima sveglia';
|
||
|
||
@override
|
||
String activeAlarmsWithoutNextSubtitle(int count) {
|
||
return 'Ci sono $count sveglia/e attive, ma al momento non hanno una data futura valida. Controlla data, giorni e vacanze.';
|
||
}
|
||
|
||
@override
|
||
String get createAlarmHint =>
|
||
'Crea una sveglia e PluriWave calcolerà automaticamente la prossima esecuzione.';
|
||
|
||
@override
|
||
String get alarmVacationPlay => 'Suona durante le vacanze';
|
||
|
||
@override
|
||
String get alarmVacationPause => 'Pausa durante le vacanze';
|
||
|
||
@override
|
||
String alarmFadeInLabel(int seconds) {
|
||
return 'Fade-in ${seconds}s';
|
||
}
|
||
|
||
@override
|
||
String alarmNextExecution(Object date) {
|
||
return 'Prossima esecuzione: $date';
|
||
}
|
||
|
||
@override
|
||
String get alarmNoNextExecution => 'Non ha una prossima esecuzione attiva.';
|
||
|
||
@override
|
||
String alarmSkippedExecution(Object date) {
|
||
return 'Un\'esecuzione è stata saltata: $date.';
|
||
}
|
||
|
||
@override
|
||
String get editAction => 'Modifica';
|
||
|
||
@override
|
||
String get skipNextAction => 'Salta prossima';
|
||
|
||
@override
|
||
String get deleteTooltip => 'Elimina';
|
||
|
||
@override
|
||
String get alarmHeroSkipAction => 'Salta';
|
||
|
||
@override
|
||
String get alarmDeleteConfirmTitle => 'Eliminare la sveglia?';
|
||
|
||
@override
|
||
String get alarmDeleteConfirmMessage =>
|
||
'Questa azione non può essere annullata.';
|
||
|
||
@override
|
||
String get alarmSkippedNoNextSnackbar =>
|
||
'Sveglia saltata. Non resta alcuna prossima esecuzione.';
|
||
|
||
@override
|
||
String alarmSkippedReturnsSnackbar(Object date) {
|
||
return 'Sveglia saltata. Tornerà il $date.';
|
||
}
|
||
|
||
@override
|
||
String alarmVacationPausedNoNext(Object vacationName) {
|
||
return 'In pausa per vacanze ($vacationName) e senza prossima esecuzione.';
|
||
}
|
||
|
||
@override
|
||
String alarmVacationPausedReturns(Object vacationName, Object date) {
|
||
return 'In pausa per vacanze ($vacationName) e torna il $date.';
|
||
}
|
||
|
||
@override
|
||
String alarmVacationReturns(Object date) {
|
||
return 'Con le vacanze attive, suonerà di nuovo il $date.';
|
||
}
|
||
|
||
@override
|
||
String get defaultAlarmName => 'Sveglia musicale';
|
||
|
||
@override
|
||
String get newAlarmTitle => 'Nuova sveglia';
|
||
|
||
@override
|
||
String get editAlarmTitle => 'Modifica sveglia';
|
||
|
||
@override
|
||
String get nameField => 'Nome';
|
||
|
||
@override
|
||
String get timeField => 'Ora';
|
||
|
||
@override
|
||
String get dateField => 'Data';
|
||
|
||
@override
|
||
String get onceOption => 'Una volta';
|
||
|
||
@override
|
||
String get dailyOption => 'Giornaliera';
|
||
|
||
@override
|
||
String get weekdaysOption => 'Giorni';
|
||
|
||
@override
|
||
String get soundAndVolumeSection => 'Suono e volume';
|
||
|
||
@override
|
||
String get alarmFadeInTitle => 'Fade-in sveglia';
|
||
|
||
@override
|
||
String get alarmFadeInOff => '0 s (senza transizione)';
|
||
|
||
@override
|
||
String alarmFadeInSummary(int seconds) {
|
||
return '$seconds s (dal 5% al volume scelto)';
|
||
}
|
||
|
||
@override
|
||
String get internalSafeSoundLabel => 'Suono sicuro interno';
|
||
|
||
@override
|
||
String get soundWarmSunrise => 'Alba calda';
|
||
|
||
@override
|
||
String get soundSoftBell => 'Campana dolce';
|
||
|
||
@override
|
||
String get soundDigitalPulse => 'Impulso digitale';
|
||
|
||
@override
|
||
String get favoriteStationLabel => 'Emittente preferita';
|
||
|
||
@override
|
||
String get noStationUseInternalSound =>
|
||
'Nessuna emittente: usa suono interno';
|
||
|
||
@override
|
||
String get alarmFallbackStationLabel => 'Emittente di riserva';
|
||
|
||
@override
|
||
String get alarmStationPickerSearchHint => 'Cerca un\'emittente per nome';
|
||
|
||
@override
|
||
String get alarmSnoozeDurationTitle => 'Durata posticipo';
|
||
|
||
@override
|
||
String get snoozeAction => 'Posticipa';
|
||
|
||
@override
|
||
String alarmSnoozeOptionLabel(int minutes) {
|
||
return '$minutes min';
|
||
}
|
||
|
||
@override
|
||
String get alarmSnoozeUsualLabel => 'abituale';
|
||
|
||
@override
|
||
String get saveFavoritesAlarmHint =>
|
||
'Salva emittenti nei Preferiti per usarle come sveglia musicale.';
|
||
|
||
@override
|
||
String get useCurrentStationAction => 'Usa emittente attuale';
|
||
|
||
@override
|
||
String get playDuringVacations => 'Suona durante le vacanze';
|
||
|
||
@override
|
||
String get playDuringVacationsHint =>
|
||
'Se lo disattivi, la prossima esecuzione passerà al primo giorno valido.';
|
||
|
||
@override
|
||
String get saveAlarmAction => 'Salva sveglia';
|
||
|
||
@override
|
||
String get chooseOneWeekdayError =>
|
||
'Scegli almeno un giorno della settimana.';
|
||
|
||
@override
|
||
String get androidReliabilityReview => 'Controlla affidabilità Android';
|
||
|
||
@override
|
||
String get statusOk => 'OK';
|
||
|
||
@override
|
||
String get statusPending => 'in sospeso';
|
||
|
||
@override
|
||
String androidReliabilityStatus(
|
||
Object exact,
|
||
Object notifications,
|
||
Object screen,
|
||
) {
|
||
return 'Affidabilità: esatte $exact · notifiche $notifications · schermo $screen';
|
||
}
|
||
|
||
@override
|
||
String get vacationRangesTitle => 'Periodi di vacanza';
|
||
|
||
@override
|
||
String get addAction => 'Aggiungi';
|
||
|
||
@override
|
||
String get vacationRangesHint =>
|
||
'Se una sveglia ha \"Pausa durante le vacanze\", questi periodi vengono saltati automaticamente.';
|
||
|
||
@override
|
||
String get noVacationRangesLoaded => 'Nessun periodo caricato.';
|
||
|
||
@override
|
||
String get deleteRangeTooltip => 'Elimina periodo';
|
||
|
||
@override
|
||
String vacationRangesCount(int count) {
|
||
return '$count periodi';
|
||
}
|
||
|
||
@override
|
||
String vacationSummaryActiveCountdown(int days) {
|
||
return 'In corso · mancano $days giorni';
|
||
}
|
||
|
||
@override
|
||
String vacationSummaryUpcomingCountdown(int days) {
|
||
return 'Prossimo periodo tra $days giorni';
|
||
}
|
||
|
||
@override
|
||
String vacationImpactPausedLabel(Object times) {
|
||
return 'In pausa: $times';
|
||
}
|
||
|
||
@override
|
||
String vacationImpactContinuesLabel(Object times) {
|
||
return 'Continua a suonare: $times';
|
||
}
|
||
|
||
@override
|
||
String get vacationUpcomingSectionTitle => 'PROGRAMMATI';
|
||
|
||
@override
|
||
String get vacationPastSectionTitle => 'Periodi passati';
|
||
|
||
@override
|
||
String get addVacationRangeCta => 'Aggiungi periodo';
|
||
|
||
@override
|
||
String get vacationExplainerBanner =>
|
||
'Durante questi periodi le sveglie contrassegnate come \"pausa in vacanza\" non suonano. Quelle contrassegnate come \"suona sempre\" non sono interessate.';
|
||
|
||
@override
|
||
String get vacationNoActiveRangeHint =>
|
||
'Nessun periodo di vacanza attivo al momento.';
|
||
|
||
@override
|
||
String get vacationsDefaultName => 'Vacanze';
|
||
|
||
@override
|
||
String get newVacationRangeTitle => 'Nuovo periodo di vacanza';
|
||
|
||
@override
|
||
String get editVacationRangeTitle => 'Modifica periodo di vacanza';
|
||
|
||
@override
|
||
String get vacationDeleteConfirmTitle => 'Eliminare il periodo di vacanza?';
|
||
|
||
@override
|
||
String get vacationDeleteConfirmMessage =>
|
||
'Questa azione non può essere annullata.';
|
||
|
||
@override
|
||
String get startField => 'Inizio';
|
||
|
||
@override
|
||
String get endField => 'Fine';
|
||
|
||
@override
|
||
String get saveRangeAction => 'Salva periodo';
|
||
|
||
@override
|
||
String get noAlarmsYetTitle => 'Non ci sono ancora sveglie.';
|
||
|
||
@override
|
||
String get noAlarmsYetSubtitle =>
|
||
'Creane una per progettare il tuo risveglio musicale.';
|
||
|
||
@override
|
||
String get ringingInternalAudioActive =>
|
||
'Suono sicuro interno in riproduzione.';
|
||
|
||
@override
|
||
String get ringingPreparingInternalAudio =>
|
||
'Preparazione del suono sicuro interno.';
|
||
|
||
@override
|
||
String get stopAlarmAction => 'Ferma sveglia';
|
||
|
||
@override
|
||
String get alarmStopFailedMessage =>
|
||
'Non siamo riusciti a confermare l’arresto della sveglia. Riprova.';
|
||
|
||
@override
|
||
String get alarmForceStopAction => 'Forza arresto';
|
||
|
||
@override
|
||
String get alarmMissedNotificationTitle => 'Sveglia mancata';
|
||
|
||
@override
|
||
String alarmMissedNotificationText(Object name) {
|
||
return '$name è stata disattivata automaticamente dopo 10 minuti.';
|
||
}
|
||
|
||
@override
|
||
String get pauseAction => 'Pausa';
|
||
|
||
@override
|
||
String miniPlayerOpenLabel(Object stationName) {
|
||
return 'Apri il lettore per $stationName';
|
||
}
|
||
|
||
@override
|
||
String get playerIconLabel => 'Lettore';
|
||
|
||
@override
|
||
String get playbackStatusConnecting => 'Connessione...';
|
||
|
||
@override
|
||
String get playbackStatusLive => 'In diretta';
|
||
|
||
@override
|
||
String get playbackStatusPaused => 'In pausa';
|
||
|
||
@override
|
||
String get playbackStatusReconnecting => 'Riconnessione...';
|
||
|
||
@override
|
||
String get playbackStatusConnectionError => 'Errore di connessione';
|
||
|
||
@override
|
||
String get playbackStatusStopped => 'Interrotto';
|
||
|
||
@override
|
||
String stationSemanticLabel(Object stationName) {
|
||
return 'Stazione $stationName';
|
||
}
|
||
|
||
@override
|
||
String get favoritesAddTooltip => 'Aggiungi ai preferiti';
|
||
|
||
@override
|
||
String favoritesAddedMessage(Object stationName) {
|
||
return '$stationName aggiunta ai preferiti';
|
||
}
|
||
|
||
@override
|
||
String get stationIconLabel => 'Icona della stazione';
|
||
|
||
@override
|
||
String get liveNow => 'In diretta';
|
||
|
||
@override
|
||
String equalizerBandLabel(Object band) {
|
||
return 'Banda $band';
|
||
}
|
||
|
||
@override
|
||
String equalizerBandValue(Object value) {
|
||
return '$value decibel';
|
||
}
|
||
|
||
@override
|
||
String get equalizerPresetFlat => 'Piatto';
|
||
|
||
@override
|
||
String get equalizerPresetRock => 'Rock';
|
||
|
||
@override
|
||
String get equalizerPresetPop => 'Pop';
|
||
|
||
@override
|
||
String get equalizerPresetBassBoost => 'Potenziamento bassi';
|
||
|
||
@override
|
||
String get equalizerPresetJazz => 'Jazz';
|
||
|
||
@override
|
||
String get equalizerPresetVoice => 'Voce';
|
||
|
||
@override
|
||
String get equalizerPresetCustom => 'Personalizzato';
|
||
|
||
@override
|
||
String get onboardingTitle => 'Benvenuto in PluriWave';
|
||
|
||
@override
|
||
String get onboardingNewsTitle => 'Novità';
|
||
|
||
@override
|
||
String get onboardingStartAction => 'Inizia';
|
||
|
||
@override
|
||
String get onboardingCloseTooltip => 'Chiudi';
|
||
|
||
@override
|
||
String radioRecordingError(Object error) {
|
||
return 'Errore durante la registrazione della radio: $error';
|
||
}
|
||
|
||
@override
|
||
String get radioApiConnectionError => 'Nessuna connessione all\'API radio';
|
||
|
||
@override
|
||
String get radioSearchError => 'Errore di ricerca. Controlla la connessione.';
|
||
|
||
@override
|
||
String get radioLoadMoreStationsError =>
|
||
'Impossibile caricare altre stazioni.';
|
||
|
||
@override
|
||
String get radioNearbyStationsError =>
|
||
'Non abbiamo potuto rilevare stazioni vicine. Usa i filtri per paese.';
|
||
|
||
@override
|
||
String radioCannotPlayStation(Object stationName) {
|
||
return 'Impossibile riprodurre \"$stationName\"';
|
||
}
|
||
|
||
@override
|
||
String get recordingSelectStationFirst =>
|
||
'Seleziona prima una stazione da registrare.';
|
||
|
||
@override
|
||
String recordingStartError(Object error) {
|
||
return 'Impossibile avviare la registrazione: $error';
|
||
}
|
||
|
||
@override
|
||
String get unsupportedConfigVersion =>
|
||
'Versione di configurazione non supportata';
|
||
|
||
@override
|
||
String get audioErrorGeneric => 'Errore di riproduzione';
|
||
|
||
@override
|
||
String get audioErrorNoInternet => 'Nessuna connessione a Internet';
|
||
|
||
@override
|
||
String get audioErrorInvalidUrl => 'L\'URL della radio non è valido';
|
||
|
||
@override
|
||
String get audioErrorNotFound => 'La radio non è disponibile (errore 404)';
|
||
|
||
@override
|
||
String get audioErrorTimeout => 'Tempo di connessione scaduto';
|
||
|
||
@override
|
||
String get audioErrorCannotConnect => 'Impossibile connettersi alla radio';
|
||
|
||
@override
|
||
String get audioErrorUnsupportedFormat => 'Formato stream non supportato';
|
||
|
||
@override
|
||
String get audioErrorDecode =>
|
||
'Errore durante la decodifica dello stream audio';
|
||
|
||
@override
|
||
String get audioErrorCleartext =>
|
||
'Questa radio usa HTTP non cifrato, non consentito';
|
||
|
||
@override
|
||
String get audioErrorSsl => 'Certificato SSL non valido per la radio';
|
||
|
||
@override
|
||
String get audioErrorCannotPlay => 'Questa radio non può essere riprodotta';
|
||
|
||
@override
|
||
String get audioErrorUnexpectedPlayback =>
|
||
'Errore di riproduzione imprevisto';
|
||
|
||
@override
|
||
String get androidExactAlarmScheduleError =>
|
||
'Android non ha potuto programmare una sveglia esatta. Controlla l\'autorizzazione per le sveglie esatte.';
|
||
|
||
@override
|
||
String get recordingPathEmptyError =>
|
||
'Il percorso di registrazione non può essere vuoto';
|
||
|
||
@override
|
||
String get recordingMaxSizeInvalidError =>
|
||
'La dimensione massima deve essere maggiore di zero';
|
||
|
||
@override
|
||
String get recordingAlreadyActiveError => 'È già in corso una registrazione';
|
||
|
||
@override
|
||
String get alarmRingingFallbackActive =>
|
||
'Riproduzione con audio interno sicuro.';
|
||
|
||
@override
|
||
String get alarmRingingPreparingFallback =>
|
||
'Preparazione dell’audio interno sicuro.';
|
||
|
||
@override
|
||
String get alarmRingingTryingStation =>
|
||
'Tentativo di riprodurre la tua stazione con la massima qualità disponibile.';
|
||
|
||
@override
|
||
String get alarmScheduleDaily => 'Ogni mattina';
|
||
|
||
@override
|
||
String alarmScheduleOnce(Object date) {
|
||
return 'Una volta · $date';
|
||
}
|
||
|
||
@override
|
||
String alarmScheduleWeekdays(Object days) {
|
||
return 'Giorni: $days';
|
||
}
|
||
|
||
@override
|
||
String get alarmRepeatSectionLabel => 'RIPETI';
|
||
|
||
@override
|
||
String get alarmVolumeLabel => 'Volume';
|
||
|
||
@override
|
||
String get androidReliabilityTitle => 'Controlla affidabilità Android';
|
||
|
||
@override
|
||
String get closeAction => 'Chiudi';
|
||
|
||
@override
|
||
String get customOption => 'Personalizzata';
|
||
|
||
@override
|
||
String get endLabel => 'Fine';
|
||
|
||
@override
|
||
String get equalizerDisable => 'Disattiva equalizzatore';
|
||
|
||
@override
|
||
String get helpTitle => 'Aiuto e tutorial';
|
||
|
||
@override
|
||
String get helpSubtitle => '9 schermate · rivedilo quando vuoi';
|
||
|
||
@override
|
||
String get tutorialSkipAction => 'Salta';
|
||
|
||
@override
|
||
String get tutorialNextAction => 'Avanti';
|
||
|
||
@override
|
||
String get tutorialPage1Headline => 'Salva le tue emittenti e raggruppale';
|
||
|
||
@override
|
||
String get tutorialPage1Body =>
|
||
'Tocca il cuore per salvare un\'emittente. In «Le tue emittenti» puoi creare gruppi come «Ogni mattina» o «Auto» e riordinarle trascinandole.';
|
||
|
||
@override
|
||
String get tutorialPage2Headline =>
|
||
'Un equalizzatore di base e uno per emittente';
|
||
|
||
@override
|
||
String get tutorialPage2Body =>
|
||
'Nelle Impostazioni definisci l\'equalizzatore generale. E dalla riproduzione di un\'emittente specifica puoi darle un\'impostazione propria, che ha la priorità su quella generale.';
|
||
|
||
@override
|
||
String get tutorialPage3Headline => 'Registra ciò che stai ascoltando';
|
||
|
||
@override
|
||
String get tutorialPage3Body =>
|
||
'Dal vassoio degli strumenti del player, «Registra» salva lo stream originale. Trova le tue registrazioni in Impostazioni › Registrazioni.';
|
||
|
||
@override
|
||
String get tutorialPage4Headline => 'Sveglie che si adattano a te';
|
||
|
||
@override
|
||
String get tutorialPage4Body =>
|
||
'Svegliati con la tua emittente preferita, posticipa di 3, 5 o 10 minuti, e aggiungi intervalli di vacanza in modo che alcune sveglie si saltino da sole.';
|
||
|
||
@override
|
||
String get tutorialPage5Headline => 'I tuoi preferiti, anche in auto';
|
||
|
||
@override
|
||
String get tutorialPage5Body =>
|
||
'Collega il telefono con Android Auto e troverai Preferiti, Tutte le emittenti, Le tue emittenti e la tua Musica locale, con pulsanti grandi pensati per la guida.';
|
||
|
||
@override
|
||
String get tutorialPage6Headline => 'Si riconnette da sola';
|
||
|
||
@override
|
||
String get tutorialPage6Body =>
|
||
'Se il segnale cade, PluriWave riprova automaticamente e continua a mostrare i tuoi preferiti salvati anche senza connessione.';
|
||
|
||
@override
|
||
String get tutorialPage7Headline => 'Scegli quanto posticipare';
|
||
|
||
@override
|
||
String get tutorialPage7Body =>
|
||
'Quando suona una sveglia, non c\'è un solo «posticipa»: scegli 3, 5 o 10 minuti a seconda di cosa ti serve in quel momento.';
|
||
|
||
@override
|
||
String get tutorialPage8Headline => 'Non la trovi? Aggiungila tu';
|
||
|
||
@override
|
||
String get tutorialPage8Body =>
|
||
'In «Le tue emittenti» → Aggiungi emittente personalizzata incolla l\'URL dello stream di un\'emittente non presente nella ricerca. Viene salvata in «Le tue emittenti», disponibile anche in auto.';
|
||
|
||
@override
|
||
String get tutorialPage9Headline => 'Fatto, ora conosci l\'essenziale';
|
||
|
||
@override
|
||
String get tutorialPage9BannerBody =>
|
||
'Per rivedere questo tutorial quando vuoi: Impostazioni → Informazioni → Aiuto e tutorial.';
|
||
|
||
@override
|
||
String get indefiniteOption => 'Indefinita';
|
||
|
||
@override
|
||
String get invalidNumber => 'Numero non valido';
|
||
|
||
@override
|
||
String get nameLabel => 'Nome';
|
||
|
||
@override
|
||
String get notPlaying => 'Non in riproduzione';
|
||
|
||
@override
|
||
String get oneTimeOption => 'Una volta';
|
||
|
||
@override
|
||
String get pausePlaybackTooltip => 'Pausa riproduzione';
|
||
|
||
@override
|
||
String get playerQualityChangeAction => 'Cambia';
|
||
|
||
@override
|
||
String get playerToolEqLabel => 'EQ proprio';
|
||
|
||
@override
|
||
String qualityOriginal(Object quality) {
|
||
return 'Qualità originale: $quality';
|
||
}
|
||
|
||
@override
|
||
String get qualityUnknown => 'Qualità non indicata';
|
||
|
||
@override
|
||
String get recordAction => 'Registra';
|
||
|
||
@override
|
||
String get recordDurationTitle => 'Durata registrazione';
|
||
|
||
@override
|
||
String get recordRadioSubtitle => 'Scegli per quanto tempo registrare.';
|
||
|
||
@override
|
||
String get recordRadioTitle => 'Registra radio';
|
||
|
||
@override
|
||
String get recordingActiveTitle => 'Registrazione radio';
|
||
|
||
@override
|
||
String get recordingDirectTitle => 'Registrazione diretta';
|
||
|
||
@override
|
||
String get recordingsOpenFolderPlainError =>
|
||
'Impossibile aprire la cartella delle registrazioni';
|
||
|
||
@override
|
||
String get recordingsOpenLatest => 'Apri ultima registrazione';
|
||
|
||
@override
|
||
String get recordingsOpenLatestError =>
|
||
'Impossibile aprire l’ultima registrazione';
|
||
|
||
@override
|
||
String get startLabel => 'Inizio';
|
||
|
||
@override
|
||
String get startPlaybackTooltip => 'Avvia riproduzione';
|
||
|
||
@override
|
||
String get stopAction => 'Ferma';
|
||
|
||
@override
|
||
String get stopPlaybackTooltip => 'Ferma riproduzione';
|
||
|
||
@override
|
||
String get weekdayShortMonday => 'Lun';
|
||
|
||
@override
|
||
String get weekdayShortTuesday => 'Mar';
|
||
|
||
@override
|
||
String get weekdayShortWednesday => 'Mer';
|
||
|
||
@override
|
||
String get weekdayShortThursday => 'Gio';
|
||
|
||
@override
|
||
String get weekdayShortFriday => 'Ven';
|
||
|
||
@override
|
||
String get weekdayShortSaturday => 'Sab';
|
||
|
||
@override
|
||
String get weekdayShortSunday => 'Dom';
|
||
|
||
@override
|
||
String stationCount(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count stazioni',
|
||
one: '1 stazione',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String get alarmIconLabel => 'Sveglia musicale';
|
||
|
||
@override
|
||
String get vacationIconLabel => 'Modalità vacanza';
|
||
|
||
@override
|
||
String get alarmAdvancedSectionTitle => 'Avanzate';
|
||
|
||
@override
|
||
String get alarmInlineHourLabel => 'Ora';
|
||
|
||
@override
|
||
String get alarmInlineMinuteLabel => 'Minuto';
|
||
|
||
@override
|
||
String get alarmVolumeRisingStatus => 'Aumento del volume';
|
||
|
||
@override
|
||
String get streamUrlHint => 'https://stream.example.com:8000/radio';
|
||
|
||
@override
|
||
String get advancedEqSectionTitle => 'Opzioni EQ avanzate';
|
||
|
||
@override
|
||
String get advancedEqEnableToggle => 'Abilita EQ per dispositivo';
|
||
|
||
@override
|
||
String get advancedEqEnableToggleSubtitle =>
|
||
'Applica automaticamente un preset EQ diverso quando cambi l\'uscita audio.';
|
||
|
||
@override
|
||
String get advancedEqKnownDevicesTitle => 'Dispositivi audio conosciuti';
|
||
|
||
@override
|
||
String get advancedEqKnownDevicesEmpty =>
|
||
'Nessun dispositivo audio registrato. Collega un dispositivo per iniziare.';
|
||
|
||
@override
|
||
String advancedEqDevicePresetLabel(Object presetName) {
|
||
return 'Preset: $presetName';
|
||
}
|
||
|
||
@override
|
||
String preNoticeCountdown(int minutes) {
|
||
return 'Inizia tra $minutes min';
|
||
}
|
||
|
||
@override
|
||
String snoozeCountdown(int minutes) {
|
||
return 'Suona tra $minutes min';
|
||
}
|
||
|
||
@override
|
||
String get snoozeAgainAction => 'Posponi di nuovo';
|
||
|
||
@override
|
||
String get alarmRingingNotificationTitle => 'Sveglia PluriWave';
|
||
|
||
@override
|
||
String get alarmFireChannelName => 'Sveglie in corso';
|
||
|
||
@override
|
||
String get alarmFireChannelDescription =>
|
||
'Suono e schermo urgenti quando una sveglia musicale deve suonare';
|
||
|
||
@override
|
||
String get alarmPreNoticeChannelName => 'Promemoria sveglia';
|
||
|
||
@override
|
||
String get alarmPreNoticeChannelDescription =>
|
||
'Notifiche silenziose prima della sveglia';
|
||
|
||
@override
|
||
String get openFolderChooserTitle => 'Apri cartella';
|
||
|
||
@override
|
||
String get openRecordingChooserTitle => 'Apri registrazione';
|
||
|
||
@override
|
||
String get eqDeviceEditTitle => 'Modifica dispositivo';
|
||
|
||
@override
|
||
String get eqDeviceNameLabel => 'Nome del dispositivo';
|
||
|
||
@override
|
||
String get eqDeviceNameHint => 'Es: Cassa del salotto';
|
||
|
||
@override
|
||
String get eqDeviceNameConfirm => 'Salva';
|
||
|
||
@override
|
||
String get eqDeviceConnected => 'Connesso';
|
||
|
||
@override
|
||
String get eqDeviceActiveOutput => 'L\'audio esce da questo dispositivo';
|
||
|
||
@override
|
||
String get eqDeviceRemove => 'Rimuovi dispositivo';
|
||
|
||
@override
|
||
String eqDeviceRemoved(Object device) {
|
||
return '$device rimosso';
|
||
}
|
||
|
||
@override
|
||
String get localMusicSectionTitle => 'Musica locale (Android Auto)';
|
||
|
||
@override
|
||
String get localMusicSectionDescription =>
|
||
'Scegli una cartella su questo dispositivo per sfogliare e riprodurre i suoi file audio dall\'auto.';
|
||
|
||
@override
|
||
String get localMusicFolderNotConfigured => 'Nessuna cartella selezionata';
|
||
|
||
@override
|
||
String get localMusicFolderTitle => 'Cartella musica locale';
|
||
|
||
@override
|
||
String get localMusicChoosePath => 'Scegli cartella';
|
||
|
||
@override
|
||
String get localMusicChangePath => 'Cambia cartella';
|
||
|
||
@override
|
||
String get localMusicFolderUpdated => 'Cartella musica locale aggiornata';
|
||
|
||
@override
|
||
String localMusicFolderSaveError(Object error) {
|
||
return 'Impossibile salvare la cartella: $error';
|
||
}
|
||
|
||
@override
|
||
String get localMusicFolderGenericName => 'Cartella selezionata';
|
||
|
||
@override
|
||
String get welcomeHeadline => 'Il tuo mondo, in diretta';
|
||
|
||
@override
|
||
String get welcomeBody =>
|
||
'53.412 emittenti da 238 paesi. Salva le tue preferite, portale in auto e svegliati con loro.';
|
||
|
||
@override
|
||
String get welcomeBullet1Title => 'Equalizzatore per emittente';
|
||
|
||
@override
|
||
String get welcomeBullet1Subtitle =>
|
||
'Più un Preset per ogni dispositivo di uscita';
|
||
|
||
@override
|
||
String get welcomeBullet2Title => 'Android Auto';
|
||
|
||
@override
|
||
String get welcomeBullet2Subtitle =>
|
||
'Le tue preferite e la tua musica locale in auto';
|
||
|
||
@override
|
||
String get welcomeBullet3Title => 'Sveglie musicali';
|
||
|
||
@override
|
||
String get welcomeBullet3Subtitle =>
|
||
'Con aumento graduale del volume e modalità vacanza';
|
||
|
||
@override
|
||
String get welcomeCtaLabel => 'Inizia ad ascoltare';
|
||
|
||
@override
|
||
String get eqCustomActionEnableLabel => 'Attiva equalizzatore';
|
||
|
||
@override
|
||
String get eqCustomActionDisableLabel => 'Disattiva equalizzatore';
|
||
|
||
@override
|
||
String eqCustomActionPresetLabel(String preset) {
|
||
return 'Preset attivo: $preset';
|
||
}
|
||
|
||
@override
|
||
String get alarmCardVacationPausedBadge => 'In pausa per le vacanze';
|
||
|
||
@override
|
||
String get alarmCardSchedulingFailedMessage =>
|
||
'Questa sveglia non è stata registrata nel sistema, quindi potrebbe non suonare.';
|
||
|
||
@override
|
||
String get alarmCardPreNoticeFailedMessage =>
|
||
'Questa sveglia è programmata, ma non è stato possibile impostare il promemoria anticipato.';
|
||
|
||
@override
|
||
String get alarmDiagnosticsExactAlarmsTitle =>
|
||
'Programmazione sveglia esatta';
|
||
|
||
@override
|
||
String get alarmDiagnosticsExactAlarmsHint =>
|
||
'Permette alla sveglia di suonare esattamente al minuto impostato, anche a telefono in stand-by.';
|
||
|
||
@override
|
||
String get alarmDiagnosticsNotificationsTitle => 'Notifiche';
|
||
|
||
@override
|
||
String get alarmDiagnosticsNotificationsHint =>
|
||
'Necessarie per mostrare la sveglia e l\'avviso anticipato.';
|
||
|
||
@override
|
||
String get alarmDiagnosticsFullScreenTitle =>
|
||
'Visualizzazione a schermo intero della sveglia';
|
||
|
||
@override
|
||
String get alarmDiagnosticsFullScreenHint =>
|
||
'Permette alla schermata della sveglia di apparire automaticamente, anche a telefono bloccato.';
|
||
|
||
@override
|
||
String get alarmDiagnosticsBatteryTitle => 'Ottimizzazione della batteria';
|
||
|
||
@override
|
||
String get alarmDiagnosticsBatteryHint =>
|
||
'Impedisce al sistema di chiudere PluriWave in background, così la sveglia può comunque suonare.';
|
||
|
||
@override
|
||
String get alarmDiagnosticsNativeCountTitle =>
|
||
'Sveglie registrate su Android';
|
||
|
||
@override
|
||
String alarmDiagnosticsNativeCountValue(int count) {
|
||
return 'Attualmente registrate: $count';
|
||
}
|
||
|
||
@override
|
||
String get alarmDiagnosticsNativeCountAttentionHint =>
|
||
'Hai una sveglia attiva, ma nessuna è ancora registrata nel sistema. Riapri PluriWave, oppure risolvi prima i punti sopra.';
|
||
|
||
@override
|
||
String get alarmDiagnosticsManufacturerLabel => 'Produttore';
|
||
|
||
@override
|
||
String get alarmDiagnosticsSdkLabel => 'Versione di Android (SDK)';
|
||
|
||
@override
|
||
String get alarmDiagnosticsNeedsAttentionStatus => 'Richiede attenzione';
|
||
|
||
@override
|
||
String get alarmDiagnosticsAutostartTitle =>
|
||
'Un altro passaggio manuale su questo telefono';
|
||
|
||
@override
|
||
String alarmDiagnosticsAutostartBody(String manufacturer) {
|
||
return 'I telefoni $manufacturer spesso chiudono le app in background per risparmiare batteria. Non esiste un\'impostazione che PluriWave possa attivare da solo: devi attivare tu stesso l\'Avvio automatico (a volte chiamato \"Autostart\" o \"Attività in background\") per PluriWave. Cercalo nelle Impostazioni, sotto App o Batteria, oppure nell\'app Sicurezza del telefono.';
|
||
}
|
||
|
||
@override
|
||
String get alarmDiagnosticsFixAction => 'Risolvi';
|
||
|
||
@override
|
||
String get alarmDiagnosticsIntentUnavailable =>
|
||
'Non è stato possibile aprire questa schermata delle impostazioni su questo telefono. Prova a cercarla manualmente nelle Impostazioni.';
|
||
|
||
@override
|
||
String get alarmDiagnosticsUnavailableHint =>
|
||
'Non abbiamo ancora potuto controllare le impostazioni della sveglia.';
|
||
|
||
@override
|
||
String get autoEqDisableOption => 'Disattiva';
|
||
|
||
@override
|
||
String get funcionPremium => 'Funzione Premium';
|
||
|
||
@override
|
||
String get limiteAlarmasAlcanzado =>
|
||
'Hai raggiunto il limite gratuito di 5 sveglie.';
|
||
|
||
@override
|
||
String get desbloquearPremium => 'Sblocca Premium';
|
||
|
||
@override
|
||
String get restaurarCompras => 'Ripristina acquisti';
|
||
|
||
@override
|
||
String get compraError =>
|
||
'Non è stato possibile completare l\'acquisto. Riprova.';
|
||
|
||
@override
|
||
String get restauracionSinCompras =>
|
||
'Non abbiamo trovato acquisti precedenti su questo account.';
|
||
|
||
@override
|
||
String get premiumActivo => 'Premium attivo';
|
||
}
|