Implémentation complète du multilingue FR/EN
- Installation vue-i18n v11 et création des fichiers de traduction (fr.json, en.json) - Création store locale avec détection hiérarchique (URL > localStorage > navigator) - Modification des routes avec préfixe /:locale? optionnel - Toggle FR/EN dans Menu.vue avec synchronisation immédiate - Traduction de ~200 textes dans 27 composants Vue - Suppression des labels hardcodés en français côté backend - Ajout route Kirby catch-all en/(:all?) pour /en/ URLs - Helper addLocalePrefix() pour préserver locale dans liens dialogs - Traduction pseudo-élément CSS via data attribute Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
3af95b1d20
commit
82eb8d88cc
49 changed files with 1079 additions and 295 deletions
198
src/locales/fr.json
Normal file
198
src/locales/fr.json
Normal file
|
|
@ -0,0 +1,198 @@
|
|||
{
|
||||
"menu": {
|
||||
"home": "Home",
|
||||
"notifications": "Notifications",
|
||||
"meetings": "Réunions",
|
||||
"designToLight": "Design to Light",
|
||||
"inspirations": "Inspirations",
|
||||
"profile": "Profil",
|
||||
"logout": "Déconnexion",
|
||||
"currentProjects": "Projets en cours",
|
||||
"archivedProjects": "Projets archivés",
|
||||
"news": "Nouveautés",
|
||||
"show": "Afficher le menu",
|
||||
"hide": "Masquer le menu",
|
||||
"newModifications": "Nouvelles modifications"
|
||||
},
|
||||
"steps": {
|
||||
"clientBrief": "Brief client",
|
||||
"proposal": "Proposition commerciale",
|
||||
"extendedBrief": "Brief enrichi",
|
||||
"industrialIdeation": "Idéation industrielle",
|
||||
"virtualSample": "Échantillon virtuel",
|
||||
"physicalSample": "Échantillon physique"
|
||||
},
|
||||
"dtl": {
|
||||
"dynamicTrack": "Échantillon virtuel - piste dynamique",
|
||||
"staticTrack": "Échantillon virtuel - piste statique",
|
||||
"title": "Design to Light",
|
||||
"grade": "Design to Light: {grade}",
|
||||
"globalScore": "Note globale",
|
||||
"positioning": "Positionnement",
|
||||
"design": "Design",
|
||||
"weight": "Poids",
|
||||
"indicators": "Indicateur des composants impliqués",
|
||||
"requestOptimization": "Demander une expertise d'optimisation",
|
||||
"requestPending": "Demande d'expertise en cours de traitement…",
|
||||
"initialProposal": "Proposition initiale",
|
||||
"alternative": "Alternative {index}",
|
||||
"proposalBasedOn": "Données basées sur la proposition"
|
||||
},
|
||||
"buttons": {
|
||||
"edit": "Modifier",
|
||||
"cancel": "Annuler",
|
||||
"save": "Sauvegarder",
|
||||
"delete": "Supprimer",
|
||||
"submit": "Soumettre",
|
||||
"retry": "Réessayer",
|
||||
"add": "Ajouter",
|
||||
"close": "Fermer",
|
||||
"validate": "Valider et envoyer le brief",
|
||||
"validateMinimum": "Ajoutez au moins une image",
|
||||
"showPassword": "Afficher le mot de passe",
|
||||
"hidePassword": "Masquer le mot de passe",
|
||||
"showProject": "Afficher le projet",
|
||||
"hideProject": "Masquer le projet",
|
||||
"showComments": "Afficher les commentaires",
|
||||
"hideComments": "Masquer les commentaires",
|
||||
"backToProject": "Retour au projet",
|
||||
"backToList": "Retour à la liste",
|
||||
"addComment": "Ajouter un commentaire",
|
||||
"reply": "Répondre…",
|
||||
"seeAll": "Voir tout",
|
||||
"deleteImage": "Supprimer cette image",
|
||||
"downloadImage": "Télécharger l'image",
|
||||
"downloadImages": "Télécharger les images",
|
||||
"downloadPdf": "Télécharger le PDF",
|
||||
"update": "Mettre à jour",
|
||||
"requestMeeting": "Demander un RDV",
|
||||
"markAllAsRead": "Marquer tout comme lu",
|
||||
"loopAnimation": "Animation en boucle",
|
||||
"stopAnimation": "Arrêter l'animation",
|
||||
"compareTracks": "Comparer les pistes",
|
||||
"exitCompare": "Quitter le mode comparer"
|
||||
},
|
||||
"forms": {
|
||||
"email": "Email",
|
||||
"emailPlaceholder": "mail@exemple.com",
|
||||
"password": "Mot de passe",
|
||||
"passwordPlaceholder": "Minimum 8 caractères",
|
||||
"newPassword": "Nouveau mot de passe",
|
||||
"confirmPassword": "Confirmez le nouveau mot de passe…",
|
||||
"projectName": "Nom du projet",
|
||||
"projectDetails": "Détails du projet",
|
||||
"projectDetailsPlaceholder": "Détails du projet…",
|
||||
"meetingSubject": "Objet du rendez-vous",
|
||||
"meetingDetails": "Détails du projet",
|
||||
"meetingDetailsPlaceholder": "Décrivez votre demande…",
|
||||
"description": "Description du projet",
|
||||
"descriptionPlaceholder": "Ajoutez une description générale de votre projet…",
|
||||
"imageDescription": "Description de l'image",
|
||||
"imageDescriptionPlaceholder": "Ajoutez une description à l'image…",
|
||||
"commentPlaceholder": "Ajouter un commentaire…",
|
||||
"filterByTags": "Filtrer par tags",
|
||||
"tags": "Tags",
|
||||
"selectVariation": "Sélectionnez une déclinaison",
|
||||
"uploadedFiles": "Fichiers importés",
|
||||
"addImages": "Ajouter une ou plusieurs images"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Connexion",
|
||||
"passwordShown": "Mot de passe affiché",
|
||||
"passwordHidden": "Mot de passe masqué",
|
||||
"fillFields": "Veuillez remplir les champs.",
|
||||
"inProgress": "En cours…",
|
||||
"updateSuccess": "Mise à jour réussie",
|
||||
"updateInProgress": "en cours…"
|
||||
},
|
||||
"account": {
|
||||
"comments": "Commentaires",
|
||||
"noClient": "Pas de client associé",
|
||||
"managedProjects": "Projets managés",
|
||||
"myProjects": "Mes projets",
|
||||
"currentStep": "Étape en cours :",
|
||||
"projectCount": "Nombre de projets",
|
||||
"clientLogo": "logo {clientName}"
|
||||
},
|
||||
"brief": {
|
||||
"addPlatform": "Ajouter un brief via la plateforme",
|
||||
"addPdf": "Ajouter un brief PDF",
|
||||
"projects": "Projets"
|
||||
},
|
||||
"comments": {
|
||||
"title": "Commentaires",
|
||||
"your": "Votre commentaire",
|
||||
"new": "Nouveau commentaire",
|
||||
"newInstruction": "Dans la zone du contenu, cliquez où vous souhaitez positionner le commentaire",
|
||||
"reply": "réponse",
|
||||
"replies": "réponses",
|
||||
"edit": "Éditer",
|
||||
"inProgress": "En cours",
|
||||
"emptyMessage": "Partagez vos idées en ajoutant des commentaires"
|
||||
},
|
||||
"dates": {
|
||||
"today": "Aujourd'hui",
|
||||
"yesterday": "hier",
|
||||
"updatedOn": "Dernière mise à jour le"
|
||||
},
|
||||
"projects": {
|
||||
"none": "Aucun projet pour le moment",
|
||||
"current": "Projets en cours",
|
||||
"archived": "Projets archivés"
|
||||
},
|
||||
"notifications": {
|
||||
"title": "Notifications",
|
||||
"none": "Vous n'avez pas de nouvelles notifications",
|
||||
"noneUnread": "Vous n'avez pas de notifications non lues",
|
||||
"all": "Tout",
|
||||
"unread": "Non lu",
|
||||
"projectRequest": "Demande de création de projet",
|
||||
"meetingRequest": "Demande de rendez-vous",
|
||||
"content": "Contenu",
|
||||
"draft": "(brouillon)",
|
||||
"from": "De la part de",
|
||||
"author": "Auteur :",
|
||||
"goToContent": "Aller au contenu"
|
||||
},
|
||||
"meetings": {
|
||||
"none": "Vous n'avez aucune réunion programmée",
|
||||
"upcoming": "À venir",
|
||||
"past": "Passées"
|
||||
},
|
||||
"inspirations": {
|
||||
"title": "Les Inspirations",
|
||||
"favorites": "Mes Favoris",
|
||||
"addToFavorites": "Ajouter aux favoris",
|
||||
"removeFromFavorites": "Retirer des favoris",
|
||||
"new": "Nouveauté"
|
||||
},
|
||||
"dialogs": {
|
||||
"requestProject": "Demander la création d'un projet",
|
||||
"requestMeeting": "Demander un rendez-vous",
|
||||
"imageDetails": "Détails de l'image",
|
||||
"addImages": "Ajouter des images",
|
||||
"deleteConfirm": "Êtes-vous sûr de vouloir supprimer cette image ?",
|
||||
"deleteWarning": "Si vous supprimez cette image, celle-ci disparaîtra de votre brief ainsi que toutes les informations qui lui sont attribuées.",
|
||||
"pdfTitle": "Titre du PDF",
|
||||
"renderTitle": "Titre du rendu",
|
||||
"createWithDTL": "Créer avec Design to Light",
|
||||
"learnMore": "En savoir plus",
|
||||
"dtlDescription": "Découvrez la note environnementale de votre projet..."
|
||||
},
|
||||
"virtualSample": {
|
||||
"title": "Échantillon virtuel",
|
||||
"dynamicPresentation": "Présentation dynamique",
|
||||
"staticView": "Vue statique",
|
||||
"noContent": "Contenu non disponible pour cette piste",
|
||||
"selectToCompare": "Sélectionnez sur la piste que vous souhaitez comparer"
|
||||
},
|
||||
"errors": {
|
||||
"saveFailed": "Erreur lors de la sauvegarde",
|
||||
"deleteFailed": "Erreur lors de la suppression",
|
||||
"toggleProjectFailed": "Erreur lors du masquage/affichage du projet",
|
||||
"toggleFavoriteFailed": "Failed to toggle favorite",
|
||||
"readNotificationFailed": "Erreur lors de la lecture de la notification :",
|
||||
"readAllNotificationsFailed": "Could not read all notifications",
|
||||
"markNotificationFailed": "Could not mark notification as read"
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue