Files
pluriwave/lib/l10n/app_fr.arb
T
FreeTLab 39ead7bea4
Build & Deploy PluriWave / Análisis de código (push) Successful in 27s
Build & Deploy PluriWave / Build APK + AAB release (push) Successful in 1m39s
fix(eq): stop the phone speaker from impersonating a Bluetooth device
deviceToMap handed the builtin_speaker id to EVERY output type its `when`
did not name. A car stereo on LE Audio (TYPE_BLE_HEADSET) or an automotive
bus (TYPE_BUS) therefore arrived in Dart under the phone speaker's own id,
carrying a type that maps to `desconocido` -- which slipped past the
type-only esBase guard and persisted a device entry keyed builtin_speaker.
From that moment on, every playback through the phone's own speaker matched
that entry, so the green active-output dot stayed pinned to whatever the user
had renamed it to (a car, in the reported case) whether or not anything was
connected. The dot was never wrong; the row was poisoned.

Give unnamed output types their own `other:<type>:<address>` id namespace,
and match esBase by id as well as by type so no future native regression can
re-create the collision. A guarded one-time migration purges what the
collision already persisted from all three device-keyed maps.

Fix the ranking too: builtin_speaker sat inside the priority list as a peer,
so any type absent from that list sorted BELOW the always-present speaker
and could never win. The speaker is now the explicit last resort, externally
connected outputs outrank it, and virtual or call-only sinks (earpiece,
telephony, remote submix, SCO) are ranked below it so they can never be
reported as where music is playing.

Route every AudioDeviceInfo.getAddress read through a version-guarded
helper. It is API 28 with minSdk 24, and two pre-existing unguarded calls in
this same method were latent NoSuchMethodError crashes on Android 7-8.1.
Android lint for :app goes from 8 errors to 6.

Also lets the user manage the list, which is how they recover from a bad
entry without waiting for a release: a remove action clears a device's
preset, name and matrix entries, unnamed rows show their transport and
address tail instead of a raw bt_a2dp:AA:BB:... id, and the green dot
finally carries a tooltip and a semantics label saying what it means.

Device QA pending for wired and USB outputs: no jack or adapter available to
exercise those paths. Their detection is unchanged by this commit.
2026-07-25 16:10:36 +02:00

691 lines
26 KiB
Plaintext
Raw Blame History

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