Files
pluriwave/lib/l10n/gen/app_localizations_fr.dart
T
FreeTLab bd2b7d8e02 refactor(ajustes): split Settings AUDIO/EMISORAS into pushed detail screens
Moves the AUDIO group (Ecualizador, Salida de audio, Temporizador de
sueno) and the EMISORAS group (Grupos de favoritos, Emisora preferida,
Emisoras personalizadas, Orden de listas) out of pantalla_ajustes.dart
into 7 new lib/pantallas/ajustes/*.dart screens, each wrapped in
PluriPushScaffold. The root now reaches them through FilaAjuste rows
under two new GrupoAjustes cards (lib/pantallas/ajustes/widgets/
fila_ajuste.dart), per design ADR-3.

Verbatim-move rule applied throughout: only each section's panel header
(icon + title, sometimes a status chip) was removed, since the pushed
screen's own 56px header now carries the title. Two sections whose
header row carried a real action (Temporizador de sueno's "Add",
Grupos de favoritos' "Add list", Emisoras personalizadas' "Add") kept
that action in the body instead of dropping it.

size:exception (move-only diff, pre-recorded at design/tasks time):
34 files, ~4250 changed lines excluding the 13 auto-regenerated l10n
files (~90 more lines there) - higher than the 800-1000 estimate
because that estimate covered the 7 production screens but not the
matching 7 new test files (task 3a.2), one of which relocates ~10
pre-existing device-management test cases verbatim. Business logic is
untouched; app.dart's import of pantalla_ajustes.dart is unchanged.

Correction to tasks.md 3a.1/3a.8: those two lines describe the combined
WU3a+WU3b end state ("4 grouped nav lists", "<400 lines"), matching
design ADR-3's own aggregate blast-radius note - not a WU3a-only claim.
This commit converts only the 2 groups that are WU3a's job; the root
is 788 lines with 5 sections (Grabaciones, Musica local, Idioma,
Backup, Info) still inline, reachable, and unchanged, pending WU3b.

Two new ARB keys (settingsGroupAudioTitle, settingsGroupStationsTitle),
en/es only per the WU1 precedent - all 7 detail-screen titles reuse
existing keys. Discovered and worked around, without touching app
code: Directory.systemTemp hangs real dart:io writes in this sandbox,
and pumpAndSettle() cannot settle while a screen shows an indeterminate
CircularProgressIndicator - both are test-only concerns, documented
inline where hit.

Tests: 560 -> 579 (32 in this commit's scope, net +19 after retiring
13 relocated cases from the old combined pantalla_ajustes_test.dart).
flutter analyze: unchanged at 1 pre-existing info. git diff is empty
for navegacion_auto.dart, servicio_ecualizador.dart and
servicio_audio.dart; pantalla_alarma_sonando_dismiss_guard_test.dart
untouched.
2026-07-28 21:38:20 +02:00

1386 lines
33 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for French (`fr`).
class AppLocalizationsFr extends AppLocalizations {
AppLocalizationsFr([String locale = 'fr']) : super(locale);
@override
String get appTitle => 'PluriWave';
@override
String get navHome => 'Accueil';
@override
String get navSearch => 'Recherche';
@override
String get navFavorites => 'Favoris';
@override
String get navAlarms => 'Alarmes';
@override
String get navSettings => 'Paramètres';
@override
String get actionOk => 'OK';
@override
String get sleepTimer => 'Minuteur de sommeil';
@override
String get sleepTimerDescription =>
'Arrêt progressif de la radio avec compte à rebours précis.';
@override
String get cancelTimer => 'Annuler le minuteur';
@override
String get optionOther => 'Autre';
@override
String get customDurationTitle => 'Durée personnalisée';
@override
String get durationGreaterThanZero =>
'Choisissez une durée supérieure à zéro.';
@override
String get hoursLabel => 'Heures';
@override
String get minutesLabel => 'Minutes';
@override
String get secondsLabel => 'Secondes';
@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 => 'Enregistrer comme raccourci';
@override
String get startTimer => 'Démarrer le minuteur';
@override
String skipCurrentAlarmExecution(Object alarmName) {
return 'Cette exécution de $alarmName a été ignorée.';
}
@override
String get settingsTitle => 'Paramètres';
@override
String get settingsSubtitle =>
'Réglage précis du son, sauvegardes et stations personnalisées.';
@override
String get settingsGroupAudioTitle => 'AUDIO';
@override
String get settingsGroupStationsTitle => 'EMISORAS';
@override
String get languageSectionTitle => 'Langue';
@override
String get languageSectionDescription =>
'Choisissez le mode daffichage de la langue de lapp.';
@override
String get languageSystemDefault => 'Système';
@override
String get languageSpanish => 'Espagnol';
@override
String get languageEnglish => 'Anglais';
@override
String languageUpdated(Object languageName) {
return 'Langue mise à jour : $languageName';
}
@override
String get languageUpdatedSystem => 'Langue mise à jour : Système';
@override
String get timerSectionTitle => 'Minuteur de sommeil';
@override
String get timerSectionAdd => 'Ajouter';
@override
String get timerSectionDescription =>
'Personnalisez les raccourcis affichés lors de larrêt automatique de la radio.';
@override
String get timerSectionRestoreRecommended =>
'Restaurer les durées recommandées';
@override
String get newQuickAccessTitle => 'Nouveau raccourci';
@override
String get saveQuickAccessButton => 'Enregistrer le raccourci';
@override
String get settingsSafeStatus => 'Sûr';
@override
String get recordingsSectionTitle => 'Enregistrements';
@override
String get recordingsFolderDialogTitle =>
'Sélectionnez le dossier denregistrement';
@override
String get recordingsPathUpdated => 'Chemin denregistrement mis à jour';
@override
String recordingsPathSaveError(Object error) {
return 'Impossible denregistrer le chemin : $error';
}
@override
String get recordingsDefaultFolderRestored =>
'Le dossier interne par défaut sera utilisé';
@override
String get recordingsFolderTitle => 'Dossier denregistrement';
@override
String get recordingsPathCalculating => 'Calcul du chemin...';
@override
String get recordingsChangePath => 'Changer le chemin';
@override
String get recordingsUseDefaultPath => 'Utiliser le chemin par défaut';
@override
String get recordingsOriginalStreamHint =>
'La radio est enregistrée depuis le flux original, sans recompression.';
@override
String get equalizerActive => 'Actif';
@override
String get equalizerDisabled => 'Désactivé';
@override
String get equalizerEnable => 'Activer l’égaliseur';
@override
String get equalizerRealtimeSubtitle =>
'Les changements sappliquent en temps réel à la station actuelle.';
@override
String get equalizerPendingSubtitle =>
'Les changements sont enregistrés et sappliqueront quand Android activera leffet.';
@override
String get equalizerPerStationTitle => 'Utiliser un EQ propre pour ce favori';
@override
String equalizerPerStationActive(Object stationName) {
return 'Actif pour $stationName';
}
@override
String equalizerPerStationMain(Object stationName) {
return 'EQ principal utilisé pour $stationName';
}
@override
String get preferredStationTitle => 'Station préférée';
@override
String get preferredStationDescription =>
'Présélectionnée lors de la création dalarmes et disponible en lecture rapide.';
@override
String get preferredStationNoStationsTitle =>
'Aucune station disponible pour le moment';
@override
String get preferredStationNoStationsSubtitle =>
'Enregistrez des favoris ou chargez des stations pour en choisir une préférée.';
@override
String get preferredStationAutomaticFallback => 'Repli automatique';
@override
String get preferredStationDefaultFavorite => 'Favori par défaut';
@override
String preferredStationCurrent(Object stationName) {
return 'Préférée actuelle : $stationName';
}
@override
String preferredStationAutoUsing(Object stationName) {
return 'Aucun favori : utilisation automatique de $stationName';
}
@override
String get preferredStationPlay => 'Lire la préférée';
@override
String get customStationsTitle => 'Stations personnalisées';
@override
String get customStationsAdd => 'Ajouter';
@override
String get customStationsEmpty => 'Aucune station personnalisée.';
@override
String get playAction => 'Lire';
@override
String get deleteAction => 'Supprimer';
@override
String get addStationTitle => 'Ajouter une station';
@override
String get stationNameLabel => 'Nom *';
@override
String get unnamedStation => 'Station sans nom';
@override
String get requiredField => 'Champ obligatoire';
@override
String get streamUrlLabel => 'URL du flux *';
@override
String get invalidUrl => 'URL non valide';
@override
String get countryOptionalLabel => 'Pays (facultatif)';
@override
String get saveStation => 'Enregistrer la station';
@override
String get backupSectionTitle => 'Sauvegarde';
@override
String get backupExportTitle => 'Exporter la configuration';
@override
String get backupExportSubtitle =>
'Favoris, stations personnalisées et préréglages dEQ';
@override
String get backupImportTitle => 'Importer la configuration';
@override
String get backupImportSubtitle =>
'Restaurer depuis un fichier de sauvegarde';
@override
String get backupShareSubject => 'PluriWave — sauvegarde';
@override
String backupShareText(Object date) {
return 'Configuration de PluriWave exportée le $date';
}
@override
String backupExportError(Object error) {
return 'Erreur dexportation : $error';
}
@override
String get backupImportConfirmMessage =>
'Cela ajoutera les favoris, stations et préréglages du fichier. Continuer ?';
@override
String get backupImportSuccess => 'Configuration importée avec succès';
@override
String backupImportError(Object error) {
return 'Erreur dimportation : $error';
}
@override
String get appVersionLoading => 'Chargement de la version...';
@override
String appVersionSubtitle(Object version) {
return '$version - Radio mondiale';
}
@override
String get savedFavoritesTitle => 'Favoris enregistrés';
@override
String get stationFilterTitle => 'Filtre de stations';
@override
String get stationFilterSubtitle =>
'Seulement les stations vérifiées comme actives';
@override
String get backgroundAudioTitle => 'Audio en arrière-plan';
@override
String get backgroundAudioSubtitle => 'Continue lorsque l’écran s’éteint';
@override
String get dash => '—';
@override
String get cancelAction => 'Annuler';
@override
String get equalizerTitle => 'Égaliseur';
@override
String get recordingsOpenFolder => 'Ouvrir le dossier';
@override
String recordingsOpenFolderError(Object error) {
return 'Impossible douvrir le dossier : $error';
}
@override
String get recordingsMaxSizeTitle => 'Taille maximale denregistrement';
@override
String recordingsMaxSizeSubtitle(int size) {
return 'Limite actuelle : $size Mo';
}
@override
String get recordingsMaxSizeDialogTitle =>
'Taille maximale par enregistrement';
@override
String get recordingsMaxSizeMbLabel => 'Mégaoctets maximum';
@override
String recordingsMaxSizeSaved(int size) {
return 'Limite denregistrement mise à jour à $size Mo';
}
@override
String get stationOrderTitle => 'Ordre des stations';
@override
String get stationOrderByName => 'Par nom';
@override
String get stationOrderByQuality => 'Par qualité';
@override
String get stationOrderScopeDescription =>
'Sapplique aux favoris, recherches, stations proches et listes rapides.';
@override
String get favoriteGroupsTitle => 'Listes de favoris';
@override
String get favoriteGroupsDescription =>
'Créez de courtes listes pour organiser vos stations enregistrées.';
@override
String get favoriteGroupsAdd => 'Ajouter une liste';
@override
String get favoriteGroupsEdit => 'Modifier la liste';
@override
String get favoriteGroupsDelete => 'Supprimer la liste';
@override
String get favoriteGroupsNameLabel => 'Nom de la liste';
@override
String get favoriteGroupsNameTooLong => 'Maximum 28 caractères.';
@override
String get favoriteGroupsUnassigned => 'Non assigné';
@override
String get favoriteGroupsProtectedHint =>
'Liste par défaut : elle ne peut être ni modifiée ni supprimée.';
@override
String get favoriteGroupsCreated => 'Liste créée';
@override
String get favoriteGroupsUpdated => 'Liste mise à jour';
@override
String get favoriteGroupsDeleted =>
'Liste supprimée ; ses stations retournent à Non assigné.';
@override
String get favoriteGroupsAssign => 'Déplacer vers une liste';
@override
String favoriteGroupsAssignSubtitle(Object groupName) {
return 'Liste actuelle : $groupName';
}
@override
String favoriteGroupsAssigned(Object stationName, Object groupName) {
return '$stationName déplacée vers $groupName';
}
@override
String get favoritesTitle => 'Favoris';
@override
String get favoritesEmptyTitle => 'Aucun favori pour le moment';
@override
String get favoritesEmptySubtitle =>
'Touchez le cœur sur nimporte quelle station pour lenregistrer dans votre collection.';
@override
String get favoritesHeaderSubtitle =>
'Organisez votre collection par listes et gardez les radios importantes à portée de main.';
@override
String get favoritesCollection => 'Collection';
@override
String favoritesSavedCount(int count) {
return '$count enregistrés';
}
@override
String get favoritesRemoveTooltip => 'Retirer des favoris';
@override
String favoritesRemovedMessage(Object stationName) {
return '$stationName retirée des favoris';
}
@override
String get alarmPostponedCurrentExecution =>
'Alarme reportée pour cette exécution.';
@override
String get searchScreenTitle => 'Rechercher un signal';
@override
String get searchScreenSubtitle =>
'Trouvez des stations par nom, pays ou langue grâce à des filtres rapides et à un contraste élevé.';
@override
String get searchFiltersLabel => 'Filtres';
@override
String get searchHint => 'Radio Horizon, jazz, infos...';
@override
String get searchCountryFilterLabel => 'Pays';
@override
String get searchLanguageFilterLabel => 'Langue';
@override
String get searchMinQualityFilterLabel => 'Qualité minimale';
@override
String get searchEmptyTitle => 'Recherchez une station';
@override
String get searchNoResultsTitle => 'Aucun résultat';
@override
String get searchEmptySubtitle =>
'Utilisez la barre du haut ou les pastilles pour découvrir des stations du monde entier.';
@override
String get searchNoResultsSubtitle =>
'Essayez de retirer des filtres ou de saisir un autre nom pour trouver une station active.';
@override
String get countrySpain => 'Espagne';
@override
String get countryUsa => 'États-Unis';
@override
String get countryMexico => 'Mexique';
@override
String get countryArgentina => 'Argentine';
@override
String get countryUk => 'Royaume-Uni';
@override
String get countryFrance => 'France';
@override
String get countryGermany => 'Allemagne';
@override
String get countryItaly => 'Italie';
@override
String get countryBrazil => 'Brésil';
@override
String get countryJapan => 'Japon';
@override
String get languageNameSpanish => 'espagnol';
@override
String get languageNameEnglish => 'anglais';
@override
String get languageNameFrench => 'français';
@override
String get languageNameGerman => 'allemand';
@override
String get languageNamePortuguese => 'portugais';
@override
String get languageNameItalian => 'italien';
@override
String get languageNameJapanese => 'japonais';
@override
String get languageNameArabic => 'arabe';
@override
String get languageNameRussian => 'russe';
@override
String get homeScreenSubtitle =>
'Radio mondiale en direct avec des signaux clairs, des favoris intelligents et une expérience visuelle de jeu télévisé.';
@override
String get exploreStations => 'Explorer les stations';
@override
String stationsCount(int count) {
return '$count radios';
}
@override
String get qualityHd => 'Qualité HD';
@override
String get nearYou => 'Près de vous';
@override
String nearYouInCountry(Object country) {
return 'Près de vous · $country';
}
@override
String get detectAction => 'Détecter';
@override
String get liveRadar => 'Radar en direct';
@override
String get genresTitle => 'Genres';
@override
String get retryAction => 'Réessayer';
@override
String get noStationsAvailable => 'Aucune station disponible';
@override
String get noStationsAvailableSubtitle =>
'Essayez dactualiser ou de choisir un autre genre pour capter à nouveau un signal.';
@override
String get genrePop => 'Pop';
@override
String get genreRock => 'Rock';
@override
String get genreJazz => 'Jazz';
@override
String get genreClassical => 'Classique';
@override
String get genreElectronic => 'Électronique';
@override
String get genreNews => 'Infos';
@override
String get genreTalk => 'Débat';
@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 => 'Latino';
@override
String get alarmScreenTitle => 'Réveil musical';
@override
String get alarmScreenSubtitle =>
'Alarmes avec radio, son sécurisé, vacances intelligentes et prochaine exécution toujours visible.';
@override
String get createAlarmAction => 'Créer une alarme';
@override
String alarmsCount(int count) {
return '$count alarmes';
}
@override
String get activeAlarmsWithoutNextTitle =>
'Alarmes actives sans prochaine exécution';
@override
String get noActiveAlarms => 'Aucune alarme active';
@override
String get nextAlarmTitle => 'Prochaine alarme';
@override
String activeAlarmsWithoutNextSubtitle(int count) {
return 'Il y a $count alarme(s) active(s), mais elles nont actuellement aucune date future valide. Vérifiez la date, les jours et les vacances.';
}
@override
String get createAlarmHint =>
'Créez une alarme et PluriWave calculera automatiquement la prochaine exécution.';
@override
String get alarmVacationPlay => 'Sonne pendant les vacances';
@override
String get alarmVacationPause => 'En pause pendant les vacances';
@override
String alarmFadeInLabel(int seconds) {
return 'Fondu dentrée $seconds s';
}
@override
String alarmNextExecution(Object date) {
return 'Prochaine exécution : $date';
}
@override
String get alarmNoNextExecution => 'Aucune prochaine exécution active.';
@override
String alarmSkippedExecution(Object date) {
return 'Une exécution a été ignorée : $date.';
}
@override
String get editAction => 'Modifier';
@override
String get skipNextAction => 'Ignorer la suivante';
@override
String get deleteTooltip => 'Supprimer';
@override
String get alarmSkippedNoNextSnackbar =>
'Alarme ignorée. Il ne reste aucune prochaine exécution.';
@override
String alarmSkippedReturnsSnackbar(Object date) {
return 'Alarme ignorée. Elle reviendra le $date.';
}
@override
String alarmVacationPausedNoNext(Object vacationName) {
return 'En pause pour vacances ($vacationName) et sans prochaine exécution.';
}
@override
String alarmVacationPausedReturns(Object vacationName, Object date) {
return 'En pause pour vacances ($vacationName) et revient le $date.';
}
@override
String alarmVacationReturns(Object date) {
return 'Avec les vacances actives, elle sonnera à nouveau le $date.';
}
@override
String get defaultAlarmName => 'Réveil musical';
@override
String get newAlarmTitle => 'Nouvelle alarme';
@override
String get editAlarmTitle => 'Modifier lalarme';
@override
String get nameField => 'Nom';
@override
String get timeField => 'Heure';
@override
String get dateField => 'Date';
@override
String get onceOption => 'Une fois';
@override
String get dailyOption => 'Quotidienne';
@override
String get weekdaysOption => 'Jours';
@override
String get soundAndVolumeSection => 'Son et volume';
@override
String get alarmFadeInTitle => 'Fondu dentrée de lalarme';
@override
String get alarmFadeInOff => '0 s (sans transition)';
@override
String alarmFadeInSummary(int seconds) {
return '$seconds s (de 5 % au volume choisi)';
}
@override
String get internalSafeSoundLabel => 'Son sécurisé interne';
@override
String get soundWarmSunrise => 'Lever de soleil chaleureux';
@override
String get soundSoftBell => 'Cloche douce';
@override
String get soundDigitalPulse => 'Impulsion numérique';
@override
String get favoriteStationLabel => 'Station favorite';
@override
String get noStationUseInternalSound =>
'Aucune station : utiliser le son interne';
@override
String get alarmFallbackStationLabel => 'Station de secours';
@override
String get alarmStationPickerSearchHint => 'Rechercher une station par nom';
@override
String get alarmSnoozeDurationTitle => 'Durée de répétition';
@override
String get snoozeAction => 'Répéter';
@override
String alarmSnoozeOptionLabel(int minutes) {
return '$minutes min';
}
@override
String get saveFavoritesAlarmHint =>
'Enregistrez des stations dans les Favoris pour les utiliser comme alarme musicale.';
@override
String get useCurrentStationAction => 'Utiliser la station actuelle';
@override
String get playDuringVacations => 'Sonner pendant les vacances';
@override
String get playDuringVacationsHint =>
'Si vous désactivez cette option, la prochaine exécution passera au premier jour valide.';
@override
String get saveAlarmAction => 'Enregistrer lalarme';
@override
String get chooseOneWeekdayError =>
'Choisissez au moins un jour de la semaine.';
@override
String get androidReliabilityReview => 'Vérifier la fiabilité Android';
@override
String get statusOk => 'OK';
@override
String get statusPending => 'en attente';
@override
String androidReliabilityStatus(
Object exact,
Object notifications,
Object screen,
) {
return 'Fiabilité : exactes $exact · notifications $notifications · écran $screen';
}
@override
String get vacationRangesTitle => 'Périodes de vacances';
@override
String get addAction => 'Ajouter';
@override
String get vacationRangesHint =>
'Si une alarme est en « pause pendant les vacances », ces périodes sont automatiquement ignorées.';
@override
String get noVacationRangesLoaded => 'Aucune période chargée.';
@override
String get deleteRangeTooltip => 'Supprimer la période';
@override
String get vacationsDefaultName => 'Vacances';
@override
String get newVacationRangeTitle => 'Nouvelle période de vacances';
@override
String get startField => 'Début';
@override
String get endField => 'Fin';
@override
String get saveRangeAction => 'Enregistrer la période';
@override
String get noAlarmsYetTitle => 'Il ny a pas encore dalarmes.';
@override
String get noAlarmsYetSubtitle =>
'Créez-en une pour concevoir votre réveil musical.';
@override
String get ringingInternalAudioActive => 'Son sécurisé interne en cours.';
@override
String get ringingPreparingInternalAudio =>
'Préparation du son sécurisé interne.';
@override
String get stopAlarmAction => 'Arrêter lalarme';
@override
String get alarmStopFailedMessage =>
'Nous navons pas pu confirmer larrêt de lalarme. Réessayez.';
@override
String get alarmForceStopAction => 'Forcer larrêt';
@override
String get alarmMissedNotificationTitle => 'Alarme manquée';
@override
String alarmMissedNotificationText(Object name) {
return '$name a été mise en sourdine automatiquement après 10 minutes.';
}
@override
String get pauseAction => 'Pause';
@override
String miniPlayerOpenLabel(Object stationName) {
return 'Ouvrir le lecteur de $stationName';
}
@override
String get playerIconLabel => 'Lecteur';
@override
String get playbackStatusConnecting => 'Connexion...';
@override
String get playbackStatusLive => 'En direct';
@override
String get playbackStatusPaused => 'En pause';
@override
String get playbackStatusReconnecting => 'Reconnexion...';
@override
String get playbackStatusConnectionError => 'Erreur de connexion';
@override
String get playbackStatusStopped => 'Arrêté';
@override
String stationSemanticLabel(Object stationName) {
return 'Station $stationName';
}
@override
String get favoritesAddTooltip => 'Ajouter aux favoris';
@override
String favoritesAddedMessage(Object stationName) {
return '$stationName ajoutée aux favoris';
}
@override
String get stationIconLabel => 'Icône de station';
@override
String get liveNow => 'En direct';
@override
String equalizerBandLabel(Object band) {
return 'Bande $band';
}
@override
String equalizerBandValue(Object value) {
return '$value décibels';
}
@override
String get equalizerPresetFlat => 'Plat';
@override
String get equalizerPresetRock => 'Rock';
@override
String get equalizerPresetPop => 'Pop';
@override
String get equalizerPresetBassBoost => 'Renforcement des basses';
@override
String get equalizerPresetJazz => 'Jazz';
@override
String get equalizerPresetVoice => 'Voix';
@override
String get equalizerPresetCustom => 'Personnalisé';
@override
String get onboardingTitle => 'Bienvenue dans PluriWave';
@override
String get onboardingNewsTitle => 'Nouveautés';
@override
String get onboardingStartAction => 'Commencer';
@override
String get onboardingCloseTooltip => 'Fermer';
@override
String radioRecordingError(Object error) {
return 'Erreur lors de l\'enregistrement de la radio : $error';
}
@override
String get radioApiConnectionError => 'Aucune connexion à l\'API radio';
@override
String get radioSearchError =>
'Erreur de recherche. Vérifiez votre connexion.';
@override
String get radioLoadMoreStationsError =>
'Impossible de charger plus de stations.';
@override
String get radioNearbyStationsError =>
'Nous n\'avons pas pu détecter de stations proches. Utilisez les filtres par pays.';
@override
String radioCannotPlayStation(Object stationName) {
return 'Impossible de lire \"$stationName\"';
}
@override
String get recordingSelectStationFirst =>
'Sélectionnez d\'abord une station à enregistrer.';
@override
String recordingStartError(Object error) {
return 'Impossible de démarrer l\'enregistrement : $error';
}
@override
String get unsupportedConfigVersion =>
'Version de configuration non prise en charge';
@override
String get audioErrorGeneric => 'Erreur de lecture';
@override
String get audioErrorNoInternet => 'Aucune connexion Internet';
@override
String get audioErrorInvalidUrl => 'L\'URL de la radio n\'est pas valide';
@override
String get audioErrorNotFound =>
'La radio n\'est pas disponible (erreur 404)';
@override
String get audioErrorTimeout => 'Délai de connexion dépassé';
@override
String get audioErrorCannotConnect => 'Impossible de se connecter à la radio';
@override
String get audioErrorUnsupportedFormat => 'Format de flux non pris en charge';
@override
String get audioErrorDecode => 'Erreur lors du décodage du flux audio';
@override
String get audioErrorCleartext =>
'Cette radio utilise HTTP non chiffré, ce qui n\'est pas autorisé';
@override
String get audioErrorSsl => 'Certificat SSL invalide pour la radio';
@override
String get audioErrorCannotPlay => 'Impossible de lire cette radio';
@override
String get audioErrorUnexpectedPlayback => 'Erreur de lecture inattendue';
@override
String get androidExactAlarmScheduleError =>
'Android n\'a pas pu programmer une alarme exacte. Vérifiez l\'autorisation des alarmes exactes.';
@override
String get recordingPathEmptyError =>
'Le chemin d\'enregistrement ne peut pas être vide';
@override
String get recordingMaxSizeInvalidError =>
'La taille maximale doit être supérieure à zéro';
@override
String get recordingAlreadyActiveError =>
'Un enregistrement est déjà en cours';
@override
String get alarmRingingFallbackActive =>
'Lecture avec laudio interne sécurisé.';
@override
String get alarmRingingPreparingFallback =>
'Préparation de laudio interne sécurisé.';
@override
String get alarmRingingTryingStation =>
'Tentative de lecture de votre station avec la meilleure qualité disponible.';
@override
String alarmScheduleOnce(Object date) {
return 'Une fois · $date';
}
@override
String alarmScheduleWeekdays(Object days) {
return 'Jours : $days';
}
@override
String get androidReliabilityTitle => 'Vérifier la fiabilité Android';
@override
String get closeAction => 'Fermer';
@override
String get customOption => 'Personnalisée';
@override
String get endLabel => 'Fin';
@override
String get equalizerDisable => 'Désactiver l’égaliseur';
@override
String get helpTitle => 'Aide et tutoriel';
@override
String get helpSubtitle =>
'Revoyez les fonctions, conseils et nouveautés de PluriWave.';
@override
String get indefiniteOption => 'Indéfinie';
@override
String get invalidNumber => 'Nombre invalide';
@override
String get nameLabel => 'Nom';
@override
String get notPlaying => 'Lecture arrêtée';
@override
String get oneTimeOption => 'Une fois';
@override
String get pausePlaybackTooltip => 'Mettre en pause';
@override
String qualityOriginal(Object quality) {
return 'Qualité dorigine : $quality';
}
@override
String get qualityUnknown => 'Qualité non indiquée';
@override
String get recordAction => 'Enregistrer';
@override
String get recordDurationTitle => 'Durée denregistrement';
@override
String get recordRadioSubtitle => 'Choisissez la durée denregistrement.';
@override
String get recordRadioTitle => 'Enregistrer la radio';
@override
String get recordingActiveTitle => 'Enregistrement de la radio';
@override
String get recordingDirectTitle => 'Enregistrement direct';
@override
String get recordingsOpenFolderPlainError =>
'Impossible douvrir le dossier des enregistrements';
@override
String get recordingsOpenLatest => 'Ouvrir le dernier enregistrement';
@override
String get recordingsOpenLatestError =>
'Impossible douvrir le dernier enregistrement';
@override
String get startLabel => 'Début';
@override
String get startPlaybackTooltip => 'Démarrer la lecture';
@override
String get stopAction => 'Arrêter';
@override
String get stopPlaybackTooltip => 'Arrêter la lecture';
@override
String get weekdayShortMonday => 'Lun';
@override
String get weekdayShortTuesday => 'Mar';
@override
String get weekdayShortWednesday => 'Mer';
@override
String get weekdayShortThursday => 'Jeu';
@override
String get weekdayShortFriday => 'Ven';
@override
String get weekdayShortSaturday => 'Sam';
@override
String get weekdayShortSunday => 'Dim';
@override
String stationCount(int count) {
String _temp0 = intl.Intl.pluralLogic(
count,
locale: localeName,
other: '$count stations',
one: '1 station',
);
return '$_temp0';
}
@override
String get alarmIconLabel => 'Alarme musicale';
@override
String get vacationIconLabel => 'Mode vacances';
@override
String get streamUrlHint => 'https://stream.example.com:8000/radio';
@override
String get advancedEqSectionTitle => 'Options d\'égalisation avancées';
@override
String get advancedEqEnableToggle => 'Activer l\'EQ par appareil';
@override
String get advancedEqEnableToggleSubtitle =>
'Appliquez automatiquement un preset EQ différent lorsque votre sortie audio change.';
@override
String get advancedEqKnownDevicesTitle => 'Appareils audio connus';
@override
String get advancedEqKnownDevicesEmpty =>
'Aucun appareil audio enregistré pour l\'instant. Connectez un appareil pour commencer.';
@override
String advancedEqDevicePresetLabel(Object presetName) {
return 'Preset : $presetName';
}
@override
String preNoticeCountdown(int minutes) {
return 'Démarre dans $minutes min';
}
@override
String snoozeCountdown(int minutes) {
return 'Sonne dans $minutes min';
}
@override
String get snoozeAgainAction => 'Reporter encore';
@override
String get alarmRingingNotificationTitle => 'Alarme PluriWave';
@override
String get alarmFireChannelName => 'Alarmes en cours';
@override
String get alarmFireChannelDescription =>
'Son et écran urgents lorsqu\'une alarme musicale doit sonner';
@override
String get alarmPreNoticeChannelName => 'Rappels d\'alarme';
@override
String get alarmPreNoticeChannelDescription =>
'Notifications silencieuses avant l\'alarme';
@override
String get openFolderChooserTitle => 'Ouvrir le dossier';
@override
String get openRecordingChooserTitle => 'Ouvrir l\'enregistrement';
@override
String get eqDeviceEditTitle => 'Modifier l\'appareil';
@override
String get eqDeviceNameLabel => 'Nom de l\'appareil';
@override
String get eqDeviceNameHint => 'ex. : Enceinte salon';
@override
String get eqDeviceNameConfirm => 'Enregistrer';
@override
String get eqDeviceConnected => 'Connecté';
@override
String get eqDeviceActiveOutput => 'Le son sort par cet appareil';
@override
String get eqDeviceRemove => 'Supprimer lappareil';
@override
String eqDeviceRemoved(Object device) {
return '$device supprimé';
}
@override
String get localMusicSectionTitle => 'Musique locale (Android Auto)';
@override
String get localMusicSectionDescription =>
'Choisissez un dossier sur cet appareil pour parcourir et lire ses fichiers audio depuis la voiture.';
@override
String get localMusicFolderNotConfigured => 'Aucun dossier sélectionné';
@override
String get localMusicFolderTitle => 'Dossier de musique locale';
@override
String get localMusicChoosePath => 'Choisir un dossier';
@override
String get localMusicChangePath => 'Changer de dossier';
@override
String get localMusicFolderUpdated => 'Dossier de musique locale mis à jour';
@override
String localMusicFolderSaveError(Object error) {
return 'Impossible denregistrer le dossier : $error';
}
@override
String get localMusicFolderGenericName => 'Dossier sélectionné';
}