'Tests en cours...', 'test_passed' => 'Test réussi', 'test_failed' => 'Test échoué', 'tests_title' => 'Laboratoire de Tests', 'tests_run_budget' => 'Tester le Budget', 'tests_run_all' => 'Lancer tous les tests', 'tests_copy_report' => 'Copier le rapport', 'tests_waiting' => 'En attente du lancement...', 'tests_report_copied' => 'Rapport copié dans le presse-papier !', 'tests_live_preview' => 'Aperçu en direct', // ========================================== // GLOBAL & NAVIGATION // ========================================== 'menu_home' => 'Accueil', 'menu_calendar' => 'Calendrier', 'menu_budget' => 'Budget', 'menu_holidays' => 'Voyages', 'menu_gifts' => 'Cadeaux', 'menu_calendar_ios' => 'Calendrier iOS', 'nav_home' => 'Accueil', 'nav_calendar' => 'Calendrier', 'nav_budget' => 'Budget', 'nav_holidays' => 'Voyages', 'nav_gifts' => 'Cadeaux', 'aria_menu' => 'Menu mobile', // Boutons et actions globales 'actions' => 'Actions', 'edit' => 'Modifier', 'delete' => 'Supprimer', 'save' => 'Enregistrer', 'cancel' => 'Annuler', 'btn_save' => 'Enregistrer', 'btn_cancel' => 'Annuler', 'btn_delete' => 'Supprimer', 'btn_close' => 'Fermer', 'btn_back' => '◀ Retour', 'btn_edit_bases' => '⚙️ Modifier les bases', 'btn_edit' => 'Modifier', 'error_occured' => 'Une erreur est survenue.', // Mots génériques & Erreurs 'error' => 'Erreur.', 'confirm_delete' => 'Es-tu sûr de vouloir supprimer cet élément ?', // Mois & Jours 'month_01' => 'Janvier', 'month_02' => 'Février', 'month_03' => 'Mars', 'month_04' => 'Avril', 'month_05' => 'Mai', 'month_06' => 'Juin', 'month_07' => 'Juillet', 'month_08' => 'Août', 'month_09' => 'Septembre', 'month_10' => 'Octobre', 'month_11' => 'Novembre','month_12' => 'Décembre', 'day_mon' => 'Lun', 'day_tue' => 'Mar', 'day_wed' => 'Mer', 'day_thu' => 'Jeu', 'day_fri' => 'Ven', 'day_sat' => 'Sam', 'day_sun' => 'Dim', // ========================================== // AUTHENTIFICATION / LOGIN // ========================================== 'login_title' => 'Connexion - HouseHub', 'login_header' => 'Connexion', 'label_username' => 'Identifiant', 'label_password' => 'Mot de passe', 'placeholder_username' => 'ex: pacha', 'btn_login' => 'Connexion', 'btn_login_submit' => 'Se connecter', 'logout' => 'Déconnexion', 'btn_logout' => 'Déconnexion', 'error_missing_fields' => 'Champs obligatoires.', 'error_invalid_credentials' => 'Identifiants incorrects.', 'login_subtitle' => 'Veuillez vous identifier pour continuer', // ========================================== // ACCUEIL / INDEX // ========================================== 'home_title' => 'HouseHub - Accueil', 'home_welcome' => 'Bienvenue sur HouseHub', 'home_subtitle' => "Centre de contrôle de l'organisation familiale.", 'home_logged_as' => 'Connecté en tant que', 'home_modules_title' => 'Modules', 'mod_calendar_name' => 'Calendrier Familial', 'mod_calendar_desc' => "Gérez les congés, les modes de garde et l'organisation hebdomadaire.", 'mod_holidays_name' => 'Vacances', 'mod_holidays_desc' => 'Planifiez vos prochaines escapades, destinations et idées de voyage.', 'mod_gifts_name' => 'Cadeaux', 'mod_gifts_desc' => 'Planifiez les cadeaux pour chaque enfant, pour Noël et les anniversaires.', 'mod_budget_name' => 'Budget', 'mod_budget_desc' => 'Suivi des dépenses fixes, revenus et équilibre du compte familial.', 'mod_garage_name' => 'Garage', 'mod_garage_desc' => 'Suivez l\'entretien de vos véhicules, les pièces utilisées et les coûts.', 'mod_memo_name' => 'Notes', 'mod_memo_desc' => 'Vos mémos, recettes, instructions et infos diverses avec Markdown et pièces jointes.', 'menu_memo' => 'Notes', 'mod_todo_name' => 'Todo', 'mod_todo_desc' => 'Gérez vos tâches, listes de courses et rappels en famille.', 'mod_calendar_ios_name' => 'Calendrier iOS', 'mod_calendar_ios_desc' => 'Synchronisez vos événements HouseHub avec votre calendrier iPhone (iCloud CalDAV).', 'menu_todo' => 'Todo', ‘mod_groceries_name’ => ‘Courses’, ‘mod_groceries_desc’ => ‘Liste partagée : ajoutez des produits et cochez-les quand ils sont dans le caddie.’, ‘menu_groceries’ => ‘Courses’, // Module Liste (remplace Courses) ‘mod_liste_name’ => ‘Listes’, ‘mod_liste_desc’ => ‘Listes partagées nommées — courses, bricolage, pharmacie… Autant de listes que nécessaire.’, ‘menu_liste’ => ‘Listes’, ‘liste_placeholder_add’ => ‘Ajouter un article…’, ‘liste_btn_add’ => ‘Ajouter’, ‘liste_btn_uncheck_all’ => ‘Tout décocher’, ‘liste_btn_delete_picked’ => ‘Supprimer les cochés’, ‘liste_btn_clear_all’ => ‘Vider la liste’, ‘liste_subtitle’ => ‘{pending} à faire · {cart} cochés’, ‘liste_added’ => ‘Ajouté’, ‘liste_updated’ => ‘Modifié’, ‘liste_deleted’ => ‘Supprimé’, ‘liste_already_in’ => ‘Déjà dans la liste’, ‘liste_confirm_clear’ => ‘Vider toute la liste ?’, ‘liste_confirm_delete_list’ => ‘Supprimer cette liste et tous ses articles ?’, ‘liste_history_title’ => ‘Récemment utilisés — clic pour rajouter’, ‘liste_new_list’ => ‘Nouvelle liste’, ‘liste_list_name_placeholder’=> ‘Nom de la liste…’, ‘liste_create’ => ‘Créer’, ‘liste_rename_list’ => ‘Renommer’, ‘liste_new_name’ => ‘Nouveau nom :’, ‘liste_list_deleted’ => ‘Liste supprimée’, ‘liste_list_created’ => ‘Liste créée’, ‘liste_list_renamed’ => ‘Liste renommée’, ‘liste_edit_placeholder’ => ‘Modifier l\’article :’, ‘liste_empty_state’ => ‘Créez votre première liste avec le bouton + ci-dessus.’, ‘liste_settings_title’ => ‘Listes — historique’, ‘liste_settings_intro’ => ‘Nombre maximum d\’articles mémorisés dans l\’historique (commun à toutes les listes).’, ‘liste_settings_history_max’ => ‘Taille de l\’historique’, ‘liste_settings_history_hint’=> ‘Entre 1 et 50.’, ‘groceries_settings_saved’ => ‘Préférences enregistrées.’, ‘groceries_settings_error’ => ‘Impossible d\’enregistrer :’, ‘groceries_err_duplicate’ => ‘Ce produit est déjà dans la liste.’, 'cta_open' => 'Ouvrir', 'cta_explore' => 'Explorer', 'cta_view_lists' => 'Déballer', 'cta_manage' => 'Gérer', 'cta_service' => 'Réviser', 'cta_jot' => 'Griffonner', 'cta_check' => 'Cocher', 'cta_cart' => 'Faire les courses', 'cta_sync' => 'Synchroniser', 'mod_printvault_name' => 'PrintVault', 'mod_printvault_desc' => 'Gérez vos fichiers d\'impression 3D — STL, 3MF, GCode avec viewer interactif.', 'menu_printvault' => 'PrintVault', 'cta_print' => 'Imprimer', 'mod_planka_name' => 'Planka', 'mod_planka_desc' => 'Gérez vos projets en mode Kanban avec Planka.', 'menu_planka' => 'Planka', // ========================================== // FAMILY CALENDAR // ========================================== 'fc_page_title' => 'HouseHub - Calendrier', 'fc_main_header' => 'Calendrier Familial', 'fc_btn_correct_balances' => 'Corriger les soldes', 'fc_btn_school_holidays' => 'Vacances scolaires', 'fc_modal_holidays_title' => 'Vacances Scolaires (Zone C)', 'fc_modal_snap_title' => 'Ajuster un solde', 'fc_col_period' => 'Période', 'fc_col_from' => 'Du', 'fc_col_to' => 'Au', 'fc_label_person' => 'Personne', 'fc_label_leave_type' => 'Type de congé', 'fc_label_apply_date' => "Date d'application", 'fc_snap_date_hint' => "Choisissez de préférence le 1er jour d'un mois", 'fc_label_remaining_balance'=> 'Solde restant à cette date', 'fc_placeholder_balance' => 'ex: 12.5', 'fc_btn_save_snap' => 'Enregistrer le correctif', 'fc_view_1m' => '1 mois', 'fc_view_2m' => '2 mois', 'fc_view_3m' => '3 mois', 'fc_view_year' => 'Année', 'fc_weekly_planning' => 'Planning hebdomadaire', 'fc_col_month' => 'Mois', 'fc_col_week_short' => 'Sem.', 'fc_col_av' => 'Av.', 'fc_col_use' => 'Use', 'fc_legend_title' => 'Légende', 'fc_summary_title' => 'Récapitulatif', 'fc_summ_year' => 'Année', 'fc_summ_month' => 'Mois', 'fc_school_year' => 'Année scolaire', 'fc_unit_days' => 'jours', 'fc_menu_carole' => 'Congés Carole', 'fc_clear' => 'Effacer', 'fc_menu_kids_leaves' => 'Congés Enfants', 'fc_err_save_snap' => 'Erreur lors de la sauvegarde du correctif.', 'fc_err_fetch_gov' => 'Erreur lors de la connexion à l\'API gouvernementale.', 'fc_err_no_data_gov' => 'Aucune donnée trouvée sur l\'API du gouvernement pour cette année.', 'fc_err_action' => 'Erreur lors de l\'action : ', 'fc_today_short' => 'Auj.', 'fc_today_title' => "Aujourd'hui", 'leg_presence' => 'Présence Pep', 'leg_school_holidays' => 'Vacances Scolaires', 'leg_public_holiday' => 'Férié', 'leg_off_carole' => 'Off Carole', 'leg_extra_off' => 'Extra Off', 'leg_centre' => 'Centre', 'leg_avis' => 'Avis', 'leg_pep_sick' => 'Pep Malade', 'vac_toussaint' => 'Vacances de la Toussaint', 'vac_noel' => 'Vacances de Noël', 'vac_hiver' => "Vacances d'Hiver", 'vac_printemps' => 'Vacances de Printemps', 'vac_ascension' => 'Pont de l\'Ascension', 'vac_ete' => "Vacances d'Été", 'btn_off' => 'Off', 'btn_extra' => 'Extra', 'fc_alert_burn_days' => '⚠️ Risque de perte : %s j à poser avant le %s', 'fc_alert_burn_jra' => '⚠️ JRA : Seuls 2j sont reportables après février !', // ========================================== // HOLIDAYS (VOYAGES) // ========================================== 'hdl_title_list' => 'HouseHub - Mes Vacances', 'hdl_title_detail' => 'HouseHub - Détail du voyage', 'hdl_main_title' => 'Mes Vacances', 'hdl_filter_all' => 'Tout afficher', 'hdl_filter_year' => 'Année', 'hdl_left_to_pay_label' => 'Reste à payer', 'hdl_btn_create' => 'Créer un voyage', 'hdl_no_active_trips' => 'Aucun voyage en cours pour cette période. Planifions quelque chose !', 'hdl_history_title' => 'Historique', 'hdl_dates_to_define' => 'Dates à définir', 'hdl_total_budget' => 'Budget Total', 'hdl_paid' => 'Payé', 'hdl_saved' => 'Financé', 'hdl_left_to_pay' => 'Reste à payer', 'hdl_status_booked' => 'Confirmé', 'hdl_status_planned' => 'Planifié', 'hdl_status_draft' => 'Brouillon', 'hdl_status_passed' => 'Terminé', 'hdl_status_archived' => 'Archivé', 'hdl_modal_title' => 'Planifier le voyage', 'hdl_label_name' => 'Nom du voyage', 'hdl_ph_name' => 'Ex: Octobre - Portugal', 'hdl_label_status' => 'Statut', 'hdl_label_period' => 'Période (Texte libre)', 'hdl_ph_period' => 'Ex: Octobre 2026', 'hdl_label_from' => 'Du', 'hdl_label_to' => 'Au', 'hdl_cat_transport' => 'Transport', 'hdl_add_transport' => 'Ajouter un transport', 'hdl_cat_accommodation' => 'Hébergement', 'hdl_add_accommodation' => 'Ajouter un hébergement', 'hdl_cat_activity' => 'Activité', 'hdl_add_activity' => 'Ajouter une activité', 'hdl_label_budget_food' => 'Budget Food & Bev (€)', 'hdl_label_budget_extras' => 'Budget Extras (€)', 'hdl_label_notes' => 'Notes', 'hdl_ph_notes' => 'Idées en vrac...', 'hdl_label_budget_food_extras' => 'Budget Food & Extras', 'hdl_map_itinerary' => 'Itinéraire', 'hdl_outbound' => 'Aller', 'hdl_return' => 'Retour', 'hdl_btn_add_step' => 'Ajouter une étape', 'hdl_step_details' => 'Détails du roadtrip', 'hdl_no_steps' => 'Aucune étape définie. Commencez par en ajouter une !', 'hdl_general_costs' => 'Frais généraux & Budgets', 'hdl_food_bev' => 'Food & Bev', 'hdl_extras' => 'Extras', 'hdl_view_planning' => 'Voir le planning', 'hdl_passing_point' => 'Point de passage (sans frais)', 'hdl_search_location' => 'Chercher un lieu', 'hdl_ph_search' => 'Ville, hôtel, adresse...', 'hdl_label_step_name' => "Nom de l'étape", 'hdl_label_arrival' => 'Arrivée', 'hdl_label_departure' => 'Départ', 'hdl_planned_expenses' => 'Dépenses prévues pour cette étape', 'hdl_btn_add_expense' => '+ Ajouter une dépense', 'hdl_save_fav' => 'Enregistrer dans mes favoris', 'hdl_planning_title' => 'Planning de l\'étape', 'hdl_to_pay' => 'À payer', 'hdl_js_search_loading' => 'Recherche en cours...', 'hdl_js_no_result' => 'Aucun résultat trouvé.', 'hdl_js_network_error' => 'Erreur de connexion au service de carte.', 'hdl_js_confirm_del_trip' => 'Es-tu sûr de vouloir supprimer ce voyage entier ?', 'hdl_js_confirm_del_step' => 'Supprimer cette étape ?', 'hdl_js_step_label' => 'Étape', 'hdl_js_ph_expense_name' => 'Ex: Hôtel, Péage...', 'hdl_quick_edit_title' => 'Modification rapide', 'hdl_js_edit_step' => 'Modifier l\'étape', 'hdl_js_missing_dates_title'=> 'Dates manquantes', 'hdl_js_missing_dates_msg' => 'Veuillez définir une date d\'arrivée et de départ pour organiser le planning.', 'hdl_to_place' => 'À placer', 'hdl_from' => 'Du', 'hdl_to' => 'Au', 'hdl_btn_add_step' => 'Ajouter une étape', 'hdl_quick_edit_title' => 'Modification rapide', 'hdl_paid' => 'Payé', 'weather_forecast' => 'Prévisions météo', 'weather_not_available' => 'Météo indisponible', 'temp_max' => 'Temp. Max', 'weather_loading' => 'Chargement météo...', 'weather_error' => 'Météo indisponible', 'weather_sunny' => 'Ensoleillé', 'weather_cloudy' => 'Nuageux', 'weather_rainy' => 'Pluvieux', 'weather_snowy' => 'Neigeux', 'weather_historical' => 'Basé sur l\'historique (estimation)', 'err_invalid_holiday_id' => 'ID de voyage invalide.', 'hdl_default_exp_name' => 'Dépense', 'hdl_select_beneficiary' => '-- Sélectionner --', // Anciennes clés Holidays non préfixées (conservées pour compatibilité si utilisées) 'outbound_trip' => 'Aller', 'return_trip' => 'Retour', 'period' => 'Période', 'budget_food' => 'Budget Food & Extras', 'total_cost' => 'Coût Total Estimé', 'paid' => 'Payé', 'provisioned' => 'Provisionné', 'left_to_pay' => 'Reste à payer', 'map_itinerary' => '🗺️ Itinéraire', 'place_step' => '📍 Placer une étape', 'step_details' => '📝 Détail des étapes', 'no_steps' => 'Aucune étape planifiée.', 'travel_notes' => '📝 Notes du voyage', 'to_be_defined' => 'À définir', 'funded' => 'Financé (Provision)', 'view_planning' => 'Voir le planning', 'to_pay' => 'À payer', 'from_date' => 'Du', 'to_date' => 'au', 'passing_point' => 'Point de passage (Aucune dépense)', 'search_location' => 'Rechercher un lieu géographique', 'search_placeholder' => 'Ex: Paris, Ibis Barcelone...', 'step_name' => 'Nom de l\'étape', 'arrival_optional' => 'Arrivée le (Optionnel)', 'departure_optional' => 'Départ le (Optionnel)', 'planned_expenses' => 'Dépenses prévues', 'add_expense' => '+ Ajouter une dépense', 'save_favorite' => 'Sauvegarder dans mes favoris', 'planning_title' => 'Planning', 'modal_plan_trip' => 'Planifier le voyage', 'modal_quick_edit' => 'Modification rapide', 'err_modal_missing' => 'Erreur : La modale holidayModal est introuvable.', 'placeholder_title' => 'Intitulé', 'placeholder_price' => 'Prix (€)', 'already_paid' => 'Déjà payé ?', 'remove_line' => 'Retirer cette ligne', 'confirm_delete_trip' => 'Voulez-vous vraiment supprimer définitivement ce voyage ? Cette action est irréversible.', 'step_number' => 'Étape', 'place_new_step' => '📍 Placer une nouvelle étape', 'edit_step' => '✏️ Modifier l\'étape', 'search_in_progress' => 'Recherche en cours... ⏳', 'no_result_found' => 'Aucun résultat trouvé.', 'network_error' => 'Erreur réseau.', 'placeholder_label' => 'Libellé', 'placeholder_notes_link' => '🔗 Lien de réservation ou notes (Optionnel)...', 'confirm_delete_step' => 'Supprimer cette étape et toutes les dépenses associées ?', 'planning_of' => '📅 Planning : ', 'missing_dates_title' => '⚠️ Dates manquantes', 'missing_dates_msg' => 'Veuillez modifier cette étape (✏️) et renseigner sa Date d\'arrivée et de départ.', 'to_place' => '📥 À Placer', // ========================================== // BUDGET (GLOBAL & CATEGORIES) // ========================================== 'budget_page_title' => 'HouseHub - Budget', 'budget_main_header' => 'Gestion du Budget', 'budget_tab_tracking' => 'Suivi Mensuel', 'budget_tab_prev' => 'Budget 2026', 'budget_tab_savings' => 'Épargne', 'budget_tab_recap' => 'Récapitulatif', 'budget_err_file_not_found' => 'Oups ! Fichier introuvable.', 'budget_err_file_detail' => 'Vérifiez que le fichier views/%s.php existe bien.', 'budget_err_not_authorized' => 'Page non autorisée.', 'cat_income' => 'Revenus', 'cat_fmcg' => 'Courses (FMCG)', 'cat_fuel' => 'Essence', 'cat_school' => 'École / Garde', 'cat_fixed' => 'Charges Fixes', 'cat_others' => 'Autres / Imprévus', 'cat_savings' => 'Épargne', // --- BUDGET : SUIVI --- 'bud_rem_school' => 'École (Reste estimé)', 'bud_rem_fmcg' => 'Courses (Reste estimé)', 'bud_rem_fuel' => 'Essence (Reste estimé)', 'bud_closed_archived' => 'Ce mois est clôturé et archivé.', 'bud_budget_of' => 'Budget :', 'bud_confirm_close' => 'Clôturer ce mois ? Cela figera les soldes actuels et basculera le suivi par défaut sur le mois prochain.', 'bud_close_btn' => 'Clôturer', 'bud_confirm_reopen' => 'Rouvrir ce mois ? Ses soldes seront recalculés en direct.', 'bud_reopen_btn' => 'Rouvrir', 'bud_active_month_btn' => 'Mois Actif', 'bud_bank_balance' => 'Solde bancaire', 'bud_frozen' => 'Figé', 'bud_current' => 'Actuel', 'bud_update_btn' => 'MàJ', 'bud_theoretical_balance' => 'Solde théorique fin de mois', 'bud_upcoming_charges' => 'Charges à venir', 'bud_all_paid' => 'Tout est payé !', 'bud_capacity_tooltip' => 'Calcul : Report Mois Précédent (%s€) + Salaires (%s€) + Autres rentrées (%s€)', 'bud_max_capacity' => 'Capacité Max', 'bud_actual' => 'Actuel', 'bud_theoretical' => 'Théorique', 'bud_import_csv' => 'Importer CSV', 'bud_csv_file' => 'Fichier CSV (Point-virgule)', 'bud_preview' => 'Prévisualiser', 'bud_validate_import' => 'Valider l\'importation', 'bud_assign_month' => 'Imputer au mois', 'bud_op_date' => 'Date Opération', 'bud_label' => 'Libellé', 'bud_amount' => 'Montant', 'bud_category' => 'Catégorie', 'bud_ignore' => 'Ignorer', 'bud_to_define' => 'À définir', 'bud_is_charge' => 'Charge ?', 'bud_is_income' => 'Revenu ?', 'btn_import' => 'Importer', 'bud_no_lines' => 'Aucune ligne.', 'bud_confirm_delete' => 'Supprimer cette ligne ?', 'bud_new_transaction' => 'Nouvelle transaction', 'bud_assign_to_month' => 'Imputer au mois de gestion', 'bud_real_date' => 'Date réelle de l\'opération', 'bud_type' => 'Type', 'bud_type_expense' => 'Dépense', 'bud_type_income' => 'Revenu / Remboursement', 'bud_beneficiary' => 'Bénéficiaire', 'bud_fixed_charge' => 'Charge Fixe', 'bud_expected_income' => 'Revenu Attendu', 'bud_amount_eur' => 'Montant (€)', 'bud_update_balance' => 'MàJ Solde Bancaire', 'bud_balance_eur' => 'Solde (€)', 'bud_add_title' => 'Ajouter', 'bud_edit_title' => 'Modifier la transaction', 'bud_to_define_js' => 'à définir', 'bud_bar_actual' => "Actuel", 'bud_bar_theoretical' => "Théorique", 'bud_bar_max_cap' => "Capacité Max", 'bud_import_csv' => "Importer CSV", 'bud_csv_file' => "Sélectionnez le fichier de votre banque (.csv)", 'bud_preview' => "Prévisualiser", 'bud_validate_import' => "Veuillez vérifier et catégoriser les lignes avant validation.", 'bud_assign_month' => "Mois de gestion", 'bud_op_date' => "Date", 'bud_amount' => "Montant", 'bud_ignore' => "Ignorer (Crédit)", 'bud_to_define' => "À définir", 'bud_is_charge' => "Est une charge fixe...", 'bud_is_income' => "Est un revenu...", // --- BUDGET : RECAP --- 'bud_recap_monthly_title' => 'Récapitulatif Mensuel', 'bud_recap_btn_add' => 'Ajouter un frais / revenu', 'bud_planned_amount' => 'Montant Prévu', 'bud_day' => 'Jour', 'bud_month_state' => 'État du mois', 'bud_est_short' => 'Est.', 'bud_reg_planned_in' => 'Régul. prévue en %s', 'bud_bonus' => 'Bonus', 'bud_overrun' => 'Dépassement', 'bud_remaining' => 'Reste', 'bud_exact_amount' => 'Montant exact', 'bud_per_month_short' => 'Soit', 'bud_month_short' => 'mois', 'bud_freq_mensuel' => 'Mensuel', 'bud_freq_annuel' => 'Annuel', 'bud_state_validated' => 'Validé', 'bud_state_partial' => 'Partiel', 'bud_state_waiting' => 'En attente', 'bud_total_income_smoothed' => 'Total Revenus (Lissés)', 'bud_total_expenses_smoothed'=> 'Total Dépenses (Lissées)', 'bud_theoretical_balance_recap'=> 'Équilibre théorique', 'bud_recap_footer_note' => 'L\'état de paiement se met à jour automatiquement en fonction des opérations importées dans l\'onglet "Suivi Mensuel".', 'bud_recap_modal_add' => 'Ajouter un élément', 'bud_recap_modal_edit' => 'Modifier', 'bud_label_name' => 'Nom', 'bud_ph_item_name' => 'Ex: Loyer, Salaire...', 'bud_label_keywords' => 'Mots-clés (Détection Auto)', 'bud_ph_keywords' => 'Ex: NETFLIX, PRIME VIDEO (séparés par virgule)', 'bud_help_keywords' => 'Si une dépense du mois contient ce mot, la ligne passera en "Validé".', 'bud_label_day' => 'Jour (1-31)', 'bud_cat_income' => 'Épargne', 'bud_cat_expense' => 'Dépense (Frais)', 'bud_label_frequency' => 'Fréquence', 'bud_label_amount_type' => 'Type de montant', 'bud_type_fixed' => 'Fixe (Facture)', 'bud_type_variable' => 'Variable (Estimation)', 'bud_label_regularization' => 'Régularisation', 'bud_reg_none' => 'Aucune', 'bud_recap_confirm_delete' => 'Voulez-vous vraiment supprimer cet élément ?', 'bud_err_delete' => 'Erreur lors de la suppression.', // --- BUDGET : EPARGNE --- 'bud_sav_add_month' => 'Saisir un mois', 'bud_sav_add_one_month' => '+1 Mois', 'bud_sav_no_data' => 'Aucune donnée pour %s.', 'bud_sav_post_month' => 'Poste / Mois', 'bud_sav_from_date' => 'Dès le %s', 'bud_sav_edit_modal' => 'Modifier avec Modale', 'bud_sav_delete_month' => 'Supprimer tout le mois', 'bud_sav_total_bank' => 'Total Banque', 'bud_sav_extra' => 'Extra', 'bud_sav_modal_title_add' => 'Saisir un mois', 'bud_sav_modal_title_edit' => 'Modifier :', 'bud_sav_month_concerned' => 'Mois concerné', 'bud_sav_total_bank_eur' => 'Total en Banque (€)', 'bud_sav_ventilation' => 'Ventilation', 'bud_sav_adj_help' => 'Utilisez l\'ajustement (+/-) pour recalculer automatiquement.', 'bud_sav_add_line' => 'Ligne', 'bud_sav_current' => 'Actuel', 'bud_sav_adjust' => 'Ajust (+/-)', 'bud_sav_new' => 'Nouveau', 'bud_sav_sum_mode_title' => 'Activer l\'addition rapide', 'bud_sav_selection' => 'Sélection :', 'bud_sav_ph_name' => 'Nom (ex: Vacances)', 'bud_sav_saving' => 'Enregistrement...', 'bud_err_tech' => 'Une erreur technique est survenue.', 'bud_sav_confirm_delete_month' => 'Supprimer TOUT le mois de %m pour %o ?', 'bud_sav_prompt_duplicate' => "Voulez-vous copier les données de %s vers %t1 ?\n\nSaisissez le nouveau TOTAL en banque (€) pour %t2 :", 'bud_err_server' => 'Erreur serveur : ', 'bud_err_network_dup' => 'Erreur réseau lors de la duplication.', // --- BUDGET : PREVISIONNEL --- 'bud_prev_incomes' => 'Revenus', 'bud_prev_person' => 'Personne', 'bud_prev_salary' => 'Salaire', 'bud_prev_monthly_payment' => 'Mensualité', 'bud_prev_joint_account' => 'Cpt Commun', 'bud_prev_func_expenses' => 'Frais Func.', 'bud_prev_perso_savings' => 'Eco Perso', 'bud_prev_family_savings' => 'Eco Family', 'bud_prev_available' => 'Dispo', 'bud_prev_perso_remaining' => 'Restant Perso', 'bud_prev_budget_alloc' => 'Répartition Budgétaire', 'bud_prev_today' => 'Auj.', 'bud_prev_new_line' => 'Nouvelle Ligne', 'bud_prev_remaining' => 'Restant', 'bud_prev_confirm_del_line' => 'Supprimer cette ligne et tout son historique ?', 'bud_prev_notes_for' => 'Notes pour', 'bud_prev_saved' => 'Enregistré', 'bud_prev_notes_ph' => 'Écrivez vos remarques, rappels ou commentaires pour ce mois ici...', 'bud_prev_save_note' => 'Enregistrer la note', 'bud_prev_transfers_to_make' => 'Virements à effectuer', 'bud_prev_destination' => 'Destination', 'bud_prev_done' => 'FAIT', 'bud_prev_validate' => 'Valider', 'bud_prev_grand_total' => 'GRAND TOTAL', 'bud_prev_new_line_title' => 'Nouvelle Ligne de Budget', 'bud_prev_edit_line_title' => 'Modifier la ligne', 'bud_prev_label_target' => 'Cible (Destination)', 'bud_prev_choose' => 'Choisir', 'bud_prev_link_holiday' => 'Lier à un voyage (Optionnel)', 'bud_prev_no_link' => 'Ne pas associer', 'bud_prev_err_no_history' => 'Impossible : pas d\'historique disponible pour copier.', 'bud_prev_confirm_copy' => "Voulez-vous copier les données de %s vers %t ?\n\n⚠️ Cela écrasera toutes les valeurs déjà présentes pour %t.", 'bud_prev_confirm_transfers' => "Confirmer que %p a bien effectué tous ses virements pour %m ?\n\nCela mettra à jour l'Épargne automatiquement.", 'bud_sav_modal_title_add' => 'Saisir un mois', 'bud_sav_ph_name' => 'Nom (ex: Vacances)', 'bud_prev_label_name' => 'Nom', // ========================================== // CADEAUX (GIFTS) // ========================================== 'gift_page_title' => 'HouseHub - Liste de cadeaux', 'gift_occ_tio' => 'Tió', 'gift_occ_noel' => 'Noël', 'gift_occ_rois' => 'Rois mages', 'gift_occ_anniv' => 'Anniversaire', 'gift_occ_sant' => 'Saint', 'gift_main_title' => 'Liste de cadeaux %s', 'gift_aria_change_view' => 'Changer la vue', 'gift_view_nadal' => 'Noël', 'gift_view_anniv' => 'Anniversaires', 'gift_view_by_party' => 'Vue par fête', 'gift_no_gifts' => 'Aucun cadeau enregistré pour %s dans cette vue.', 'gift_add_gift' => 'Ajouter un cadeau', 'gift_paid_by' => 'payé par %s', 'gift_summary_title' => 'Résumé du budget', 'gift_col_adult' => 'Adulte', 'gift_col_child' => 'Enfant', 'gift_col_party' => 'Fête', 'gift_debtor' => 'Débiteur', 'gift_creditor' => 'Créancier', 'gift_liquidations' => 'Tricount', 'gift_no_debt' => 'Aucune dette en cours.', 'gift_owes' => 'doit', 'gift_to' => 'à', 'gift_detailed_list' => 'Liste détaillée des cadeaux', 'gift_col_gift' => 'Cadeau', 'gift_col_link' => 'Lien', 'gift_modal_title_add' => 'Ajouter un cadeau pour %s', 'gift_modal_title_edit' => 'Modifier le cadeau', 'gift_modal_payer' => 'Payé par', 'gift_modal_gift_name' => 'Nom du cadeau', 'gift_modal_ph_name' => 'ex: Lego Star Wars', 'gift_modal_price' => 'Prix (€)', 'gift_modal_link' => 'Lien (optionnel)', 'gift_confirm_delete' => 'Voulez-vous vraiment supprimer ce cadeau ?', 'gift_filter_all_children' => 'Tous les enfants', 'gift_filter_all_adults' => 'Tous les adultes', 'gift_empty_state_no_gifts' => 'Aucun cadeau pour le moment.', 'gift_empty_state_no_filter' => 'Aucun cadeau ne correspond au filtre.', 'gift_view_matrix' => 'Voir la matrice détaillée', // ========================================== // GARAGE MANAGER // ========================================== 'menu_garage' => 'Garage', 'garage_page_title' => 'HouseHub - Garage', 'garage_stat_vehicles' => 'Véhicules', 'garage_stat_maintenances' => 'Entretiens', 'garage_stat_parts' => 'Pièces', 'garage_stat_cost' => 'Coût total', 'garage_my_vehicles' => 'Mes véhicules', 'garage_reminders' => 'Rappels & prochains entretiens', 'garage_vehicles_title' => 'Mes véhicules', 'garage_all_parts' => 'Toutes les pièces', 'garage_parts_count' => 'pièces', 'garage_maintenances' => 'Entretiens', 'garage_parts' => 'Pièces', 'garage_add' => 'Ajouter', 'garage_add_vehicle' => 'Ajouter un véhicule', 'garage_add_maintenance' => 'Ajouter un entretien', 'garage_add_part' => 'Ajouter une pièce', 'garage_vehicle_name' => 'Nom du véhicule', 'garage_brand' => 'Marque', 'garage_model' => 'Modèle', 'garage_year' => 'Année', 'garage_plate' => 'Immatriculation', 'garage_fuel' => 'Carburant', 'garage_km' => 'Kilométrage actuel', 'garage_color' => 'Couleur', 'garage_purchase_date' => 'Date d\'achat', 'garage_purchase_price' => 'Prix d\'achat (€)', 'garage_photo' => 'Photo', 'garage_notes' => 'Notes', 'garage_maint_type' => 'Type d\'entretien', 'garage_date' => 'Date', 'garage_km_at' => 'Kilométrage au moment', 'garage_labor_cost' => 'Coût main d\'œuvre (€)', 'garage_description' => 'Description', 'garage_mechanic' => 'Mécanicien', 'garage_garage' => 'Garage / Atelier', 'garage_next_reminder' => 'Prochain entretien (rappel)', 'garage_next_date' => 'Date prévue', 'garage_next_km' => 'Kilométrage prévu', 'garage_part_name' => 'Nom de la pièce', 'garage_category' => 'Catégorie', 'garage_reference' => 'Référence', 'garage_unit_price' => 'Prix unitaire (€)', 'garage_quantity' => 'Quantité', 'garage_unit' => 'Unité', 'garage_supplier' => 'Fournisseur', 'garage_change_photo' => 'Changer la photo', 'garage_new_photo' => 'Nouvelle photo', 'garage_update_photo' => 'Mettre à jour', ];