﻿{
    "nav.tickets": "Tickets",
    "nav.tickets_unread": "{{n}} réponse(s) du support non lue(s)",
    "home.badge_sale": "PROMO",
    "contact.guest_h2": "Connexion requise",
    "contact.guest_sub": "Pour ouvrir un ticket d'assistance et suivre la conversation, connectez-vous ou créez un compte gratuit.",
    "contact.new_ticket_h2": "Ouvrir un nouveau ticket",
    "contact.new_ticket_sub": "Dites-nous de quoi vous avez besoin. Nous vous répondrons sur le site.",
    "contact.subject": "Objet",
    "contact.ph_subject": "Brève description de votre question",
    "contact.btn_open_ticket": "Ouvrir un ticket",
    "contact.last_update": "Dernière mise à jour",
    "contact.btn_view": "Voir",
    "contact.see_my_tickets_hint": "La liste de vos tickets se trouve dans ",
    "contact.see_my_tickets_link": "Mon compte",
    "contact.status_open": "Ouvert",
    "contact.status_closed": "Fermé",
    "contact.status_waiting_admin": "En attente du support",
    "contact.status_reply_received": "Réponse reçue",
    "contact.unread_replies": "{{n}} nouvelle réponse du support.",
    "contact.ok_opened": "Votre ticket a été ouvert. Nous vous répondrons dès que possible.",
    "contact.err_csrf": "Jeton de sécurité invalide. Veuillez recharger la page et réessayer.",
    "contact.err_subject_long": "L'objet est trop long (max. {{max}} caractères).",
    "contact.err_message_long": "Votre message est trop long (max. {{max}} caractères).",
    "contact.err_save": "Impossible d'enregistrer votre message. Veuillez réessayer plus tard.",
    "contact.err_max_open": "Vous avez déjà {{max}} tickets ouverts. Veuillez attendre une réponse ou en fermer un avant d'en ouvrir un nouveau.",
    "contact.err_cooldown_open": "Veuillez patienter {{seconds}} secondes avant d'ouvrir un autre ticket.",
    "contact.err_cooldown_reply": "Veuillez patienter {{seconds}} secondes avant d'envoyer une autre réponse.",
    "ticket.kicker": "Ticket d'assistance",
    "ticket.title_prefix": "Ticket",
    "ticket.not_found": "Ticket introuvable",
    "ticket.not_found_sub": "Ce ticket n'existe pas ou ne vous appartient pas.",
    "ticket.opened_at": "Ouvert",
    "ticket.status": "Statut",
    "ticket.from_support": "Support",
    "ticket.from_you": "Vous",
    "ticket.your_reply": "Votre réponse",
    "ticket.reply_label": "Saisissez votre réponse",
    "ticket.reply_ph": "Écrivez votre message…",
    "ticket.send_reply": "Envoyer la réponse",
    "ticket.closed_note": "Ce ticket est fermé. Si vous avez encore besoin d'aide, veuillez ouvrir un nouveau ticket.",
    "ticket.btn_back_account": "Retour à mes tickets",
    "ticket.ok_reply_sent": "Réponse envoyée.",
    "ticket.err_closed": "Ce ticket est fermé et n'accepte plus de réponses.",
    "admin_ticket.back_list": "Retour aux tickets",
    "admin_ticket.panel_h2": "Gérer le ticket",
    "admin_ticket.panel_sub": "Répondez au client ou clôturez le ticket lorsque sa demande est entièrement traitée.",
    "admin_ticket.section_reply": "Réponse",
    "admin_ticket.section_actions": "Actions sur le ticket",
    "admin_ticket.actions_intro_open": "Marquez-le comme résolu lorsque la demande est entièrement traitée. Le client verra le ticket comme fermé et ne pourra plus répondre. Supprimez-le définitivement si vous n'avez plus besoin de l'historique.",
    "admin_ticket.actions_intro_closed": "Ce ticket est résolu. Vous pouvez le rouvrir si le client a encore besoin d'aide, ou le supprimer définitivement.",
    "admin_ticket.from": "De",
    "admin_ticket.opened": "Ouvert",
    "admin_ticket.status_label": "Statut",
    "admin_ticket.status_open": "Ouvert",
    "admin_ticket.status_closed": "Terminé (fermé)",
    "admin_ticket.reply_heading": "Répondre au client",
    "admin_ticket.reply_label": "Votre réponse",
    "admin_ticket.reply_ph": "Saisissez votre réponse au client…",
    "admin_ticket.send_reply": "Envoyer la réponse",
    "admin_ticket.closed_hint": "Ce ticket est fermé. Rouvrez-le si le client a encore besoin d'aide.",
    "admin_ticket.support_you": "Support (vous)",
    "admin_ticket.not_found_title": "Ticket introuvable",
    "admin_ticket.not_found_back": "Retour aux tickets",
    "admin_ticket.resolve_heading": "Clôturer le ticket",
    "admin_ticket.resolve_intro_open": "Lorsque la demande du client est entièrement traitée, marquez le ticket comme résolu. Le client le verra comme fermé. Vous pourrez supprimer le ticket plus tard si vous n'avez plus besoin de l'historique.",
    "admin_ticket.btn_mark_completed": "Marquer comme résolu pour le client",
    "admin_ticket.btn_delete": "Supprimer le ticket définitivement",
    "admin_ticket.resolve_intro_closed": "Ce ticket est déjà marqué comme résolu. Vous pouvez le rouvrir ou le supprimer définitivement.",
    "admin_ticket.btn_reopen": "Rouvrir le ticket",
    "admin_ticket.confirm_mark_completed": "Marquer ce ticket comme résolu ? Le client ne pourra plus répondre.",
    "admin_ticket.confirm_delete": "Supprimer définitivement ce ticket et tous les messages ? Cette action est irréversible.",
    "admin_ticket.ok_replied": "Réponse envoyée.",
    "admin_ticket.err_closed": "Ce ticket est fermé. Rouvrez-le pour envoyer une réponse.",
    "admin_ticket.err_body": "Veuillez saisir un message valide.",
    "admin_ticket.err_save": "Impossible d'enregistrer votre réponse. Réessayez.",
    "admin_ticket.ok_completed": "Ticket marqué comme résolu pour le client.",
    "admin_ticket.ok_reopened": "Ticket rouvert.",
    "admin_ticket.ok_deleted": "Ticket supprimé définitivement.",
    "admin_tickets.filter_closed": "Terminé (fermé)",
    "admin.dashboard.username_fallback": "Admin",
    "admin.upload_failed": "{{label}} : échec du téléversement. Vérifiez la taille du fichier et réessayez.",
    "admin.ptitle.templates": "Gérer les modèles",
    "admin.ptitle.add_template": "Ajouter un modèle",
    "admin.ptitle.edit_template": "Modifier le modèle",
    "admin.ptitle.orders": "Commandes",
    "admin.ptitle.tickets": "Tickets d'assistance",
    "admin.ptitle.sales": "Ventes",
    "admin.ptitle.visitors": "Visiteurs",
    "admin.ptitle.categories": "Catégories",
    "admin.ptitle.edit_category": "Modifier la catégorie",
    "admin.common.apply": "Appliquer",
    "admin.common.reset": "Réinitialiser",
    "admin.common.reset_filters": "Réinitialiser les filtres",
    "admin.common.edit": "Modifier",
    "admin.common.delete": "Supprimer",
    "admin.common.open": "Ouvrir",
    "admin.common.add": "Ajouter",
    "admin.common.save": "Enregistrer",
    "admin.common.save_changes": "Enregistrer les modifications",
    "admin.common.back_admin": "Retour à l'administration",
    "admin.common.back_templates": "Retour aux modèles",
    "admin.common.back_categories": "Retour aux catégories",
    "admin.common.admin_badge": "Admin",
    "admin.common.catalog_badge": "Catalogue",
    "admin.common.revenue_badge": "Chiffre d'affaires",
    "admin.common.traffic_badge": "Trafic",
    "admin.templates.hero_h1": "Gérer les modèles",
    "admin.templates.hero_sub": "Ajoutez, modifiez et gérez vos produits.",
    "admin.templates.btn_add": "Ajouter un modèle",
    "admin.templates.btn_manage_cat": "Gérer les catégories",
    "admin.templates.search_ph": "Rechercher par titre ou identifiant d'URL",
    "admin.templates.status_all": "Tous les statuts",
    "admin.templates.status_active": "Actif",
    "admin.templates.status_inactive": "Inactif",
    "admin.templates.cat_all": "Toutes les catégories",
    "admin.templates.empty": "Aucun modèle ne correspond aux filtres actuels.",
    "admin.templates.th_id": "ID",
    "admin.templates.th_title": "Titre",
    "admin.templates.th_category": "Catégorie",
    "admin.templates.th_slug": "Slug",
    "admin.templates.th_price": "Prix",
    "admin.templates.th_status": "Statut",
    "admin.templates.th_created": "Créé le",
    "admin.templates.th_actions": "Actions",
    "admin.templates.badge_active": "Actif",
    "admin.templates.badge_inactive": "Inactif",
    "admin.templates.confirm_delete": "Supprimer ce modèle ?",
    "admin.orders.hero_kicker": "Admin",
    "admin.orders.hero_h1": "Commandes",
    "admin.orders.hero_sub": "Toutes les commandes clients. Marquer comme payées, annuler les en attente ou supprimer les commandes terminées.",
    "admin.orders.search_ph": "Rechercher par utilisateur, e-mail ou modèle",
    "admin.orders.filter_all": "Toutes ({{n}})",
    "admin.orders.filter_pending": "En attente ({{n}})",
    "admin.orders.filter_paid": "Payées ({{n}})",
    "admin.orders.empty": "Aucune commande ne correspond aux filtres actuels.",
    "admin.orders.th_num": "#",
    "admin.orders.th_customer": "Client",
    "admin.orders.th_template": "Modèle",
    "admin.orders.th_price": "Prix",
    "admin.orders.th_status": "Statut",
    "admin.orders.th_date": "Date",
    "admin.orders.th_actions": "Actions",
    "admin.orders.status_paid": "payée",
    "admin.orders.status_pending": "en attente",
    "admin.orders.btn_mark_paid": "Marquer payée",
    "admin.orders.btn_cancel": "Annuler",
    "admin.orders.btn_delete": "Supprimer",
    "admin.orders.confirm_mark_paid": "Marquer cette commande comme PAYÉE ?",
    "admin.orders.confirm_cancel": "Annuler et supprimer cette commande en attente ?",
    "admin.orders.confirm_delete_paid": "Supprimer définitivement cette commande PAYÉE ? Le jeton de téléchargement sera également supprimé.",
    "admin.tickets_page.hero_h1": "Tickets d'assistance",
    "admin.tickets_page.waiting_one": "{{n}} ticket en attente de votre réponse.",
    "admin.tickets_page.waiting_many": "{{n}} tickets en attente de votre réponse.",
    "admin.tickets_page.caught_up": "Vous êtes à jour.",
    "admin.tickets_page.search_ph": "Rechercher par utilisateur, e-mail ou objet",
    "admin.tickets_page.filter_awaiting": "En attente de réponse",
    "admin.tickets_page.filter_open": "Tous les ouverts",
    "admin.tickets_page.filter_all": "Tous",
    "admin.tickets_page.empty": "Aucun ticket ne correspond aux filtres actuels.",
    "admin.tickets_page.th_id": "ID",
    "admin.tickets_page.th_user": "Utilisateur",
    "admin.tickets_page.th_subject": "Objet",
    "admin.tickets_page.th_status": "Statut",
    "admin.tickets_page.th_last_reply": "Dernière réponse",
    "admin.tickets_page.th_updated": "Mis à jour",
    "admin.tickets_page.th_actions": "Actions",
    "admin.tickets_page.status_waiting": "En attente de réponse",
    "admin.tickets_page.status_replied": "Répondu",
    "admin.tickets_page.last_admin": "Admin",
    "admin.tickets_page.last_user": "Utilisateur",
    "admin.tickets_page.last_dash": "—",
    "admin.sales_page.hero_kicker": "Chiffre d'affaires",
    "admin.sales_page.hero_h1": "Ventes",
    "admin.sales_page.hero_sub": "Chiffre d'affaires mensuel, modèles les plus vendus et performance globale des ventes.",
    "admin.sales_page.stat_this_month": "Ce mois-ci",
    "admin.sales_page.stat_vs_last": "par rapport au mois dernier",
    "admin.sales_page.stat_last_month": "Mois dernier",
    "admin.sales_page.stat_all_time": "Chiffre d'affaires total",
    "admin.sales_page.stat_paid_orders": "{{n}} commandes payées",
    "admin.sales_page.stat_pending": "Commandes en attente",
    "admin.sales_page.stat_awaiting": "en attente de paiement",
    "admin.sales_page.chart_kicker": "6 derniers mois",
    "admin.sales_page.chart_h3": "Chiffre d'affaires mensuel",
    "admin.sales_page.chart_aria": "Chiffre d'affaires mensuel sur les 6 derniers mois",
    "admin.sales_page.bar_orders_one": "{{n}} commande",
    "admin.sales_page.bar_orders_many": "{{n}} commandes",
    "admin.sales_page.top_kicker": "Depuis l'origine",
    "admin.sales_page.top_h3": "Modèles les plus vendus",
    "admin.sales_page.top_empty": "Aucune commande payée pour l'instant.",
    "admin.visitors_page.hero_kicker": "Trafic",
    "admin.visitors_page.hero_h1": "Visiteurs du site",
    "admin.visitors_page.hero_sub": "Statistiques de visiteurs réels pour votre boutique. Les robots et vos propres visites administrateur sont exclus.",
    "admin.visitors_page.chart_kicker": "7 derniers jours",
    "admin.visitors_page.chart_h3": "Visiteurs uniques",
    "admin.visitors_page.chart_aria": "Visiteurs uniques par jour sur les 7 derniers jours",
    "admin.visitors_page.lbl_today": "Aujourd'hui",
    "admin.visitors_page.lbl_this_month": "Ce mois-ci",
    "admin.visitors_page.lbl_views_today": "Vues aujourd'hui",
    "admin.visitors_page.lbl_total_views": "Vues au total",
    "admin.visitors_page.bar_views_one": "{{n}} vue",
    "admin.visitors_page.bar_views_many": "{{n}} vues",
    "admin.visitors_page.top_pages_kicker": "30 derniers jours",
    "admin.visitors_page.top_pages_h3": "Pages les plus visitées",
    "admin.visitors_page.top_ref_kicker": "30 derniers jours",
    "admin.visitors_page.top_ref_h3": "Principales sources de trafic",
    "admin.visitors_page.empty_data": "Pas encore de données.",
    "admin.visitors_page.empty_ref": "Pas encore de référents externes.",
    "admin.visitors_page.path_home": "\/ (accueil)",
    "admin.visitors_page.meta_visitors": "{{n}} visiteurs",
    "admin.visitors_page.meta_visits": "visites",
    "admin.categories.hero_kicker": "Catalogue",
    "admin.categories.hero_h1": "Catégories",
    "admin.categories.hero_sub": "Regroupez vos produits (modèles, boutiques prêtes à l'emploi, blogs, etc.). Les catégories vides sont masquées dans la boutique.",
    "admin.categories.panel_add_h3": "Ajouter une catégorie",
    "admin.categories.ph_name": "Nom affiché",
    "admin.categories.ph_slug": "Identifiant d'URL (ex. : boutiques-en-ligne)",
    "admin.categories.ph_sort": "Ordre d'affichage",
    "admin.categories.th_id": "ID",
    "admin.categories.th_name": "Nom",
    "admin.categories.th_slug": "Slug",
    "admin.categories.th_products": "Produits",
    "admin.categories.th_sort": "Ordre",
    "admin.categories.th_actions": "Actions",
    "admin.categories.confirm_delete": "Supprimer cette catégorie ?",
    "admin.categories.err_in_use": "Suppression impossible : cette catégorie contient encore des produits. Déplacez-les d'abord.",
    "admin.categories.err_name_slug": "Le nom et un identifiant d'URL valide (lettres minuscules, chiffres, traits d'union) sont requis.",
    "admin.categories.err_slug_taken": "Cet identifiant d'URL est déjà utilisé.",
    "admin.categories.err_add": "Impossible d'ajouter la catégorie.",
    "admin.categories.msg_added": "Catégorie ajoutée.",
    "admin.cat_edit.hero_h1": "Modifier la catégorie",
    "admin.cat_edit.label_name": "Nom",
    "admin.cat_edit.label_slug": "Slug",
    "admin.cat_edit.label_sort": "Ordre d'affichage",
    "admin.cat_edit.err_name_slug": "Le nom et un identifiant d'URL valide sont requis.",
    "admin.cat_edit.err_slug_taken": "Cet identifiant d'URL est déjà utilisé.",
    "admin.cat_edit.msg_saved": "Enregistré.",
    "admin.form.label_category": "Catégorie",
    "admin.form.ph_title": "Titre",
    "admin.form.ph_slug": "Identifiant d'URL (exemple : obsidian)",
    "admin.form.ph_short": "Description courte",
    "admin.form.ph_full": "Description complète",
    "admin.form.ph_price": "Prix de vente (actuel)",
    "admin.form.ph_compare": "Prix barré (facultatif, supérieur au prix de vente)",
    "admin.form.label_compare": "Prix barré (facultatif — doit être supérieur au prix de vente pour afficher une remise)",
    "admin.form.ph_compare_edit": "ex. : 50,00",
    "admin.form.ph_demo": "URL de démo",
    "admin.form.label_cover": "Image de couverture",
    "admin.form.label_preview": "Image d'aperçu",
    "admin.form.label_download": "Fichier à télécharger",
    "admin.form.label_current_cover": "Image de couverture actuelle",
    "admin.form.label_upload_cover": "Téléverser une nouvelle image de couverture",
    "admin.form.alt_cover": "Image de couverture actuelle",
    "admin.form.label_current_preview": "Image d'aperçu actuelle",
    "admin.form.label_upload_preview": "Téléverser une nouvelle image d'aperçu",
    "admin.form.alt_preview": "Image d'aperçu actuelle",
    "admin.form.label_current_download": "Fichier à télécharger actuel",
    "admin.form.label_upload_download": "Téléverser un nouveau fichier à télécharger",
    "admin.form.cb_featured": "À la une",
    "admin.form.cb_active": "Actif",
    "admin.form.upload_label_cover": "Image de couverture",
    "admin.form.upload_label_preview": "Image d'aperçu",
    "admin.form.upload_label_download": "Fichier à télécharger",
    "admin.add_tpl.hero_h1": "Ajouter un modèle",
    "admin.add_tpl.hero_sub": "Créez un nouveau produit pour la boutique.",
    "admin.add_tpl.btn_submit": "Ajouter le modèle",
    "admin.edit_tpl.hero_h1": "Modifier le modèle",
    "admin.edit_tpl.hero_sub": "Mettre à jour les informations produit.",
    "admin.err.no_categories_for_product": "Ajoutez au moins une catégorie avant de créer un produit.",
    "admin.err.title_slug_price": "Le titre, l'identifiant d'URL et un prix valide sont requis.",
    "admin.err.compare_gt_price": "Le prix barré doit être supérieur au prix de vente, ou laissez-le vide.",
    "admin.err.invalid_category": "Veuillez choisir une catégorie valide.",
    "admin.err.no_categories_db": "Aucune catégorie dans la base de données.",
    "admin.msg.template_added": "Modèle ajouté avec succès.",
    "admin.msg.template_updated": "Modèle mis à jour avec succès.",
    "admin.err.template_not_found": "Modèle introuvable.",
    "admin.err.category_not_found": "Catégorie introuvable.",
    "admin_ticket.plain_not_found": "Ticket introuvable.",
    "account.tickets_h2": "Mes tickets",
    "account.tickets_sub": "Vos conversations passées et en cours avec le support.",
    "account.tickets_open_btn": "Ouvrir un nouveau ticket",
    "account.profile_tickets_hint": "Ouvre la page d'assistance où vous pouvez rédiger un nouveau ticket.",
    "account.profile_my_tickets_btn": "Mes tickets",
    "account.tickets_history_h2": "Historique des tickets",
    "account.tickets_none": "Vous n'avez pas encore de tickets.",
    "product.discount_badge": "{{pct}} % de réduction",
    "product.discount_pct": "{{pct}} %",
    "admin.action.ads_desc": "Bannières partenaires par zone de page. Seules les annonces actives apparaissent sur la boutique (pas dans l’admin).",
    "admin.action.ads_title": "Annonces du site",
    "admin.action.promo_desc": "Modifier la ligne d’offre défilante et le libellé du lien au-dessus du logo (par langue).",
    "admin.action.promo_title": "Barre promo",
    "admin.action.support_scope_desc": "Le conteneur « ce que nous offrons \/ ce que nous n’offrons pas » sur la page Contact (par langue).",
    "admin.action.support_scope_title": "Encadré politique de contact",
    "admin.add_tpl.preview_cover": "Couverture — fichier sélectionné",
    "admin.add_tpl.preview_download": "Téléchargement — fichier sélectionné",
    "admin.add_tpl.preview_gallery_1": "Galerie 1 — fichier sélectionné",
    "admin.add_tpl.preview_gallery_2": "Galerie 2 — fichier sélectionné",
    "admin.add_tpl.preview_gallery_3": "Galerie 3 — fichier sélectionné",
    "admin.add_tpl.preview_hint": "Après avoir choisi un fichier, un aperçu s’affiche ci-dessous — rien n’est enregistré tant que vous n’avez pas cliqué sur le bouton.",
    "admin.add_tpl.preview_preview": "Aperçu — fichier sélectionné",
    "admin.add_tpl.section_gallery": "Facultatif : trois captures supplémentaires pour la rangée de vignettes sur la page produit (gauche \/ centre \/ droite).",
    "admin.ads.add_h1": "Ajouter une annonce",
    "admin.ads.add_sub": "Téléversez une image bannière et choisissez où elle apparaît sur le site public.",
    "admin.ads.back_list": "Retour à la liste des annonces",
    "admin.ads.badge_expired": "Expiré",
    "admin.ads.badge_live": "En ligne",
    "admin.ads.badge_off": "Non",
    "admin.ads.badge_on": "Oui",
    "admin.ads.badge_scheduled": "Planifié",
    "admin.ads.btn_activate": "Activer",
    "admin.ads.btn_add": "Ajouter une annonce",
    "admin.ads.btn_deactivate": "Désactiver",
    "admin.ads.btn_save": "Enregistrer l’annonce",
    "admin.ads.cb_active": "Actif — afficher sur le site en ligne",
    "admin.ads.confirm_delete": "Supprimer cette annonce ?",
    "admin.ads.dropzone_hint": "JPG, PNG ou WebP — cliquez ou glissez ici",
    "admin.ads.edit_h1": "Modifier l’annonce",
    "admin.ads.edit_sub": "Mettre à jour l’image, le lien, l’emplacement ou l’activation.",
    "admin.ads.empty": "Aucune annonce pour l’instant. Ajoutez-en une et activez-la quand vous êtes prêt.",
    "admin.ads.err_dates_invalid": "Saisissez des dates valides (AAAA-MM-JJ) ou laissez les champs vides.",
    "admin.ads.err_dates_range": "« Afficher à partir du » doit être antérieur ou égal à « Afficher jusqu’au ».",
    "admin.ads.err_db": "Impossible d’enregistrer en base. Sur une nouvelle installation, importez sql\/shop.sql.",
    "admin.ads.err_image": "Veuillez téléverser une image bannière (JPG, PNG ou WebP).",
    "admin.ads.err_internal": "Le nom interne est obligatoire.",
    "admin.ads.err_not_found": "Annonce introuvable.",
    "admin.ads.err_placement": "Emplacement invalide.",
    "admin.ads.err_schedule_columns": "Exécutez sql\/shop.sql dans phpMyAdmin pour activer les périodes d’affichage.",
    "admin.ads.err_table_missing": "La table site_ads est absente. Importez sql\/shop.sql dans phpMyAdmin, puis rechargez.",
    "admin.ads.err_url": "Saisissez une URL valide (https:\/\/…) ou un lien interne comme templates.php.",
    "admin.ads.hero_kicker": "Monétisation",
    "admin.ads.hint_active": "Les annonces inactives sont enregistrées mais jamais affichées aux visiteurs.",
    "admin.ads.hint_image_keep": "Laissez vide pour conserver l’image actuelle.",
    "admin.ads.hint_placement": "Sous l’en-tête et au-dessus du pied de page : jusqu’à trois annonces actives côte à côte (empilées sur mobile). Après la une : accueil uniquement, une colonne.",
    "admin.ads.hint_schedule": "Laissez les deux vides pour afficher à tout moment tant que l’annonce est active. Renseignez uniquement « jusqu’au » pour une date de fin fixe, ou les deux pour une plage (inclusive). Hors plage, les visiteurs ne verront pas l’annonce même si elle est active.",
    "admin.ads.label_alt": "Texte alternatif de l’image (accessibilité)",
    "admin.ads.label_current_image": "Chemin de l’image actuelle",
    "admin.ads.label_image": "Image bannière",
    "admin.ads.label_image_new": "Remplacer l’image (facultatif)",
    "admin.ads.label_internal": "Nom interne (pour vous uniquement)",
    "admin.ads.label_placement": "Emplacement sur le site",
    "admin.ads.label_show_from": "Afficher à partir du (premier jour, facultatif)",
    "admin.ads.label_show_until": "Afficher jusqu’au (dernier jour, facultatif)",
    "admin.ads.label_sort": "Ordre de tri (plus petit = en premier)",
    "admin.ads.label_url": "URL cible",
    "admin.ads.list_h1": "Annonces du site",
    "admin.ads.list_sub": "Créez des bannières pour différents emplacements. Elles restent masquées jusqu’à activation.",
    "admin.ads.map_aria": "Disposition de la page : où apparaît chaque emplacement d’annonce",
    "admin.ads.map_content": "Contenu principal (différent sur chaque page)",
    "admin.ads.map_footer": "Pied de page",
    "admin.ads.map_header": "En-tête du site (logo + menu)",
    "admin.ads.map_home_only": "Sur la page d’accueil uniquement, sous les modèles en vedette :",
    "admin.ads.map_meta_above_triple": "Jusqu’à 3 en ligne · recommandé 380×120 px chacune · max. {{max}} Mo",
    "admin.ads.map_meta_all_pages": "Visible sur chaque page publique",
    "admin.ads.map_meta_below_triple": "Jusqu’à 3 en ligne · recommandé 380×120 px chacune · max. {{max}} Mo",
    "admin.ads.map_meta_home_single": "1 bannière · recommandé 520×168 px · max. {{max}} Mo",
    "admin.ads.map_promo": "Barre promo \/ annonce supérieure",
    "admin.ads.map_slot_above_footer": "Au-dessus du pied de page",
    "admin.ads.map_slot_below": "Sous l’en-tête",
    "admin.ads.map_slot_home": "Après le bloc des modèles en vedette",
    "admin.ads.map_slot_kicker": "Emplacement publicitaire",
    "admin.ads.map_title": "Disposition de la page (de haut en bas)",
    "admin.ads.msg_added": "Annonce enregistrée.",
    "admin.ads.msg_saved": "Modifications enregistrées.",
    "admin.ads.msg_toggle": "Activation mise à jour.",
    "admin.ads.place_global_above_footer": "Au-dessus du pied de page — jusqu’à 3 annonces en ligne (toutes les pages publiques)",
    "admin.ads.place_global_below_header": "Sous l’en-tête — jusqu’à 3 annonces en ligne (toutes les pages publiques)",
    "admin.ads.place_home_after_featured": "Accueil — après les modèles en vedette",
    "admin.ads.schedule_always": "Sans limite de date",
    "admin.ads.schedule_from": "À partir du {{from}}",
    "admin.ads.schedule_range": "{{from}} → {{until}}",
    "admin.ads.schedule_until": "Jusqu’au {{until}}",
    "admin.ads.section_banner": "Image bannière",
    "admin.ads.section_placement": "Emplacement",
    "admin.ads.section_publish": "Ordre, dates et statut",
    "admin.ads.section_target": "Lien et texte",
    "admin.ads.spec_image_config": "La limite de {{max}} Mo est définie dans includes\/config.php (UPLOAD_IMAGE_MAX_MB). PHP upload_max_filesize doit être au moins aussi élevé.",
    "admin.ads.spec_image_single": "Taille recommandée : 520×168 px (rétina 1040×336). Affichée jusqu’à ~520×168 px sur le site. Formats : JPG, PNG, WebP. Taille max. du fichier : {{max}} Mo.",
    "admin.ads.spec_image_triple": "Taille recommandée par bannière : 380×120 px (rétina 760×240). Affichée jusqu’à ~370×120 px sur le site. Formats : JPG, PNG, WebP. Taille max. du fichier : {{max}} Mo.",
    "admin.ads.th_actions": "Actions",
    "admin.ads.th_active": "Actif",
    "admin.ads.th_id": "ID",
    "admin.ads.th_name": "Nom interne",
    "admin.ads.th_placement": "Emplacement",
    "admin.ads.th_schedule": "Période d’affichage",
    "admin.ads.th_sort": "Tri",
    "admin.ads.upload_label": "Image bannière",
    "admin.edit_tpl.clear_new_aria": "Retirer le fichier sélectionné (pas encore enregistré)",
    "admin.edit_tpl.files_help": "Choisissez un fichier pour l’aperçu. Cochez « Supprimer… » pour effacer un fichier enregistré à l’enregistrement.",
    "admin.edit_tpl.path_stored": "Enregistré",
    "admin.edit_tpl.remove_saved_aria": "Marquer pour suppression à l’enregistrement — cliquez à nouveau pour annuler",
    "admin.edit_tpl.section_basic": "Détails du produit",
    "admin.edit_tpl.section_download": "Fichier de téléchargement",
    "admin.edit_tpl.section_gallery": "Vignettes de galerie",
    "admin.edit_tpl.section_media": "Images de couverture et d’aperçu",
    "admin.edit_tpl.section_options": "Visibilité",
    "admin.form.cb_remove_cover": "Supprimer l’image de couverture actuelle",
    "admin.form.cb_remove_download": "Supprimer le fichier de téléchargement actuel",
    "admin.form.cb_remove_gallery_1": "Supprimer l’image galerie 1",
    "admin.form.cb_remove_gallery_2": "Supprimer l’image galerie 2",
    "admin.form.cb_remove_gallery_3": "Supprimer l’image galerie 3",
    "admin.form.cb_remove_preview": "Supprimer l’image d’aperçu actuelle",
    "admin.form.label_compare_short": "Prix barré (facultatif)",
    "admin.form.label_current_gallery_1": "Image galerie 1 actuelle",
    "admin.form.label_current_gallery_2": "Image galerie 2 actuelle",
    "admin.form.label_current_gallery_3": "Image galerie 3 actuelle",
    "admin.form.label_demo_url": "URL de démo",
    "admin.form.label_full_desc": "Description complète",
    "admin.form.label_gallery_1": "Image galerie 1 (page produit — vignette gauche)",
    "admin.form.label_gallery_2": "Image galerie 2 (page produit — vignette centrale)",
    "admin.form.label_gallery_3": "Image galerie 3 (page produit — vignette droite)",
    "admin.form.label_sale_price": "Prix de vente",
    "admin.form.label_short_desc": "Description courte",
    "admin.form.label_slug": "Slug",
    "admin.form.label_title": "Titre",
    "admin.form.label_upload_gallery_1": "Téléverser la nouvelle image galerie 1",
    "admin.form.label_upload_gallery_2": "Téléverser la nouvelle image galerie 2",
    "admin.form.label_upload_gallery_3": "Téléverser la nouvelle image galerie 3",
    "admin.form.remove_files_hint": "Les cases cochées suppriment le fichier enregistré à l’enregistrement (après une mise à jour réussie).",
    "admin.form.upload_label_gallery_1": "Image galerie 1",
    "admin.form.upload_label_gallery_2": "Image galerie 2",
    "admin.form.upload_label_gallery_3": "Image galerie 3",
    "admin.promo.btn_reset": "Effacer le texte personnalisé (cette langue)",
    "admin.promo.btn_save": "Enregistrer",
    "admin.promo.confirm_reset": "Effacer le texte promo personnalisé pour cette langue ?",
    "admin.promo.err_db": "Impossible d’enregistrer. Si la table est absente, importez sql\/shop.sql.",
    "admin.promo.err_table": "La table site_settings est absente. Importez sql\/shop.sql dans phpMyAdmin.",
    "admin.promo.hero_h1": "Barre promo supérieure",
    "admin.promo.hero_kicker": "Boutique",
    "admin.promo.hero_sub": "Contrôle l’annonce défilante et le lien à droite au-dessus de l’en-tête principal. Les valeurs sont enregistrées par langue active.",
    "admin.promo.hint_locale": "Édition pour la langue : {{lang}}",
    "admin.promo.label_link": "Libellé du lien",
    "admin.promo.label_marquee": "Texte défilant",
    "admin.promo.msg_reset": "Texte personnalisé supprimé pour cette langue — les valeurs par défaut des fichiers de langue sont à nouveau utilisées.",
    "admin.promo.msg_saved": "Enregistré.",
    "admin.ptitle.add_ad": "Ajouter une annonce",
    "admin.ptitle.ads": "Annonces du site",
    "admin.ptitle.edit_ad": "Modifier l’annonce",
    "admin.ptitle.promo_bar": "Barre promo",
    "admin.ptitle.support_scope": "Politique d’assistance (Contact)",
    "admin.ptitle.ticket_system": "Système de tickets",
    "admin.support_scope.btn_reset": "Effacer les textes personnalisés (cette langue)",
    "admin.support_scope.btn_save": "Enregistrer",
    "admin.support_scope.btn_view_contact": "Voir Contact",
    "admin.support_scope.confirm_reset": "Effacer tous les textes personnalisés pour cette langue ?",
    "admin.support_scope.foot_hint": "Les visiteurs voient actuellement : {{state}}",
    "admin.support_scope.hero_h1": "Politique d’assistance (conteneur)",
    "admin.support_scope.hero_kicker": "Contact",
    "admin.support_scope.hero_sub": "Modifier l’encadré d’information de la page Contact. Champ vide = valeur des fichiers de langue. Distinct du commutateur du système de tickets.",
    "admin.support_scope.hint_empty": "Les espaces réservés affichent la traduction actuelle. Enregistrez uniquement les champs à remplacer.",
    "admin.support_scope.hint_locale": "Langue d’édition : {{lang}} (changez la langue du site dans le menu avant d’enregistrer).",
    "admin.support_scope.label_bullet": "Puce",
    "admin.support_scope.label_foot_off": "Pied de page — tickets désactivés",
    "admin.support_scope.label_foot_on": "Pied de page — tickets activés",
    "admin.support_scope.label_no_title": "Sous-titre (gauche)",
    "admin.support_scope.label_title": "Titre",
    "admin.support_scope.label_yes_title": "Sous-titre (droite)",
    "admin.support_scope.link_settings": "Politique de contact",
    "admin.support_scope.msg_reset": "Textes personnalisés supprimés pour cette langue — les fichiers de langue sont à nouveau utilisés.",
    "admin.support_scope.msg_saved": "Politique enregistrée.",
    "admin.support_scope.preview_sub": "Apparence sur Contact après enregistrement (ou repli sur les fichiers de langue).",
    "admin.support_scope.preview_title": "Aperçu",
    "admin.support_scope.section_foot": "Ligne de pied de page (selon les tickets)",
    "admin.support_scope.section_main": "Titre de l’encadré",
    "admin.support_scope.section_no": "Colonne « Non proposé »",
    "admin.support_scope.section_yes": "Colonne « Nous acceptons »",
    "admin.support_scope.tickets_off": "variante « tickets désactivés »",
    "admin.support_scope.tickets_on": "variante « tickets activés »",
    "admin.templates.btn_ads": "Annonces du site",
    "admin.tickets_system.banner_off": "Désactivé pour les clients",
    "admin.tickets_system.banner_on": "Actif pour les clients",
    "admin.tickets_system.btn_disable": "Désactiver pour les clients",
    "admin.tickets_system.btn_enable": "Réactiver",
    "admin.tickets_system.confirm_disable": "Désactiver le système de tickets pour tous les clients ?",
    "admin.tickets_system.hero_h1": "Système de tickets clients",
    "admin.tickets_system.hero_kicker": "Assistance",
    "admin.tickets_system.hero_sub": "Désactivez lorsque vous n’acceptez plus de demandes sur le site. Les clients voient un court message ; les tickets admin restent disponibles.",
    "admin.tickets_system.link_settings": "Paramètres du système de tickets",
    "admin.tickets_system.msg_disabled": "Le système de tickets est désactivé pour les clients.",
    "admin.tickets_system.msg_enabled": "Le système de tickets est activé pour les clients.",
    "admin.tickets_system.preview_label": "Message visible par les clients :",
    "admin.tickets_system.status_off": "Désactivé — les clients ne voient qu’un message de pause.",
    "admin.tickets_system.status_on": "Activé — les clients peuvent ouvrir des tickets et répondre.",
    "admin.upload.complete": "Terminé",
    "admin.upload.err_auth": "Session expirée. Veuillez vous reconnecter.",
    "admin.upload.err_csrf": "Jeton de sécurité expiré. Rechargez la page et réessayez.",
    "admin.upload.err_forbidden": "Accès administrateur requis.",
    "admin.upload.failed": "Échec du téléversement",
    "admin.upload.html": "Le serveur a renvoyé une page au lieu de données. Rechargez la page, connectez-vous en tant qu’admin ou vérifiez les limites de téléversement PHP dans php.ini.",
    "admin.upload.invalid": "Réponse serveur inattendue.",
    "admin.upload.network": "Erreur réseau. Veuillez réessayer.",
    "admin.upload.processing": "Enregistrement sur le serveur…",
    "admin.upload.save_failed": "Impossible d’enregistrer. Vérifiez les données et réessayez.",
    "admin.upload.saved": "Enregistré avec succès.",
    "admin.upload.too_large": "Fichier trop volumineux pour le serveur. Augmentez upload_max_filesize et post_max_size dans php.ini.",
    "admin.upload.uploading": "Téléversement des fichiers…",
    "ads.slot_aria": "Publicité",
    "ads.sponsored": "Publicité",
    "contact.kicker": "Contact",
    "contact.ph_message": "Décrivez le problème de commande ou paiement. Si possible : n° de commande, date, ce que vous voyez dans le compte…",
    "contact.sub": "La boutique fonctionne normalement. Pas de support modèles ou sites ; tickets pour paiement, commandes et téléchargements uniquement.",
    "contact.title": "Achats, paiements et commandes",
    "footer.support_status": "Support modèles & sites : non proposé · tickets uniquement pour paiement, commande et téléchargement (sur le site).",
    "home.custom_work_soon_close": "Compris",
    "home.custom_work_soon_kicker": "Bientôt",
    "home.custom_work_soon_text": "Les projets personnalisés ne sont pas encore disponibles. Parcourez nos modèles prêts à l'emploi.",
    "home.custom_work_soon_title": "Travail sur mesure — bientôt",
    "home.hero_sub": "Maintenant : modèles jeux et serveurs. Bientôt : boutiques et portfolios. Design clair, lancement rapide, téléchargement immédiat après achat.",
    "home.hero_tag": "Modèles gaming & web",
    "home.hero_title": "Sites et modèles pour votre serveur, projet ou marque",
    "product.lightbox_close": "Fermer",
    "product.lightbox_next": "Suivant",
    "product.lightbox_open": "Agrandir l'image",
    "product.lightbox_prev": "Précédent",
    "product.self_service_notice": "Self-service : pas de support modèles ou sites (installation, configuration, modifications). Après achat — téléchargement ; pour paiement\/commande — ticket via Contact (après connexion).",
    "product.trust3": "Prêt au lancement",
    "rate_limit.banned": "Accès temporairement bloqué.",
    "rate_limit.bot": "Trop de requêtes. Réessayez plus tard.",
    "rate_limit.generic": "Trop de requêtes. Patientez un instant.",
    "register.err_rate_limit": "Trop de tentatives d'inscription. Réessayez plus tard.",
    "support.scope_no_1": "Installation, configuration, mise en ligne ou support continu d'un modèle\/site acheté.",
    "support.scope_no_2": "Modifications personnalisées du design, code, contenu ou serveur.",
    "support.scope_no_3": "Conseils « comment faire » — produit en self-service.",
    "support.scope_no_title": "Non proposé (modèles & sites)",
    "support.scope_tickets_off": "Tickets paiement\/commande temporairement désactivés. Le support modèles & sites n'est pas proposé dans tous les cas.",
    "support.scope_tickets_on": "Écrivez-nous via le ticket ci-dessous (après connexion). Réponse dans votre compte sur ce site — pas besoin d'e-mail.",
    "support.scope_title": "Ce que nous proposons ou non à ce stade",
    "support.scope_yes_1": "Paiement, commandes, Stripe\/reçus, accès au téléchargement.",
    "support.scope_yes_2": "Double débit, paiement échoué avec prélèvement, fichiers manquants après commande payée.",
    "support.scope_yes_title": "Nous traitons les demandes concernant (boutique uniquement)",
    "templates.card_hit_aria": "Ouvrir {{title}} — page produit",
    "templates.card_hover_cta": "Ouvrir",
    "tickets.system_paused_btn_store": "Voir la boutique",
    "tickets.system_paused_h2": "Support modèles & sites — non proposé",
    "tickets.system_paused_p1": "Template RuneFront vend des modèles web prêts à l'emploi en self-service. Après achat, fichiers téléchargeables selon la licence — la mise en place vous incombe ou à un prestataire\/hébergeur de votre choix.",
    "tickets.system_paused_p2": "À ce stade, pas de support modèles et sites : pas d'aide installation, serveur, design, code, « comment lancer », ni modifications sur mesure. La boutique et les téléchargements fonctionnent normalement.",
    "tickets.system_paused_p3": "Pour les problèmes de paiement, commande ou accès au téléchargement, nous utilisons en principe des tickets sur le site (après connexion). Ce canal est actuellement désactivé ; il sera annoncé ici lorsqu'il sera activé.",
    "tickets.system_paused_text": "Nous ne pouvons pas aider à l'installation, la configuration ou les modifications des modèles et sites achetés.",
    "meta.home": "Accueil",
    "meta.templates": "Niveaux scolaires",
    "meta.login": "Connexion",
    "meta.register": "Inscription",
    "meta.cart": "Panier",
    "nav.home": "Accueil",
    "nav.templates": "Modèles",
    "nav.login": "Connexion",
    "nav.register": "Inscription",
    "nav.cart": "Panier",
    "nav.logout": "Déconnexion",
    "lang.switch_label": "Langue",
    "footer.email_line": "E-mail : support@template-runefront.com",
    "footer.information": "Informations",
    "footer.terms": "Conditions d’utilisation",
    "footer.privacy": "Politique de Confidentialité",
    "footer.copyright": "© {{year}} {{site}}. Tous droits réservés.",
    "home.btn_contact": "Demander un travail personnalisé",
    "home.featured_sub": "Parcourez certaines des mises en page disponibles.",
    "promo.offer": "Offre nouvelle saison : jusqu'à 30 % de RÉDUCTION SUR certains modèles",
    "promo.browse_deals": "PARCOURIR LES OFFRES",
    "product.trust1": "Paiement sécurisé",
    "product.trust2": "Téléchargement immédiat.",
    "product.buy": "Acheter un modèle",
    "product.demo": "Démo en direct",
    "product.back_list": "Retour aux modèles",
    "cart.page_h1": "Mon Panier",
    "cart.page_sub": "Gérez vos paiements et téléchargements en attente.",
    "cart.flow_li1": "En attente — Payez avec Stripe pour confirmer. Vous pouvez annuler à tout moment avant le paiement.",
    "cart.flow_li2": "Payé — Le bouton Télécharger apparaît ici dès que le paiement est confirmé.",
    "cart.flow_li3": "Reçu — Stripe envoie votre confirmation de paiement par e-mail ; les fichiers restent sur cette page pendant que vous êtes connecté.",
    "cart.pay_stripe": "Passer au paiement",
    "login.email": "E-mail",
    "login.password": "Mot de passe",
    "register.email": "E-mail",
    "register.username": "Identifiant"
}
