The premium sheet had no close affordance or way to defer, and its copy only said "Función Premium" without stating what it unlocks. Adds a header close (X) button and a "not now" secondary action so dismissal is never harder than purchasing, and replaces the bare title with a concrete, honest breakdown of the 5 things premium unlocks (no ads, Android Auto, station recording, alarm vacation ranges, unlimited alarms) plus the one-time-purchase framing. The phone equalizer is never listed, since it stays free for everyone. New l10n keys added to all 13 locales.
1926 lines
48 KiB
Dart
1926 lines
48 KiB
Dart
// 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 => 'Écouter';
|
||
|
||
@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 => 'STATIONS';
|
||
|
||
@override
|
||
String get settingsGroupRecordingsTitle => 'ENREGISTREMENTS ET MUSIQUE';
|
||
|
||
@override
|
||
String get settingsGroupApplicationTitle => 'APPLICATION';
|
||
|
||
@override
|
||
String get infoSectionTitle => 'Infos';
|
||
|
||
@override
|
||
String get languageSectionTitle => 'Langue';
|
||
|
||
@override
|
||
String get languageSectionDescription =>
|
||
'Choisissez le mode d’affichage de la langue de l’app.';
|
||
|
||
@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 l’arrê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 d’enregistrement';
|
||
|
||
@override
|
||
String get recordingsPathUpdated => 'Chemin d’enregistrement mis à jour';
|
||
|
||
@override
|
||
String recordingsPathSaveError(Object error) {
|
||
return 'Impossible d’enregistrer le chemin : $error';
|
||
}
|
||
|
||
@override
|
||
String get recordingsDefaultFolderRestored =>
|
||
'Le dossier interne par défaut sera utilisé';
|
||
|
||
@override
|
||
String get recordingsFolderTitle => 'Dossier d’enregistrement';
|
||
|
||
@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 s’appliquent en temps réel à la station actuelle.';
|
||
|
||
@override
|
||
String get equalizerPendingSubtitle =>
|
||
'Les changements sont enregistrés et s’appliqueront quand Android activera l’effet.';
|
||
|
||
@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 equalizerBaseExplainer =>
|
||
'Voici l\'égaliseur de base : il s\'applique à toutes les stations sans réglage propre. L\'EQ propre à une station est défini depuis son propre écran de lecture et prime sur celui-ci.';
|
||
|
||
@override
|
||
String get equalizerActiveOutputLabel => 'Sortie active';
|
||
|
||
@override
|
||
String get equalizerActiveOutputDefault => 'Le haut-parleur de cet appareil';
|
||
|
||
@override
|
||
String get equalizerStationsWithOwnEqTitle => 'Stations avec un EQ propre';
|
||
|
||
@override
|
||
String get equalizerStationsWithOwnEqSubtitle =>
|
||
'Ignorent cet égaliseur de base';
|
||
|
||
@override
|
||
String get equalizerStationsWithOwnEqEmpty =>
|
||
'Aucune station n\'a encore d\'EQ propre.';
|
||
|
||
@override
|
||
String get equalizerSaveAsPresetAction => 'Enregistrer comme Preset';
|
||
|
||
@override
|
||
String get equalizerResetToFlatAction => 'Réinitialiser à plat';
|
||
|
||
@override
|
||
String get equalizerSavePresetDialogTitle => 'Enregistrer comme Preset';
|
||
|
||
@override
|
||
String get equalizerSavePresetNameLabel => 'Nom du Preset';
|
||
|
||
@override
|
||
String get equalizerSavePresetEmptyNameError =>
|
||
'Saisissez un nom pour le Preset.';
|
||
|
||
@override
|
||
String get equalizerSavePresetConfirm => 'Enregistrer';
|
||
|
||
@override
|
||
String get preferredStationTitle => 'Station préférée';
|
||
|
||
@override
|
||
String get preferredStationDescription =>
|
||
'Présélectionnée lors de la création d’alarmes 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 d’EQ';
|
||
|
||
@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 d’exportation : $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 d’importation : $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 d’ouvrir le dossier : $error';
|
||
}
|
||
|
||
@override
|
||
String get recordingsMaxSizeTitle => 'Taille maximale d’enregistrement';
|
||
|
||
@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 d’enregistrement mise à jour à $size Mo';
|
||
}
|
||
|
||
@override
|
||
String get recordingsLibraryTitle => 'Mes enregistrements';
|
||
|
||
@override
|
||
String recordingsLibraryStorageCaption(int usedMb, int totalMb) {
|
||
return '$usedMb Mo sur $totalMb Mo utilisés';
|
||
}
|
||
|
||
@override
|
||
String get recordingsLibraryStorageFolderCaption =>
|
||
'Music/PluriWave · supprime les plus anciens à la limite';
|
||
|
||
@override
|
||
String get recordingsLibraryEmptyTitle =>
|
||
'Aucun enregistrement pour l\'instant';
|
||
|
||
@override
|
||
String get recordingsLibraryEmptySubtitle =>
|
||
'Les enregistrements que vous sauvegardez apparaîtront ici.';
|
||
|
||
@override
|
||
String get recordingActionRename => 'Renommer';
|
||
|
||
@override
|
||
String get recordingActionShare => 'Partager';
|
||
|
||
@override
|
||
String get recordingActionDelete => 'Supprimer';
|
||
|
||
@override
|
||
String get recordingRenameDialogTitle => 'Renommer l\'enregistrement';
|
||
|
||
@override
|
||
String get recordingRenameLabel => 'Nom';
|
||
|
||
@override
|
||
String get recordingRenameEmptyError => 'Saisissez un nom';
|
||
|
||
@override
|
||
String get recordingDeleteConfirmTitle => 'Supprimer l\'enregistrement ?';
|
||
|
||
@override
|
||
String get recordingDeleteConfirmMessage => 'Cette action est irréversible.';
|
||
|
||
@override
|
||
String get recordingsLibrarySettingsTooltip => 'Paramètres d\'enregistrement';
|
||
|
||
@override
|
||
String get stationOrderTitle => 'Ordre des stations';
|
||
|
||
@override
|
||
String get stationOrderByName => 'Par nom';
|
||
|
||
@override
|
||
String get stationOrderByQuality => 'Par qualité';
|
||
|
||
@override
|
||
String get stationOrderByPopularity => 'Par popularité';
|
||
|
||
@override
|
||
String get stationOrderScopeDescription =>
|
||
'S’applique 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 n’importe quelle station pour l’enregistrer 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 favoritesFilterAllLabel => 'Toutes';
|
||
|
||
@override
|
||
String favoriteGroupsChipLabel(Object groupName, int count) {
|
||
return '$groupName · $count';
|
||
}
|
||
|
||
@override
|
||
String get favoriteGroupsManage => 'Gérer les listes';
|
||
|
||
@override
|
||
String get customStationsAddCta => 'Ajouter une station personnalisée';
|
||
|
||
@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 searchLoadingStationsLabel => 'RECHERCHE DE STATIONS…';
|
||
|
||
@override
|
||
String get searchEmptyTitle => 'Recherchez une station';
|
||
|
||
@override
|
||
String get searchNoResultsTitle => 'Aucun résultat';
|
||
|
||
@override
|
||
String searchNoResultsForQueryTitle(Object query) {
|
||
return 'Aucun résultat pour « $query »';
|
||
}
|
||
|
||
@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 searchResultsCount(num count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count résultats',
|
||
one: '1 résultat',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String searchClearFiltersAction(num count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: 'Retirer les $count filtres',
|
||
one: 'Retirer le filtre',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String get countriesScreenTitle => 'Pays';
|
||
|
||
@override
|
||
String get countriesSearchHint => 'Pays ou code...';
|
||
|
||
@override
|
||
String get countriesYourLanguagesTitle => 'Vos langues';
|
||
|
||
@override
|
||
String get countriesAllTitle => 'Tous les pays';
|
||
|
||
@override
|
||
String get radioCountriesError => 'Impossible de charger les pays.';
|
||
|
||
@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 yourStationsTitle => 'Vos stations';
|
||
|
||
@override
|
||
String get seeAllAction => 'Tout voir';
|
||
|
||
@override
|
||
String get openFullPlayerTooltip => 'Ouvrir le lecteur complet';
|
||
|
||
@override
|
||
String get nowListeningLabel => 'En cours d\'écoute';
|
||
|
||
@override
|
||
String get nothingPlayingTitle => 'Rien n\'est en cours de lecture';
|
||
|
||
@override
|
||
String get nothingPlayingSubtitle =>
|
||
'Choisissez une station dans Vos stations ou recherchez-en une pour commencer.';
|
||
|
||
@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 exploreByTitle => 'Explorer par';
|
||
|
||
@override
|
||
String get exploreTrendingTitle => 'Tendances';
|
||
|
||
@override
|
||
String get exploreTrendingSubtitle => 'Aujourd\'hui';
|
||
|
||
@override
|
||
String get exploreNewTitle => 'Nouveautés';
|
||
|
||
@override
|
||
String get exploreNewSubtitle => 'Cette semaine';
|
||
|
||
@override
|
||
String get popularNowTitle => 'Populaire maintenant';
|
||
|
||
@override
|
||
String get offlineBannerTitle => 'Aucune connexion';
|
||
|
||
@override
|
||
String get retryAction => 'Réessayer';
|
||
|
||
@override
|
||
String get noStationsAvailable => 'Aucune station disponible';
|
||
|
||
@override
|
||
String get noStationsAvailableSubtitle =>
|
||
'Essayez d’actualiser 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 n’ont 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 d’entré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 alarmHeroSkipAction => 'Ignorer';
|
||
|
||
@override
|
||
String get alarmDeleteConfirmTitle => 'Supprimer l\'alarme ?';
|
||
|
||
@override
|
||
String get alarmDeleteConfirmMessage => 'Cette action est irréversible.';
|
||
|
||
@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 l’alarme';
|
||
|
||
@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 d’entrée de l’alarme';
|
||
|
||
@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 alarmSnoozeUsualLabel => 'habituel';
|
||
|
||
@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 l’alarme';
|
||
|
||
@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 vacationRangesCount(int count) {
|
||
return '$count périodes';
|
||
}
|
||
|
||
@override
|
||
String vacationSummaryActiveCountdown(int days) {
|
||
return 'En cours · encore $days jours';
|
||
}
|
||
|
||
@override
|
||
String vacationSummaryUpcomingCountdown(int days) {
|
||
return 'Prochaine période dans $days jours';
|
||
}
|
||
|
||
@override
|
||
String vacationImpactPausedLabel(Object times) {
|
||
return 'En pause : $times';
|
||
}
|
||
|
||
@override
|
||
String vacationImpactContinuesLabel(Object times) {
|
||
return 'Continue de sonner : $times';
|
||
}
|
||
|
||
@override
|
||
String get vacationUpcomingSectionTitle => 'PROGRAMMÉES';
|
||
|
||
@override
|
||
String get vacationPastSectionTitle => 'Périodes passées';
|
||
|
||
@override
|
||
String get addVacationRangeCta => 'Ajouter une période';
|
||
|
||
@override
|
||
String get vacationExplainerBanner =>
|
||
'Pendant ces periodes, les alarmes marquees \"pause pendant les vacances\" ne sonnent pas. Celles marquees \"toujours sonner\" ne sont pas concernees.';
|
||
|
||
@override
|
||
String get vacationNoActiveRangeHint =>
|
||
'Aucune période de vacances active pour le moment.';
|
||
|
||
@override
|
||
String get vacationsDefaultName => 'Vacances';
|
||
|
||
@override
|
||
String get newVacationRangeTitle => 'Nouvelle période de vacances';
|
||
|
||
@override
|
||
String get editVacationRangeTitle => 'Modifier la période de vacances';
|
||
|
||
@override
|
||
String get vacationDeleteConfirmTitle => 'Supprimer la période de vacances ?';
|
||
|
||
@override
|
||
String get vacationDeleteConfirmMessage => 'Cette action est irréversible.';
|
||
|
||
@override
|
||
String get startField => 'Début';
|
||
|
||
@override
|
||
String get endField => 'Fin';
|
||
|
||
@override
|
||
String get saveRangeAction => 'Enregistrer la période';
|
||
|
||
@override
|
||
String get noAlarmsYetTitle => 'Il n’y a pas encore d’alarmes.';
|
||
|
||
@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 l’alarme';
|
||
|
||
@override
|
||
String get alarmStopFailedMessage =>
|
||
'Nous n’avons pas pu confirmer l’arrêt de l’alarme. Réessayez.';
|
||
|
||
@override
|
||
String get alarmForceStopAction => 'Forcer l’arrê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 l’audio interne sécurisé.';
|
||
|
||
@override
|
||
String get alarmRingingPreparingFallback =>
|
||
'Préparation de l’audio interne sécurisé.';
|
||
|
||
@override
|
||
String get alarmRingingTryingStation =>
|
||
'Tentative de lecture de votre station avec la meilleure qualité disponible.';
|
||
|
||
@override
|
||
String get alarmScheduleDaily => 'Chaque matin';
|
||
|
||
@override
|
||
String alarmScheduleOnce(Object date) {
|
||
return 'Une fois · $date';
|
||
}
|
||
|
||
@override
|
||
String alarmScheduleWeekdays(Object days) {
|
||
return 'Jours : $days';
|
||
}
|
||
|
||
@override
|
||
String get alarmRepeatSectionLabel => 'RÉPÉTER';
|
||
|
||
@override
|
||
String get alarmVolumeLabel => 'Volume';
|
||
|
||
@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 => '9 écrans · à revoir quand vous voulez';
|
||
|
||
@override
|
||
String get tutorialSkipAction => 'Passer';
|
||
|
||
@override
|
||
String get tutorialNextAction => 'Suivant';
|
||
|
||
@override
|
||
String get tutorialPage1Headline =>
|
||
'Enregistrez vos stations et regroupez-les';
|
||
|
||
@override
|
||
String get tutorialPage1Body =>
|
||
'Touchez le cœur pour enregistrer une station. Dans « Vos stations », vous pouvez créer des groupes comme « Chaque matin » ou « Voiture » et les réorganiser en les faisant glisser.';
|
||
|
||
@override
|
||
String get tutorialPage2Headline =>
|
||
'Un égaliseur général et un autre par station';
|
||
|
||
@override
|
||
String get tutorialPage2Body =>
|
||
'Dans Réglages, vous définissez l\'égaliseur général. Et depuis la lecture d\'une station précise, vous pouvez lui donner son propre réglage, qui prévaut sur le général.';
|
||
|
||
@override
|
||
String get tutorialPage3Headline => 'Enregistrez ce que vous écoutez';
|
||
|
||
@override
|
||
String get tutorialPage3Body =>
|
||
'Depuis la barre d\'outils du lecteur, « Enregistrer » sauvegarde le flux original. Retrouvez vos enregistrements dans Réglages › Enregistrements.';
|
||
|
||
@override
|
||
String get tutorialPage4Headline => 'Des alarmes qui s\'adaptent à vous';
|
||
|
||
@override
|
||
String get tutorialPage4Body =>
|
||
'Réveillez-vous avec votre station préférée, reportez de 3, 5 ou 10 minutes, et ajoutez des périodes de vacances pour que certaines alarmes se sautent d\'elles-mêmes.';
|
||
|
||
@override
|
||
String get tutorialPage5Headline => 'Vos favoris, aussi en voiture';
|
||
|
||
@override
|
||
String get tutorialPage5Body =>
|
||
'Connectez votre téléphone avec Android Auto et retrouvez Favoris, Toutes les stations, Vos stations et votre Musique locale, avec de grands boutons pensés pour la conduite.';
|
||
|
||
@override
|
||
String get tutorialPage6Headline => 'Se reconnecte toute seule';
|
||
|
||
@override
|
||
String get tutorialPage6Body =>
|
||
'Si le signal se coupe, PluriWave retente automatiquement et continue d\'afficher vos favoris enregistrés même sans connexion.';
|
||
|
||
@override
|
||
String get tutorialPage7Headline => 'Choisissez combien de temps reporter';
|
||
|
||
@override
|
||
String get tutorialPage7Body =>
|
||
'Quand une alarme sonne, il n\'y a pas un seul « reporter » : vous choisissez 3, 5 ou 10 minutes selon ce dont vous avez besoin à ce moment-là.';
|
||
|
||
@override
|
||
String get tutorialPage8Headline =>
|
||
'Vous ne la trouvez pas ? Ajoutez-la vous-même';
|
||
|
||
@override
|
||
String get tutorialPage8Body =>
|
||
'Dans « Vos stations » → Ajouter une station personnalisée, collez l\'URL du flux d\'une station absente des résultats de recherche. Elle est enregistrée dans « Vos stations », aussi disponible en voiture.';
|
||
|
||
@override
|
||
String get tutorialPage9Headline => 'Voilà, vous connaissez l\'essentiel';
|
||
|
||
@override
|
||
String get tutorialPage9BannerBody =>
|
||
'Pour revoir ce tutoriel quand vous le souhaitez : Réglages → Informations → Aide et tutoriel.';
|
||
|
||
@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 get playerQualityChangeAction => 'Modifier';
|
||
|
||
@override
|
||
String get playerToolEqLabel => 'EQ propre';
|
||
|
||
@override
|
||
String qualityOriginal(Object quality) {
|
||
return 'Qualité d’origine : $quality';
|
||
}
|
||
|
||
@override
|
||
String get qualityUnknown => 'Qualité non indiquée';
|
||
|
||
@override
|
||
String get recordAction => 'Enregistrer';
|
||
|
||
@override
|
||
String get recordDurationTitle => 'Durée d’enregistrement';
|
||
|
||
@override
|
||
String get recordRadioSubtitle => 'Choisissez la durée d’enregistrement.';
|
||
|
||
@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 d’ouvrir le dossier des enregistrements';
|
||
|
||
@override
|
||
String get recordingsOpenLatest => 'Ouvrir le dernier enregistrement';
|
||
|
||
@override
|
||
String get recordingsOpenLatestError =>
|
||
'Impossible d’ouvrir 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 alarmAdvancedSectionTitle => 'Avancé';
|
||
|
||
@override
|
||
String get alarmInlineHourLabel => 'Heure';
|
||
|
||
@override
|
||
String get alarmInlineMinuteLabel => 'Minute';
|
||
|
||
@override
|
||
String get alarmVolumeRisingStatus => 'Augmentation du volume';
|
||
|
||
@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 l’appareil';
|
||
|
||
@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 d’enregistrer le dossier : $error';
|
||
}
|
||
|
||
@override
|
||
String get localMusicFolderGenericName => 'Dossier sélectionné';
|
||
|
||
@override
|
||
String get welcomeHeadline => 'Votre monde, en direct';
|
||
|
||
@override
|
||
String get welcomeBody =>
|
||
'53 412 stations de 238 pays. Enregistrez vos favorites, emmenez-les en voiture et réveillez-vous avec elles.';
|
||
|
||
@override
|
||
String get welcomeBullet1Title => 'Égaliseur par station';
|
||
|
||
@override
|
||
String get welcomeBullet1Subtitle =>
|
||
'Plus un Preset par périphérique de sortie';
|
||
|
||
@override
|
||
String get welcomeBullet2Title => 'Android Auto';
|
||
|
||
@override
|
||
String get welcomeBullet2Subtitle =>
|
||
'Vos favorites et votre musique locale en voiture';
|
||
|
||
@override
|
||
String get welcomeBullet3Title => 'Alarmes musicales';
|
||
|
||
@override
|
||
String get welcomeBullet3Subtitle =>
|
||
'Avec montée progressive du volume et mode vacances';
|
||
|
||
@override
|
||
String get welcomeCtaLabel => 'Commencer à écouter';
|
||
|
||
@override
|
||
String get eqCustomActionEnableLabel => 'Activer l\'égaliseur';
|
||
|
||
@override
|
||
String get eqCustomActionDisableLabel => 'Désactiver l\'égaliseur';
|
||
|
||
@override
|
||
String eqCustomActionPresetLabel(String preset) {
|
||
return 'Préréglage : $preset';
|
||
}
|
||
|
||
@override
|
||
String get alarmCardVacationPausedBadge => 'En pause pour les vacances';
|
||
|
||
@override
|
||
String get alarmCardSchedulingFailedMessage =>
|
||
'Cette alarme n\'a pas pu être enregistrée dans le système ; elle risque donc de ne pas sonner.';
|
||
|
||
@override
|
||
String get alarmCardPreNoticeFailedMessage =>
|
||
'Cette alarme est programmée, mais son rappel anticipé n\'a pas pu être activé.';
|
||
|
||
@override
|
||
String get alarmDiagnosticsExactAlarmsTitle =>
|
||
'Programmation d\'alarme précise';
|
||
|
||
@override
|
||
String get alarmDiagnosticsExactAlarmsHint =>
|
||
'Permet à l\'alarme de sonner à la minute exacte choisie, même si le téléphone est en veille.';
|
||
|
||
@override
|
||
String get alarmDiagnosticsNotificationsTitle => 'Notifications';
|
||
|
||
@override
|
||
String get alarmDiagnosticsNotificationsHint =>
|
||
'Nécessaires pour afficher l\'alarme et l\'avis anticipé.';
|
||
|
||
@override
|
||
String get alarmDiagnosticsFullScreenTitle =>
|
||
'Affichage plein écran de l\'alarme';
|
||
|
||
@override
|
||
String get alarmDiagnosticsFullScreenHint =>
|
||
'Permet à l\'écran de sonnerie de s\'afficher automatiquement, même si le téléphone est verrouillé.';
|
||
|
||
@override
|
||
String get alarmDiagnosticsBatteryTitle => 'Optimisation de la batterie';
|
||
|
||
@override
|
||
String get alarmDiagnosticsBatteryHint =>
|
||
'Empêche le système de fermer PluriWave en arrière-plan pour que l\'alarme puisse quand même sonner.';
|
||
|
||
@override
|
||
String get alarmDiagnosticsNativeCountTitle =>
|
||
'Alarmes enregistrées auprès d\'Android';
|
||
|
||
@override
|
||
String alarmDiagnosticsNativeCountValue(int count) {
|
||
return 'Actuellement enregistrées : $count';
|
||
}
|
||
|
||
@override
|
||
String get alarmDiagnosticsNativeCountAttentionHint =>
|
||
'Une alarme est activée, mais aucune n\'est encore enregistrée auprès du système. Rouvrez PluriWave, ou corrigez d\'abord les points ci-dessus.';
|
||
|
||
@override
|
||
String get alarmDiagnosticsManufacturerLabel => 'Fabricant';
|
||
|
||
@override
|
||
String get alarmDiagnosticsSdkLabel => 'Version d\'Android (SDK)';
|
||
|
||
@override
|
||
String get alarmDiagnosticsNeedsAttentionStatus =>
|
||
'Nécessite votre attention';
|
||
|
||
@override
|
||
String get alarmDiagnosticsAutostartTitle =>
|
||
'Encore une étape manuelle sur ce téléphone';
|
||
|
||
@override
|
||
String alarmDiagnosticsAutostartBody(String manufacturer) {
|
||
return 'Les téléphones $manufacturer ferment souvent les applications en arrière-plan pour économiser la batterie. Aucun réglage ne permet à PluriWave de s\'activer lui-même : vous devez activer vous-même le démarrage automatique (parfois appelé \"Autostart\" ou \"Activité en arrière-plan\") pour PluriWave. Cherchez dans les Paramètres, sous Applications ou Batterie, ou dans l\'application Sécurité du téléphone.';
|
||
}
|
||
|
||
@override
|
||
String get alarmDiagnosticsFixAction => 'Corriger';
|
||
|
||
@override
|
||
String get alarmDiagnosticsIntentUnavailable =>
|
||
'Impossible d\'ouvrir cet écran de paramètres sur ce téléphone. Essayez de le trouver manuellement dans les Paramètres.';
|
||
|
||
@override
|
||
String get alarmDiagnosticsUnavailableHint =>
|
||
'Nous n\'avons pas encore pu vérifier vos paramètres d\'alarme.';
|
||
|
||
@override
|
||
String get autoEqDisableOption => 'Désactiver';
|
||
|
||
@override
|
||
String get funcionPremium => 'Fonctionnalité Premium';
|
||
|
||
@override
|
||
String get limiteAlarmasAlcanzado =>
|
||
'Vous avez atteint la limite gratuite de 5 alarmes.';
|
||
|
||
@override
|
||
String get desbloquearPremium => 'Débloquer Premium';
|
||
|
||
@override
|
||
String get restaurarCompras => 'Restaurer les achats';
|
||
|
||
@override
|
||
String get compraError =>
|
||
'Impossible de finaliser l\'achat. Veuillez réessayer.';
|
||
|
||
@override
|
||
String get restauracionSinCompras =>
|
||
'Nous n\'avons trouvé aucun achat antérieur sur ce compte.';
|
||
|
||
@override
|
||
String get premiumActivo => 'Premium actif';
|
||
|
||
@override
|
||
String get premiumHojaTitulo => 'Débloquer PluriWave Premium';
|
||
|
||
@override
|
||
String get premiumBeneficioSinAnuncios =>
|
||
'Aucune publicité dans toute l\'application';
|
||
|
||
@override
|
||
String get premiumBeneficioAndroidAuto => 'Android Auto';
|
||
|
||
@override
|
||
String get premiumBeneficioGrabacion => 'Enregistrement des stations';
|
||
|
||
@override
|
||
String get premiumBeneficioVacaciones =>
|
||
'Périodes de vacances pour les alarmes';
|
||
|
||
@override
|
||
String get premiumBeneficioAlarmasIlimitadas =>
|
||
'Alarmes illimitées (la version gratuite en autorise jusqu\'à 5)';
|
||
|
||
@override
|
||
String get premiumPagoUnico =>
|
||
'Achat unique, pour toujours. Ce n\'est pas un abonnement.';
|
||
|
||
@override
|
||
String get premiumAhoraNo => 'Plus tard';
|
||
}
|