fix(i18n): normalize translations and fallbacks
Build & Deploy PluriWave / Análisis de código (push) Successful in 38s
Build & Deploy PluriWave / Build APK + AAB release (push) Successful in 2m34s

This commit is contained in:
2026-06-03 21:20:08 +02:00
parent a5475ce118
commit 089b8b4227
46 changed files with 17720 additions and 4869 deletions
+371 -197
View File
@@ -5,103 +5,131 @@
"navSearch": "Recherche",
"navFavorites": "Favoris",
"navAlarms": "Alarmes",
"navSettings": "Settings",
"navSettings": "Paramètres",
"actionOk": "OK",
"sleepTimer": "Minuteur de sommeil",
"sleepTimerDescription": "Smooth radio shutdown with an exact countdown.",
"cancelTimer": "Cancel timer",
"optionOther": "Other",
"customDurationTitle": "Custom duration",
"durationGreaterThanZero": "Choose a duration greater than zero.",
"hoursLabel": "Hours",
"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": "Seconds",
"saveQuickAccess": "Save as quick access",
"startTimer": "Start timer",
"skipCurrentAlarmExecution": "Skipped this execution of {alarmName}.",
"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": "Settings",
"settingsSubtitle": "Fine-grained sound control, backups, and custom stations.",
"settingsTitle": "Paramètres",
"settingsSubtitle": "Réglage précis du son, sauvegardes et stations personnalisées.",
"languageSectionTitle": "Langue",
"languageSectionDescription": "Choose how the app language is displayed.",
"languageSystemDefault": "System",
"languageSectionDescription": "Choisissez le mode daffichage de la langue de lapp.",
"languageSystemDefault": "Système",
"languageSpanish": "Espagnol",
"languageEnglish": "Anglais",
"languageUpdated": "Language updated: {languageName}",
"languageUpdated": "Langue mise à jour : {languageName}",
"@languageUpdated": {
"placeholders": {
"languageName": {}
}
},
"languageUpdatedSystem": "Language updated: System",
"timerSectionTitle": "Sleep timer",
"timerSectionAdd": "Add",
"timerSectionDescription": "Customize the quick presets shown when automatically stopping the radio.",
"timerSectionRestoreRecommended": "Restore recommended times",
"newQuickAccessTitle": "New quick access",
"saveQuickAccessButton": "Save quick access",
"settingsSafeStatus": "Safe",
"recordingsSectionTitle": "Recordings",
"recordingsFolderDialogTitle": "Select recordings folder",
"recordingsPathUpdated": "Recording path updated",
"recordingsPathSaveError": "Could not save the path: {error}",
"recordingsDefaultFolderRestored": "The internal default folder will be used",
"recordingsFolderTitle": "Recordings folder",
"recordingsPathCalculating": "Calculating path...",
"recordingsChangePath": "Change path",
"recordingsUseDefaultPath": "Use default path",
"recordingsOriginalStreamHint": "The radio is saved from the original stream, without recompressing.",
"equalizerActive": "Active",
"equalizerDisabled": "Disabled",
"equalizerEnable": "Enable equalizer",
"equalizerRealtimeSubtitle": "Changes are applied in real time to the current station.",
"equalizerPendingSubtitle": "Changes are saved and will apply when Android enables the effect.",
"equalizerPerStationTitle": "Use custom EQ for this favorite",
"equalizerPerStationActive": "Active for {stationName}",
"equalizerPerStationMain": "Using main EQ for {stationName}",
"preferredStationTitle": "Preferred station",
"preferredStationDescription": "Preselected for new alarms and available for quick playback.",
"preferredStationNoStationsTitle": "No stations available yet",
"preferredStationNoStationsSubtitle": "Save favorites or load stations to choose a preferred one.",
"preferredStationAutomaticFallback": "Automatic fallback",
"preferredStationDefaultFavorite": "Default favorite",
"preferredStationCurrent": "Current preferred: {stationName}",
"preferredStationAutoUsing": "No favorites: automatically using {stationName}",
"preferredStationPlay": "Play preferred",
"customStationsTitle": "Custom stations",
"customStationsAdd": "Add",
"customStationsEmpty": "No custom stations.",
"playAction": "Play",
"deleteAction": "Delete",
"addStationTitle": "Add station",
"stationNameLabel": "Name *",
"requiredField": "Required field",
"streamUrlLabel": "Stream URL *",
"invalidUrl": "Invalid URL",
"countryOptionalLabel": "Country (optional)",
"saveStation": "Save station",
"backupSectionTitle": "Backup",
"backupExportTitle": "Export configuration",
"backupExportSubtitle": "Favorites, custom stations, and EQ presets",
"backupImportTitle": "Import configuration",
"backupImportSubtitle": "Restore from a backup file",
"backupShareSubject": "PluriWave — backup",
"backupShareText": "PluriWave configuration exported on {date}",
"backupExportError": "Export error: {error}",
"backupImportConfirmMessage": "This will add favorites, stations, and presets from the file. Continue?",
"backupImportSuccess": "Configuration imported successfully",
"backupImportError": "Import error: {error}",
"appVersionLoading": "Loading version...",
"appVersionSubtitle": "{version} - World radio",
"savedFavoritesTitle": "Saved favorites",
"stationFilterTitle": "Station filter",
"stationFilterSubtitle": "Only stations verified as active",
"backgroundAudioTitle": "Background audio",
"backgroundAudioSubtitle": "Continues when the screen turns off",
"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": {
@@ -149,14 +177,14 @@
}
},
"cancelAction": "Annuler",
"equalizerTitle": "Equalizer",
"recordingsOpenFolder": "Open folder",
"recordingsOpenFolderError": "Could not open the folder: {error}",
"recordingsMaxSizeTitle": "Maximum recording size",
"recordingsMaxSizeSubtitle": "Current limit: {size} MB",
"recordingsMaxSizeDialogTitle": "Maximum size per recording",
"recordingsMaxSizeMbLabel": "Maximum megabytes",
"recordingsMaxSizeSaved": "Recording limit updated to {size} MB",
"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": {}
@@ -176,33 +204,33 @@
}
}
},
"stationOrderTitle": "Station order",
"stationOrderByName": "By name",
"stationOrderByQuality": "By quality",
"stationOrderScopeDescription": "Applies to favorites, searches, nearby stations and quick lists.",
"favoriteGroupsTitle": "Favorite lists",
"favoriteGroupsDescription": "Create short lists to organize your saved stations.",
"favoriteGroupsAdd": "Add list",
"favoriteGroupsEdit": "Edit list",
"favoriteGroupsDelete": "Delete list",
"favoriteGroupsNameLabel": "List name",
"favoriteGroupsNameTooLong": "Maximum 28 characters.",
"favoriteGroupsUnassigned": "Unassigned",
"favoriteGroupsProtectedHint": "Default list: it cannot be edited or deleted.",
"favoriteGroupsCreated": "List created",
"favoriteGroupsUpdated": "List updated",
"favoriteGroupsDeleted": "List deleted; its stations return to Unassigned.",
"favoriteGroupsAssign": "Move to list",
"favoriteGroupsAssignSubtitle": "Current list: {groupName}",
"favoriteGroupsAssigned": "{stationName} moved to {groupName}",
"favoritesTitle": "Favorites",
"favoritesEmptyTitle": "No favorites yet",
"favoritesEmptySubtitle": "Tap the heart on any station to save it to your collection.",
"favoritesHeaderSubtitle": "Organize your collection by lists and keep important radios close.",
"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} saved",
"favoritesRemoveTooltip": "Remove from favorites",
"favoritesRemovedMessage": "{stationName} removed from favorites",
"favoritesSavedCount": "{count} enregistrés",
"favoritesRemoveTooltip": "Retirer des favoris",
"favoritesRemovedMessage": "{stationName} retirée des favoris",
"@favoriteGroupsAssignSubtitle": {
"placeholders": {
"groupName": {}
@@ -226,7 +254,7 @@
"stationName": {}
}
},
"alarmPostponedCurrentExecution": "Alarm postponed for this occurrence.",
"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",
@@ -257,9 +285,9 @@
"languageNameJapanese": "japonais",
"languageNameArabic": "arabe",
"languageNameRussian": "russe",
"homeScreenSubtitle": "Live global radio with clean signals, smart favorites, and a show-style visual experience.",
"exploreStations": "Explore stations",
"stationsCount": "{count} stations",
"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": {
@@ -267,36 +295,36 @@
}
}
},
"qualityHd": "HD quality",
"nearYou": "Near you",
"nearYouInCountry": "Near you ? {country}",
"qualityHd": "Qualité HD",
"nearYou": "Près de vous",
"nearYouInCountry": "Près de vous · {country}",
"@nearYouInCountry": {
"placeholders": {
"country": {}
}
},
"detectAction": "Detect",
"liveRadar": "Live radar",
"detectAction": "Détecter",
"liveRadar": "Radar en direct",
"genresTitle": "Genres",
"retryAction": "Retry",
"noStationsAvailable": "No stations available",
"noStationsAvailableSubtitle": "Try refreshing or choosing another genre to capture a signal again.",
"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": "Classical",
"genreElectronic": "Electronic",
"genreNews": "News",
"genreTalk": "Talk",
"genreClassical": "Classique",
"genreElectronic": "Électronique",
"genreNews": "Infos",
"genreTalk": "Débat",
"genreHipHop": "Hip-hop",
"genreCountry": "Country",
"genreMetal": "Metal",
"genreReggae": "Reggae",
"genreLatin": "Latin",
"alarmScreenTitle": "Music wake-up",
"alarmScreenSubtitle": "Alarms with radio, safe fallback sound, smart vacations, and the next occurrence always visible.",
"createAlarmAction": "Create alarm",
"alarmsCount": "{count} alarms",
"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": {
@@ -304,10 +332,10 @@
}
}
},
"activeAlarmsWithoutNextTitle": "Active alarms without a next occurrence",
"noActiveAlarms": "No active alarms",
"nextAlarmTitle": "Next alarm",
"activeAlarmsWithoutNextSubtitle": "There are {count} active alarm(s), but they do not currently have a valid future date. Check date, weekdays, and vacations.",
"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": {
@@ -315,10 +343,10 @@
}
}
},
"createAlarmHint": "Create an alarm and PluriWave will calculate the next occurrence automatically.",
"alarmVacationPlay": "Plays during vacations",
"alarmVacationPause": "Paused during vacations",
"alarmFadeInLabel": "Fade-in {seconds}s",
"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": {
@@ -326,61 +354,61 @@
}
}
},
"alarmNextExecution": "Next occurrence: {date}",
"alarmNextExecution": "Prochaine exécution : {date}",
"@alarmNextExecution": {
"placeholders": {
"date": {}
}
},
"alarmNoNextExecution": "It has no active next occurrence.",
"alarmSkippedExecution": "One occurrence was skipped: {date}.",
"alarmNoNextExecution": "Aucune prochaine exécution active.",
"alarmSkippedExecution": "Une exécution a été ignorée : {date}.",
"@alarmSkippedExecution": {
"placeholders": {
"date": {}
}
},
"editAction": "Edit",
"skipNextAction": "Skip next",
"deleteTooltip": "Delete",
"alarmSkippedNoNextSnackbar": "Alarm skipped. There is no next occurrence left.",
"alarmSkippedReturnsSnackbar": "Alarm skipped. It will return on {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": "It is paused for vacations ({vacationName}) and has no next occurrence.",
"alarmVacationPausedNoNext": "En pause pour vacances ({vacationName}) et sans prochaine exécution.",
"@alarmVacationPausedNoNext": {
"placeholders": {
"vacationName": {}
}
},
"alarmVacationPausedReturns": "It is paused for vacations ({vacationName}) and returns on {date}.",
"alarmVacationPausedReturns": "En pause pour vacances ({vacationName}) et revient le {date}.",
"@alarmVacationPausedReturns": {
"placeholders": {
"vacationName": {},
"date": {}
}
},
"alarmVacationReturns": "With vacations enabled, it will ring again on {date}.",
"alarmVacationReturns": "Avec les vacances actives, elle sonnera à nouveau le {date}.",
"@alarmVacationReturns": {
"placeholders": {
"date": {}
}
},
"defaultAlarmName": "Music alarm",
"newAlarmTitle": "New alarm",
"editAlarmTitle": "Edit alarm",
"nameField": "Name",
"timeField": "Time",
"defaultAlarmName": "Réveil musical",
"newAlarmTitle": "Nouvelle alarme",
"editAlarmTitle": "Modifier lalarme",
"nameField": "Nom",
"timeField": "Heure",
"dateField": "Date",
"onceOption": "Once",
"dailyOption": "Daily",
"weekdaysOption": "Weekdays",
"soundAndVolumeSection": "Sound and volume",
"alarmFadeInTitle": "Alarm fade-in",
"alarmFadeInOff": "0 s (no transition)",
"alarmFadeInSummary": "{seconds} s (from 5% to the selected volume)",
"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": {
@@ -388,22 +416,22 @@
}
}
},
"internalSafeSoundLabel": "Internal safe sound",
"soundWarmSunrise": "Warm sunrise",
"soundSoftBell": "Soft bell",
"soundDigitalPulse": "Digital pulse",
"favoriteStationLabel": "Favorite station",
"noStationUseInternalSound": "No station: use internal sound",
"saveFavoritesAlarmHint": "Save stations in Favorites to use them as a music alarm.",
"useCurrentStationAction": "Use current station",
"playDuringVacations": "Play during vacations",
"playDuringVacationsHint": "If you turn this off, the next occurrence will jump to the first valid day.",
"saveAlarmAction": "Save alarm",
"chooseOneWeekdayError": "Choose at least one weekday.",
"androidReliabilityReview": "Review Android reliability",
"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",
"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": "pending",
"androidReliabilityStatus": "Reliability: exact {exact} ? notifications {notifications} ? screen {screen}",
"statusPending": "en attente",
"androidReliabilityStatus": "Fiabilité : exactes {exact} · notifications {notifications} · écran {screen}",
"@androidReliabilityStatus": {
"placeholders": {
"exact": {},
@@ -411,19 +439,165 @@
"screen": {}
}
},
"vacationRangesTitle": "Vacation ranges",
"addAction": "Add",
"vacationRangesHint": "If an alarm is set to \"Paused during vacations\", it automatically skips these ranges.",
"noVacationRangesLoaded": "No ranges loaded.",
"deleteRangeTooltip": "Delete range",
"vacationsDefaultName": "Vacation",
"newVacationRangeTitle": "New vacation range",
"startField": "Start",
"endField": "End",
"saveRangeAction": "Save range",
"noAlarmsYetTitle": "There are no alarms yet.",
"noAlarmsYetSubtitle": "Create one to design your musical wake-up.",
"ringingInternalAudioActive": "Playing with internal safe audio.",
"ringingPreparingInternalAudio": "Preparing internal safe audio.",
"stopAlarmAction": "Stop alarm"
"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",
"pauseAction": "Pause",
"miniPlayerOpenLabel": "Ouvrir le lecteur de {stationName}",
"@miniPlayerOpenLabel": {
"placeholders": {
"stationName": {}
}
},
"playerIconLabel": "Lecteur",
"playbackStatusConnecting": "Connexion...",
"playbackStatusLive": "En direct",
"playbackStatusPaused": "En pause",
"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"
}