Files
contexta_mb/src/i18n/fr.ts
belviskhoremk 9e663bdc8b Initial commit
2026-05-08 13:01:47 +00:00

326 lines
12 KiB
TypeScript

import type { Translations } from './en';
export const fr: Translations = {
nav: {
explore: 'Explorer',
chatbots: 'Chatbots',
inbox: 'Boîte de réception',
account: 'Compte',
},
auth: {
login_title: 'Bon retour',
login_subtitle: 'Connectez-vous à votre compte Contexta',
signup_title: 'Créez votre compte',
signup_subtitle: 'Commencez à créer des chatbots IA — gratuit pour toujours',
email: 'E-mail',
password: 'Mot de passe',
company_name: "Nom de l'entreprise",
sign_in: 'Se connecter',
create_account: 'Créer un compte gratuit',
no_account: 'Pas de compte ?',
already_account: 'Déjà un compte ?',
sign_up_free: "S'inscrire gratuitement",
forgot_password: 'Mot de passe oublié ?',
forgot_title: 'Réinitialisez votre mot de passe',
forgot_subtitle: 'Entrez votre e-mail, nous vous enverrons un lien de réinitialisation.',
send_reset: 'Envoyer le lien',
back_to_signin: 'Retour à la connexion',
check_email_title: 'Vérifiez votre boîte mail',
check_email_desc: "Un lien de réinitialisation a été envoyé si cette adresse est enregistrée.",
},
dashboard: {
title: 'Mes Chatbots',
new: '+ Nouveau',
empty_title: 'Aucun chatbot pour l\'instant',
empty_desc: 'Créez votre premier chatbot IA alimenté par vos documents.',
create_first: 'Créer un chatbot',
delete_title: 'Supprimer le chatbot',
delete_confirm: (name: string) => `Supprimer "${name}" ? Cette action est irréversible.`,
edit: 'Modifier',
preview: 'Aperçu',
publish: 'Publier',
unpublish: 'Dépublier',
docs: 'docs',
chats: 'chats',
},
onboarding: {
title: 'Premiers pas 🚀',
step_create: 'Créez votre premier chatbot',
step_docs: 'Ajoutez des documents ou des URLs',
step_publish: 'Publiez votre chatbot',
},
builder: {
title_new: 'Créer un chatbot',
title_edit: 'Modifier le chatbot',
tab_settings: 'Paramètres',
tab_docs: 'Documents',
tab_preview: 'Aperçu',
tab_testing: 'Tests',
tab_deploy: 'Déploiement',
save_first: 'Enregistrez le chatbot d\'abord.',
save_first_preview: 'Enregistrez le chatbot d\'abord pour l\'aperçu.',
save_first_test: 'Enregistrez le chatbot d\'abord pour lancer des tests.',
section_basic: 'Informations de base',
name_label: 'Nom du chatbot *',
name_placeholder: 'Mon Bot Support',
description_label: 'Description',
description_placeholder: 'Que fait ce chatbot ?',
section_behavior: 'Comportement',
system_prompt_label: 'Invite système',
system_prompt_placeholder: 'Vous êtes un assistant utile...',
section_model: 'Modèle IA',
section_temperature: 'Température',
temp_hint: '0 = précis, 1 = créatif',
section_appearance: 'Apparence',
color_label: 'Couleur principale',
welcome_label: "Message d'accueil",
section_classification: 'Classification',
category_label: 'Catégorie',
section_advanced: 'Avancé',
branding_label: 'Afficher la marque',
branding_desc: "Afficher « Propulsé par Contexta » dans le widget",
lead_label: 'Capture de prospects',
lead_desc: 'Collecter les coordonnées des visiteurs',
handoff_label: 'Transfert humain',
handoff_desc: 'Escalader les conversations à un agent humain',
handoff_email_label: 'E-mail de transfert',
save: 'Enregistrer',
create: 'Créer le chatbot',
saving: 'Enregistrement...',
template_title: 'Choisir un modèle',
template_skip: 'Commencer de zéro →',
testing_title: 'Questions de test',
testing_desc: "Entrez jusqu'à 10 questions pour tester les réponses de votre chatbot.",
testing_placeholder: "ex. Quels sont vos horaires d'ouverture ?",
testing_add: '+ Ajouter une question',
testing_run: '▶ Lancer les tests',
testing_running: 'En cours...',
testing_results: (n: number) => `${n} RÉSULTAT${n !== 1 ? 'S' : ''}`,
testing_sources: 'SOURCES',
testing_model: 'Modèle',
testing_error: 'Test échoué. Vérifiez que votre chatbot a une base de connaissances.',
},
documents: {
title: 'Documents',
add_url: 'Ajouter une URL',
url_placeholder: 'https://...',
upload: 'Importer un document',
empty_title: 'Aucun document pour l\'instant',
empty_desc: 'Importez des fichiers ou ajoutez des URLs pour construire la base de connaissances.',
delete_title: 'Supprimer le document',
delete_confirm: 'Retirer ce document de la base de connaissances ?',
status_pending: 'En attente',
status_processing: 'Traitement...',
status_completed: 'Prêt',
status_failed: 'Échec',
chunks: (n: number) => `${n} fragments`,
retry: 'Réessayer',
url_sources: 'Sources URL',
refreshing: 'Actualisation...',
},
deploy: {
publish_label: 'Publié',
publish_desc: 'Rendre ce chatbot accessible publiquement',
chat_link: 'Lien de chat public',
chat_link_desc: "Partagez ce lien directement avec n'importe qui",
copy: 'Copier',
copied: 'Copié !',
publish_first: 'Publiez votre chatbot pour obtenir un lien public.',
embed_title: "Code d'intégration",
embed_desc: 'Ajoutez le widget de chat à n\'importe quel site web',
telegram_title: 'Telegram',
telegram_connected: 'Connecté',
telegram_disconnect: 'Déconnecter',
telegram_token_placeholder: 'Token du bot depuis @BotFather',
telegram_connect: 'Connecter',
whatsapp_title: 'WhatsApp',
whatsapp_keyword: 'Mot-clé (optionnel)',
whatsapp_connect: 'Connecter',
section_lead: 'Capture de prospects',
section_handoff: 'Transfert humain',
section_booking: 'Rendez-vous',
booking_enable: 'Activer la prise de rendez-vous',
booking_enable_sub: 'Le chatbot guidera les utilisateurs pour réserver',
},
inbox: {
title: 'Boîte de réception',
filter_all: 'Tous',
filter_open: 'Ouvert',
filter_handling: 'Agent',
filter_resolved: 'Résolu',
empty_title: 'Aucune conversation',
empty_desc: 'Les conversations avec vos chatbots apparaîtront ici.',
empty_filtered: (status: string) => `Aucune conversation « ${status} ».`,
no_messages: 'Aucun message',
type_reply: 'Écrire une réponse en tant qu\'agent...',
send: 'Envoyer',
status_open: 'Ouvert',
status_agent: 'Agent',
status_resolved: 'Résolu',
take_over: 'Prendre en charge',
resolve: 'Résoudre',
reopen: 'Rouvrir',
delete: 'Supprimer',
delete_confirm: 'Supprimer cette conversation ?',
},
leads: {
title: 'Prospects',
subtitle: (n: number) => `${n} contact${n !== 1 ? 's' : ''} collecté${n !== 1 ? 's' : ''}`,
export: '⬆ Exporter',
empty_title: 'Aucun prospect pour l\'instant',
empty_desc: 'Activez la capture de prospects sur vos chatbots pour collecter des contacts.',
no_export: 'Aucun prospect à exporter pour l\'instant.',
detail_title: 'Détails du prospect',
contact_info: 'Informations de contact',
status_section: 'Statut',
notes_section: 'Notes',
notes_placeholder: 'Ajouter des notes sur ce prospect...',
cancel: 'Annuler',
save: 'Enregistrer',
status_new: 'Nouveau',
status_contacted: 'Contacté',
status_qualified: 'Qualifié',
status_closed: 'Fermé',
status_lost: 'Perdu',
field_name: 'Nom',
field_email: 'E-mail',
field_phone: 'Téléphone',
field_company: 'Entreprise',
field_chatbot: 'Chatbot',
field_date: 'Date',
},
analytics: {
title: 'Analytiques',
subtitle: 'Vue d\'ensemble des performances de vos chatbots',
conversations: 'Conversations',
messages: 'Messages',
chatbots: 'Chatbots',
avg_conv: 'Moy. / Conv.',
by_chatbot: 'Par chatbot',
confidence: 'Confiance',
empty_title: 'Aucune donnée pour l\'instant',
empty_desc: 'Les analytiques apparaîtront dès que vos chatbots recevront des conversations.',
unanswered: (n: number) => `${n} sans réponse`,
show_gaps: 'Voir les lacunes ▼',
hide_gaps: 'Masquer ▲',
},
campaigns: {
title: 'Campagnes',
new: 'Nouvelle campagne',
empty_title: 'Aucune campagne pour l\'instant',
empty_desc: 'Créez une campagne pour diffuser un message à tous vos abonnés Telegram en une fois.',
select_chatbot: 'Sélectionner un chatbot',
campaign_name: 'Nom de la campagne',
name_placeholder: 'ex. Promotion estivale, Annonce du nouveau menu...',
message_label: 'Message',
message_placeholder: 'Rédigez votre message de diffusion ici...',
create: 'Créer la campagne',
send: 'Envoyer',
delete: 'Supprimer',
send_confirm: (title: string, n: number) => `Envoyer "${title}" à ${n} abonné${n !== 1 ? 's' : ''} ?`,
send_warning: 'Cette action est irréversible. Le message sera délivré immédiatement.',
send_now: 'Envoyer maintenant',
cancel: 'Annuler',
status_draft: 'Brouillon',
status_sending: 'Envoi en cours...',
status_sent: 'Envoyé',
status_failed: 'Échec',
subscribers: (n: number) => `${n} abonné${n !== 1 ? 's' : ''}`,
delivered: 'délivrés',
},
appointments: {
title: 'Rendez-vous',
subtitle: 'Réservations effectuées via vos chatbots',
empty_title: 'Aucun rendez-vous pour l\'instant',
empty_desc: 'Une fois que des clients réservent via votre chatbot, les rendez-vous apparaîtront ici.',
configure_hours: 'Configurer les horaires',
save_hours: 'Enregistrer les horaires',
status_pending: 'En attente',
status_confirmed: 'Confirmé',
status_cancelled: 'Annulé',
status_completed: 'Terminé',
confirm: 'Confirmer',
decline: 'Refuser',
complete: 'Terminer',
cancel: 'Annuler',
days: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'],
closed: 'Fermé',
open_from: 'Ouvert de',
to: 'à',
},
settings: {
title: 'Paramètres',
subscription: 'Abonnement',
reports: 'Rapports',
analytics: 'Analytiques',
leads: 'Prospects',
campaigns: 'Campagnes',
appointments: 'Rendez-vous',
appearance: 'Apparence',
theme_system: 'Système',
theme_light: 'Clair',
theme_dark: 'Sombre',
profile: 'Profil',
company_label: 'Nom de l\'entreprise',
company_placeholder: 'Acme Inc.',
language_label: 'Langue',
change_password: 'Modifier le mot de passe',
current_password: 'Mot de passe actuel',
new_password: 'Nouveau mot de passe',
save_profile: 'Enregistrer',
account: 'Compte',
sign_out: 'Se déconnecter',
sign_out_confirm: 'Voulez-vous vraiment vous déconnecter ?',
delete_account: 'Supprimer le compte',
delete_confirm: 'Cela supprimera définitivement votre compte et tous vos chatbots. Cette action est irréversible.',
renews: 'Renouvellement',
version: 'Contexta v1.0.0',
profile_updated: 'Profil mis à jour !',
update_failed: 'Échec de la mise à jour du profil',
company_required: "Le nom de l'entreprise est requis",
},
marketplace: {
title: 'Marketplace',
search_placeholder: 'Rechercher des chatbots...',
empty_title: 'Aucun chatbot trouvé',
empty_desc: 'Essayez d\'ajuster votre recherche ou vos filtres.',
chat_now: 'Démarrer →',
by: (name: string) => `par ${name}`,
conversations: (n: number) => `${n} conversations`,
rating: 'Votre note',
rate_submit: 'Soumettre',
login_to_rate: 'Connectez-vous pour noter',
},
guest: {
sign_in: 'Se connecter',
sign_up: 'Créer un compte',
or: 'ou',
},
common: {
loading: 'Chargement...',
cancel: 'Annuler',
delete: 'Supprimer',
save: 'Enregistrer',
close: 'Fermer',
confirm: 'Confirmer',
retry: 'Réessayer',
refresh: 'Actualiser',
error: 'Une erreur s\'est produite. Veuillez réessayer.',
},
};