{
  "common": {
    "save": "Enregistrer",
    "cancel": "Annuler",
    "delete": "Supprimer",
    "edit": "Modifier",
    "close": "Fermer",
    "create": "Créer",
    "add": "Ajouter",
    "back": "Retour",
    "next": "Suivant",
    "loading": "Chargement…",
    "saving": "Enregistrement…",
    "required": "Ce champ est obligatoire.",
    "error": "Erreur",
    "allFieldsRequired": "Veuillez remplir tous les champs.",
    "today": "Aujourd'hui",
    "tomorrow": "Demain",
    "skipToContent": "Aller au contenu",
    "reload": "Recharger",
    "errorOccurred": "Une erreur s'est produite.",
    "unexpectedError": "Une erreur inattendue s'est produite.",
    "errorGeneric": "Une erreur s'est produite.",
    "updateAvailable": "Mise à jour disponible - rechargez la page pour obtenir la dernière version.",
    "titleRequired": "Le titre est obligatoire",
    "nameRequired": "Le nom est obligatoire",
    "contentRequired": "Le contenu est obligatoire",
    "all": "Tout",
    "unknownError": "Erreur inconnue",
    "confirm": "Confirmer",
    "undo": "Annuler"
  },
  "nav": {
    "dashboard": "Accueil",
    "tasks": "Tâches",
    "calendar": "Calendrier",
    "meals": "Repas",
    "shopping": "Courses",
    "notes": "Notes",
    "contacts": "Contacts",
    "budget": "Budget",
    "settings": "Paramètres",
    "main": "Navigation principale",
    "navigation": "Navigation",
    "quickActions": "Actions rapides",
    "recipes": "Recipes"
  },
  "dashboard": {
    "title": "Accueil",
    "greetingMorning": "Bonjour, {{name}}",
    "greetingDay": "Bon après-midi, {{name}}",
    "greetingEvening": "Bonsoir, {{name}}",
    "allDone": "Tout est fait",
    "noEvents": "Aucun événement",
    "noPinnedNotes": "Aucune note épinglée",
    "todayMeals": "Repas du jour",
    "allLink": "Tout",
    "weekLink": "Semaine",
    "urgentTasksChip": "{{count}} tâche à échéance proche",
    "urgentTasksChipPlural": "{{count}} tâches à échéance proche",
    "eventsChip": "{{count}} événement aujourd'hui",
    "eventsChipPlural": "{{count}} événements aujourd'hui",
    "todayMealChip": "Aujourd'hui : {{title}}",
    "loadError": "Le tableau de bord n'a pas pu être chargé complètement.",
    "weatherRefresh": "Actualiser la météo",
    "weatherRefreshTitle": "Actualiser",
    "weatherUpdated": "Météo mise à jour",
    "weatherFeelsLike": "Ressenti {{temp}}° · {{humidity}}% · Vent {{wind}} {{windUnit}}",
    "fabTaskLabel": "Ajouter une tâche",
    "fabCalendarLabel": "Ajouter un événement",
    "fabShoppingLabel": "Ajouter une course",
    "fabNoteLabel": "Ajouter une note",
    "fabTask": "Tâche",
    "fabCalendar": "Événement",
    "fabShopping": "Course",
    "fabNote": "Note",
    "overdue": "En retard",
    "dueSoon": "À rendre aujourd'hui",
    "dueToday": "À rendre aujourd'hui",
    "dueTomorrow": "À rendre demain",
    "allDay": "Toute la journée",
    "shoppingMore": "+{{count}} de plus",
    "weather": "Météo",
    "customize": "Personnaliser",
    "customizeTitle": "Personnaliser les widgets",
    "customizeReset": "Réinitialiser",
    "customizeSaved": "Tableau de bord sauvegardé",
    "customizeMoveUp": "Monter",
    "customizeMoveDown": "Descendre",
    "overdueTasksChip": "{{count}} tâche en retard",
    "overdueTasksChipPlural": "{{count}} tâches en retard"
  },
  "tasks": {
    "title": "Tâches",
    "newTask": "Nouvelle tâche",
    "editTask": "Modifier la tâche",
    "emptyTitle": "Aucune tâche - tout est fait ?",
    "emptyDescription": "Créez de nouvelles tâches avec le bouton +.",
    "titleLabel": "Titre *",
    "titlePlaceholder": "Que faut-il faire ?",
    "descriptionLabel": "Note",
    "descriptionPlaceholder": "Détails optionnels…",
    "priorityLabel": "Priorité",
    "categoryLabel": "Catégorie",
    "dueDateLabel": "Date d'échéance",
    "dueTimeLabel": "Heure",
    "assignedLabel": "Assigné à",
    "assignedNobody": "- Personne -",
    "statusLabel": "Statut",
    "priorityUrgent": "Urgent",
    "priorityHigh": "Élevée",
    "priorityMedium": "Moyenne",
    "priorityLow": "Faible",
    "priorityNone": "Aucune",
    "statusOpen": "Ouvert",
    "statusInProgress": "En cours",
    "statusDone": "Terminé",
    "categoryHousehold": "Maison",
    "categorySchool": "École",
    "categoryShopping": "Courses",
    "categoryRepair": "Réparation",
    "categoryHealth": "Santé",
    "categoryFinance": "Finances",
    "categoryLeisure": "Loisirs",
    "categoryMisc": "Divers",
    "overdue": "En retard",
    "overdueDay": "{{count}}j de retard",
    "dueToday": "À rendre aujourd'hui",
    "dueTomorrow": "À rendre demain",
    "groupOverdue": "En retard",
    "groupToday": "Aujourd'hui",
    "groupThisWeek": "Cette semaine",
    "groupNextWeek": "Semaine prochaine",
    "groupLater": "Plus tard",
    "groupNoDate": "Sans date",
    "markDone": "Marquer {{title}} comme terminé",
    "markOpen": "Marquer {{title}} comme non terminé",
    "editButton": "Modifier la tâche",
    "swipeOpen": "Rouvrir",
    "swipeDone": "Terminé",
    "swipeEdit": "Modifier",
    "subtaskAdd": "+ Ajouter une sous-tâche",
    "subtaskToggle": "Afficher les sous-tâches",
    "subtaskMarkDone": "Marquer {{title}} comme terminé",
    "deleteConfirm": "Supprimer la tâche et toutes ses sous-tâches ?",
    "savedToast": "Tâche enregistrée.",
    "createdToast": "Tâche créée.",
    "deletedToast": "Tâche supprimée.",
    "loadError": "La tâche n'a pas pu être chargée.",
    "subtaskPrompt": "Sous-tâche :",
    "kanbanOpen": "Ouvert",
    "kanbanInProgress": "En cours",
    "kanbanDone": "Terminé",
    "kanbanMoveToInProgress": "Mettre en cours",
    "kanbanMoveToDone": "Marquer comme terminé",
    "kanbanMoveToOpen": "Rouvrir",
    "recurring": "Récurrent",
    "listView": "Vue liste",
    "kanbanView": "Vue Kanban"
  },
  "shopping": {
    "title": "Courses",
    "noLists": "Aucune liste",
    "noListsDescription": "Créez une liste avec le bouton +.",
    "emptyList": "La liste est vide",
    "emptyListDescription": "Ajoutez des articles via le champ de saisie ci-dessus.",
    "newListPrompt": "Nom de la nouvelle liste :",
    "newListButton": "Créer une nouvelle liste",
    "renameListPrompt": "Nouveau nom de la liste :",
    "deleteListConfirm": "Supprimer la liste « {{name}} » et tous ses articles ?",
    "deletedListToast": "Liste supprimée.",
    "itemDeletedToast": "« {{name}} » supprimé.",
    "itemsRemovedToast": "{{count}} articles supprimés.",
    "clearChecked": "Supprimer les cochés ({{count}})",
    "itemNamePlaceholder": "Ajouter un article…",
    "itemQtyPlaceholder": "Quantité",
    "itemNameLabel": "Nom de l'article",
    "itemQtyLabel": "Quantité",
    "categoryLabel": "Catégorie",
    "addItemLabel": "Ajouter un article",
    "renameListLabel": "Renommer la liste",
    "deleteListLabel": "Supprimer la liste",
    "swipeBack": "Annuler",
    "swipeCheck": "Cocher",
    "swipeDelete": "Supprimer",
    "markDoneLabel": "Cocher {{name}}",
    "markUndoneLabel": "Décocher {{name}}",
    "deleteItemLabel": "Supprimer {{name}}",
    "listsLoadError": "Les listes n'ont pas pu être chargées.",
    "itemsLoadError": "Les articles n'ont pas pu être chargés.",
    "catFruitVeg": "Fruits et légumes",
    "catBakery": "Boulangerie",
    "catDairy": "Produits laitiers",
    "catMeatFish": "Viande et poisson",
    "catFrozen": "Surgelés",
    "catDrinks": "Boissons",
    "catHousehold": "Ménage",
    "catDrugstore": "Pharmacie",
    "catMisc": "Divers"
  },
  "meals": {
    "title": "Plan de repas",
    "noMealPlanned": "Aucun repas prévu",
    "addMeal": "Ajouter {{type}}",
    "editMeal": "Modifier le repas",
    "addMealTitle": "Ajouter un repas",
    "deleteMeal": "Supprimer le repas",
    "transferToShoppingList": "Ajouter les ingrédients à la liste de courses",
    "today": "Aujourd'hui",
    "prevWeek": "Semaine précédente",
    "nextWeek": "Semaine suivante",
    "loadError": "Le plan de repas n'a pas pu être chargé.",
    "typeBreakfast": "Petit-déjeuner",
    "typeLunch": "Déjeuner",
    "typeDinner": "Dîner",
    "typeSnack": "Snack",
    "dayMo": "Lun",
    "dayDi": "Mar",
    "dayMi": "Mer",
    "dayDo": "Jeu",
    "dayFr": "Ven",
    "daySa": "Sam",
    "daySo": "Dim",
    "dateLabel": "Date",
    "mealTypeLabel": "Repas",
    "titleLabel": "Titre *",
    "titlePlaceholder": "ex. Pâtes bolognaise",
    "notesLabel": "Notes",
    "notesPlaceholder": "Optionnel…",
    "ingredientsLabel": "Ingrédients",
    "addIngredient": "Ajouter un ingrédient",
    "ingredientNamePlaceholder": "Ingrédient",
    "ingredientQtyPlaceholder": "Quantité",
    "ingredientCategoryLabel": "Catégorie",
    "ingredientCategoryDefault": "Divers",
    "removeIngredient": "Supprimer l'ingrédient",
    "transferLabel": "Transférer les ingrédients vers la liste de courses",
    "transferNow": "Transférer maintenant",
    "noShoppingLists": "Aucune liste de courses disponible",
    "transferSuccess": "{{count}} ingrédient transféré",
    "transferSuccessPlural": "{{count}} ingrédients transférés",
    "transferAlreadyDone": "Tous les ingrédients ont déjà été transférés",
    "ingredientCount": "{{count}} ingrédient",
    "ingredientCountPlural": "{{count}} ingrédients",
    "titleRequired": "Le titre est obligatoire",
    "loadingIndicator": "Chargement…",
    "recipeUrlLabel": "Lien recette (optionnel)",
    "recipeUrlPlaceholder": "https://…",
    "openRecipe": "Ouvrir la recette",
    "savedRecipeLabel": "Saved recipe",
    "savedRecipePlaceholder": "Select recipe",
    "saveAsRecipe": "Save as recipe",
    "recipeScaleLabel": "Scale ingredients"
  },
  "calendar": {
    "title": "Calendrier",
    "newEvent": "Nouvel événement",
    "editEvent": "Modifier l'événement",
    "addEvent": "Ajouter un événement",
    "deleteEvent": "Supprimer l'événement",
    "noEvents": "Aucun événement dans la période sélectionnée.",
    "today": "Aujourd'hui",
    "back": "Retour",
    "forward": "Avancer",
    "viewMonth": "Mois",
    "viewWeek": "Semaine",
    "viewDay": "Jour",
    "viewAgenda": "Agenda",
    "allDay": "Toute la journée",
    "allDayShort": "tj.",
    "moreEvents": "+{{count}} de plus",
    "weekNumberLabel": "S{{week}} · {{month}} {{year}}",
    "agendaFrom": "À partir du {{date}}",
    "titleLabel": "Titre *",
    "titlePlaceholder": "ex. Dentiste",
    "allDayToggle": "Toute la journée",
    "startDateLabel": "Date de début",
    "startTimeLabel": "Heure de début",
    "endDateLabel": "Date de fin",
    "endTimeLabel": "Heure de fin",
    "fromLabel": "De",
    "toLabel": "À",
    "locationLabel": "Lieu",
    "locationPlaceholder": "Optionnel",
    "assignedLabel": "Assigné à",
    "assignedNobody": "- Personne -",
    "colorLabel": "Couleur {{color}}",
    "descriptionLabel": "Description",
    "descriptionPlaceholder": "Optionnel…",
    "popupEdit": "Modifier",
    "deleteConfirm": "Supprimer « {{title}} » ?",
    "createdToast": "Événement créé",
    "savedToast": "Événement enregistré",
    "deletedToast": "Événement supprimé",
    "loadError": "Les événements n'ont pas pu être chargés.",
    "saveError": "Erreur lors de l'enregistrement",
    "deleteError": "Erreur lors de la suppression",
    "titleRequired": "Le titre est obligatoire",
    "monthJanuary": "Janvier",
    "monthFebruary": "Février",
    "monthMarch": "Mars",
    "monthApril": "Avril",
    "monthMay": "Mai",
    "monthJune": "Juin",
    "monthJuly": "Juillet",
    "monthAugust": "Août",
    "monthSeptember": "Septembre",
    "monthOctober": "Octobre",
    "monthNovember": "Novembre",
    "monthDecember": "Décembre",
    "dayShortSunday": "Dim",
    "dayShortMonday": "Lun",
    "dayShortTuesday": "Mar",
    "dayShortWednesday": "Mer",
    "dayShortThursday": "Jeu",
    "dayShortFriday": "Ven",
    "dayShortSaturday": "Sam",
    "dayLongSunday": "Dimanche",
    "dayLongMonday": "Lundi",
    "dayLongTuesday": "Mardi",
    "dayLongWednesday": "Mercredi",
    "dayLongThursday": "Jeudi",
    "dayLongFriday": "Vendredi",
    "dayLongSaturday": "Samedi",
    "timeSuffix": ""
  },
  "notes": {
    "title": "Notes",
    "newNote": "Nouvelle note",
    "editNote": "Modifier la note",
    "addNoteLabel": "Nouvelle note",
    "searchPlaceholder": "Rechercher des notes…",
    "emptyTitle": "Aucune note",
    "emptyDescription": "Créez une nouvelle note avec le bouton +.",
    "noResultsTitle": "Aucun résultat",
    "noResultsDescription": "Aucune note ne contient « {{query}} ».",
    "titleLabel": "Titre (optionnel)",
    "titlePlaceholder": "Sans titre",
    "contentLabel": "Contenu",
    "contentMarkdownHint": "(Formatage Markdown supporté)",
    "contentPlaceholder": "Saisir une note…",
    "colorLabel": "Couleur",
    "pinnedLabel": "Épingler (apparaît sur le tableau de bord)",
    "pinAction": "Épingler",
    "unpinAction": "Désépingler",
    "deleteLabel": "Supprimer la note",
    "deleteConfirm": "Supprimer cette note ?",
    "createdToast": "Note créée",
    "savedToast": "Note enregistrée",
    "deletedToast": "Note supprimée",
    "loadError": "Les notes n'ont pas pu être chargées.",
    "formatBold": "Gras (Ctrl+B)",
    "formatItalic": "Italique (Ctrl+I)",
    "formatUnderline": "Souligné (Ctrl+U)",
    "formatStrikethrough": "Barré",
    "formatHeading": "Titre",
    "formatList": "Liste à puces",
    "formatOrderedList": "Liste numérotée",
    "formatChecklist": "Liste de contrôle",
    "formatLink": "Lien",
    "formatCode": "Code",
    "formatQuote": "Citation",
    "formatDivider": "Séparateur"
  },
  "contacts": {
    "title": "Contacts",
    "newContact": "Nouveau contact",
    "editContact": "Modifier le contact",
    "addButton": "Nouveau",
    "newContactLabel": "Nouveau contact",
    "searchPlaceholder": "Rechercher par nom, téléphone ou e-mail…",
    "importButton": "Importer",
    "importLabel": "Importer un contact depuis vCard",
    "importTooltip": "Importer vCard",
    "emptyTitle": "Aucun contact",
    "emptyDescription": "Ajoutez de nouveaux contacts avec le bouton +.",
    "filterAll": "Tous",
    "nameLabel": "Nom *",
    "namePlaceholder": "Nom complet",
    "categoryLabel": "Catégorie",
    "phoneLabel": "Téléphone",
    "phonePlaceholder": "+33 …",
    "emailLabel": "E-mail",
    "emailPlaceholder": "nom@exemple.fr",
    "addressLabel": "Adresse",
    "addressPlaceholder": "Rue, Code postal Ville",
    "notesLabel": "Notes",
    "notesPlaceholder": "Optionnel…",
    "callLabel": "Appeler",
    "emailActionLabel": "E-mail",
    "mapsLabel": "Ouvrir dans Maps",
    "exportLabel": "Exporter en vCard",
    "exportTooltip": "Exporter vCard",
    "deleteLabel": "Supprimer le contact",
    "deleteConfirm": "Supprimer ce contact ?",
    "deletePersonConfirm": "Supprimer « {{name}} » ?",
    "savedToast": "Contact enregistré",
    "updatedToast": "Contact mis à jour",
    "deletedToast": "Contact supprimé",
    "importedToast": "{{name}} importé.",
    "importError": "Importation échouée : {{error}}",
    "vcardNoName": "La vCard ne contient pas de nom.",
    "catDoctor": "Médecin",
    "catSchool": "École/Crèche",
    "catAuthority": "Administration",
    "catInsurance": "Assurance",
    "catCraftsman": "Artisan",
    "catEmergency": "Urgence",
    "catMisc": "Divers",
    "categoryDoctor": "Médecin",
    "categorySchool": "École/Crèche",
    "categoryAuthority": "Administration",
    "categoryInsurance": "Assurance",
    "categoryCraftsman": "Artisan",
    "categoryEmergency": "Urgence",
    "categoryOther": "Autre"
  },
  "budget": {
    "title": "Budget",
    "newEntry": "Nouvelle entrée",
    "editEntry": "Modifier l'entrée",
    "addEntryLabel": "Ajouter une entrée",
    "newEntryFabLabel": "Nouvelle entrée",
    "currentMonth": "Actuel",
    "prevMonth": "Mois précédent",
    "nextMonth": "Mois suivant",
    "income": "Revenus",
    "expenses": "Dépenses",
    "balance": "Solde",
    "byCategory": "Par catégorie",
    "transactions": "Transactions",
    "emptyTitle": "Aucune entrée ce mois-ci",
    "emptyDescription": "Ajoutez des entrées budgétaires avec le bouton +.",
    "csvExport": "CSV",
    "typeExpense": "Dépense",
    "typeIncome": "Revenu",
    "titleLabel": "Titre *",
    "titlePlaceholder": "ex. Supermarché",
    "amountLabel": "Montant *",
    "amountPlaceholder": "0,00",
    "categoryLabel": "Catégorie",
    "dateLabel": "Date *",
    "recurringLabel": "Récurrent",
    "deleteLabel": "Supprimer l'entrée",
    "deleteConfirm": "Supprimer cette entrée ?",
    "deletePersonConfirm": "Supprimer « {{title}} » ?",
    "addedToast": "Entrée ajoutée",
    "savedToast": "Entrée enregistrée",
    "deletedToast": "Entrée supprimée",
    "loadError": "Le budget n'a pas pu être chargé.",
    "trendNeutral": "- identique à {{month}}",
    "validAmountRequired": "Veuillez saisir un montant valide",
    "dateRequired": "La date est obligatoire",
    "catFood": "Alimentation",
    "catRent": "Loyer",
    "catInsurance": "Assurance",
    "catMobility": "Transport",
    "catLeisure": "Loisirs",
    "catClothing": "Vêtements",
    "catHealth": "Santé",
    "catEducation": "Éducation",
    "catMisc": "Divers",
    "catEarnedIncome": "Revenus du Travail",
    "catInvestmentIncome": "Revenus d'Investissement",
    "catTransferGiftIncome": "Transferts et Cadeaux",
    "catGovernmentBenefits": "Allocations Sociales",
    "catOtherIncome": "Autres Revenus",
    "loadingIndicator": "Chargement…"
  },
  "settings": {
    "title": "Paramètres",
    "tabGeneral": "Général",
    "tabMeals": "Repas",
    "tabBudget": "Budget",
    "tabShopping": "Courses",
    "tabCalendar": "Calendrier",
    "tabAccount": "Compte",
    "tabsAriaLabel": "Sections des paramètres",
    "sectionDesign": "Apparence",
    "sectionShopping": "Courses",
    "shoppingCategoriesLabel": "Catégories de courses",
    "shoppingCategoriesHint": "Ajoutez, renommez, supprimez ou réorganisez les catégories.",
    "shoppingCategoryPlaceholder": "Nouvelle catégorie…",
    "shoppingCategoryRenameHint": "Cliquez pour renommer",
    "shoppingCategoryRenamePrompt": "Nouveau nom de catégorie :",
    "shoppingCategoryMoveUp": "Déplacer la catégorie vers le haut",
    "shoppingCategoryMoveDown": "Déplacer la catégorie vers le bas",
    "shoppingCategoryDelete": "Supprimer la catégorie",
    "shoppingCategoryDeleteConfirm": "Supprimer la catégorie « {{name}} » ? Les articles existants seront déplacés vers la catégorie suivante.",
    "shoppingCategoryAdded": "Catégorie ajoutée.",
    "shoppingCategoryRenamed": "Catégorie renommée.",
    "shoppingCategoryDeleted": "Catégorie supprimée.",
    "sectionAccount": "Mon compte",
    "sectionCalendarSync": "Synchronisation du calendrier",
    "sectionFamily": "Membres de la famille",
    "cardAppearance": "Affichage",
    "themeSystem": "Système",
    "themeSysLabel": "Utiliser le paramètre système",
    "themeLight": "Clair",
    "themeLightLabel": "Mode clair",
    "themeDark": "Sombre",
    "themeDarkLabel": "Mode sombre",
    "changePassword": "Changer le mot de passe",
    "currentPasswordLabel": "Mot de passe actuel",
    "newPasswordLabel": "Nouveau mot de passe",
    "confirmPasswordLabel": "Confirmer le nouveau mot de passe",
    "savePassword": "Enregistrer le mot de passe",
    "passwordMismatch": "Les mots de passe ne correspondent pas.",
    "passwordSavedToast": "Mot de passe modifié avec succès.",
    "googleCalendar": "Google Agenda",
    "appleCalendar": "Apple Calendar (iCloud)",
    "syncNow": "Synchroniser maintenant",
    "disconnect": "Déconnecter",
    "connectGoogle": "Connecter avec Google",
    "connected": "Connecté",
    "connectedLastSync": "Connecté · Dernière sync. : {{date}}",
    "notConnected": "Non connecté",
    "notConfigured": "Non configuré (variables .env manquantes)",
    "configured": "Configuré (via .env)",
    "configuredLastSync": "Configuré (via .env) · Dernière sync. : {{date}}",
    "syncSuccess": "{{provider}} synchronisé.",
    "disconnectedToast": "{{provider}} déconnecté.",
    "googleOnlyAdmin": "Seul l'administrateur peut connecter Google Agenda.",
    "appleOnlyAdmin": "Seul l'administrateur peut connecter Apple Calendar.",
    "caldavUrlLabel": "URL du serveur CalDAV",
    "caldavUrlPlaceholder": "https://caldav.icloud.com",
    "appleIdLabel": "Identifiant Apple (e-mail)",
    "applePasswordLabel": "Mot de passe spécifique à l'app",
    "applePasswordHint": "Créez le mot de passe sur <strong>appleid.apple.com → Sécurité</strong>.",
    "appleConnectBtn": "Connecter et tester",
    "appleConnecting": "Connexion…",
    "appleConnectedToast": "Apple Calendar connecté.",
    "syncSuccessGoogle": "Synchronisation du calendrier avec Google réussie.",
    "syncSuccessApple": "Synchronisation du calendrier avec Apple réussie.",
    "syncErrorGoogle": "La connexion à Google a échoué. Veuillez réessayer.",
    "syncErrorApple": "La connexion à Apple a échoué. Veuillez réessayer.",
    "addMember": "+ Ajouter un membre",
    "newMemberTitle": "Nouveau membre de la famille",
    "usernameLabel": "Nom d'utilisateur",
    "displayNameLabel": "Nom affiché",
    "memberPasswordLabel": "Mot de passe",
    "colorLabel": "Couleur",
    "roleLabel": "Rôle",
    "roleMember": "Membre",
    "roleAdmin": "Admin",
    "createMember": "Créer",
    "cancelAddMember": "Annuler",
    "memberAddedToast": "{{name}} ajouté.",
    "deleteMemberConfirm": "Supprimer {{name}} ?",
    "memberDeletedToast": "{{name}} supprimé.",
    "deleteMemberLabel": "Supprimer",
    "logout": "Se déconnecter",
    "synchronizing": "Synchronisation…",
    "googleDisconnectConfirm": "Déconnecter Google Agenda ?",
    "appleDisconnectConfirm": "Déconnecter Apple Calendar ?",
    "localeSystem": "Système",
    "localeLabel": "Langue",
    "languageTitle": "Langue",
    "sectionMeals": "Plan de repas",
    "mealTypesLabel": "Repas visibles",
    "mealTypesHint": "Seuls les types de repas sélectionnés s'affichent dans le planificateur.",
    "mealTypesSaved": "Paramètres du plan de repas enregistrés.",
    "mealTypesMinOne": "Au moins un type de repas doit être actif.",
    "sectionBudget": "Budget",
    "currencyLabel": "Devise",
    "currencyHint": "Définit la devise utilisée dans toute la section budget.",
    "currencySaved": "Devise enregistrée."
  },
  "login": {
    "tagline": "Planification familiale. Sécurisée. Respectueuse de la vie privée. Open source.",
    "usernameLabel": "Nom d'utilisateur",
    "usernamePlaceholder": "identifiant",
    "passwordLabel": "Mot de passe",
    "passwordPlaceholder": "••••••••",
    "loginButton": "Se connecter",
    "loggingIn": "Connexion…",
    "tooManyAttempts": "Trop de tentatives. Veuillez patienter un moment.",
    "invalidCredentials": "Identifiants invalides.",
    "version": "v{{version}}"
  },
  "install": {
    "title": "Installer Oikos",
    "subtitle": "Ajouter à l'écran d'accueil",
    "iosTip1": "Appuyez sur ",
    "iosTip2": " → « Ajouter à l'écran d'accueil »",
    "installButton": "Installer",
    "dismissLabel": "Fermer"
  },
  "modal": {
    "closeLabel": "Fermer",
    "overlayLabel": "Arrière-plan de la boîte de dialogue modale"
  },
  "rrule": {
    "freqNone": "Pas de répétition",
    "freqDaily": "Quotidien",
    "freqWeekly": "Hebdomadaire",
    "freqMonthly": "Mensuel",
    "dayMo": "Lu",
    "dayTu": "Ma",
    "dayWe": "Me",
    "dayTh": "Je",
    "dayFr": "Ve",
    "daySa": "Sa",
    "daySu": "Di",
    "labelRepeat": "Répétition",
    "labelEvery": "Tous les",
    "labelOnDays": "Ces jours-ci",
    "labelUntil": "Se termine le (optionnel)",
    "unitDay": "jour",
    "unitDays": "jours",
    "unitWeek": "semaine",
    "unitWeeks": "semaines",
    "unitMonth": "mois",
    "unitMonths": "mois"
  },
  "recipes": {
    "title": "Recipes",
    "addRecipe": "Add recipe",
    "editRecipe": "Edit recipe",
    "emptyTitle": "No recipes yet",
    "emptyDescription": "Save your favorite recipes and reuse them in meal planning.",
    "titleLabel": "Title *",
    "titlePlaceholder": "e.g. Pasta Carbonara",
    "notesLabel": "Notes",
    "notesPlaceholder": "Optional...",
    "urlLabel": "Recipe link",
    "urlPlaceholder": "https://...",
    "ingredientsLabel": "Ingredients",
    "addToMeals": "Add to meal plan",
    "openLink": "Open recipe link",
    "deleteConfirm": "Delete recipe \"{{title}}\"?",
    "created": "Recipe saved.",
    "updated": "Recipe updated.",
    "deleted": "Recipe deleted.",
    "titleRequired": "Title is required",
    "duplicate": "Duplicate",
    "duplicated": "Recipe duplicated.",
    "copySuffix": "copy"
  }
}
