Remove CharacterComponent and CharacterDetail components

- Deleted `CharacterComponent` and `CharacterDetail` files from the project.
- Refactored related logic to improve code maintainability and reduce redundancy.
This commit is contained in:
natreex
2026-02-05 14:12:08 -05:00
parent cec5830360
commit 209dc6f85a
133 changed files with 17673 additions and 3110 deletions

View File

@@ -154,7 +154,9 @@
"errorBookCreate": "Une erreur est survenue lors de la création du livre.",
"errorBooksFetch": "Une erreur est survenue lors de la récupération des livres.",
"errorBookDetails": "Erreur lors de la récupération des détails du livre.",
"errorUnknown": "Une erreur inconnue est survenue."
"errorUnknown": "Une erreur inconnue est survenue.",
"seriesSettings": "Paramètres de la série",
"emptySeries": "Séries vides"
},
"bookCard": {
"noCoverAlt": "Pas de couverture",
@@ -200,6 +202,11 @@
"title": "Générateur de paroles",
"description": "Créer des paroles de chanson en quelque cliques.",
"badge": "Lyrics"
},
"addSeries": {
"title": "Créer une série",
"description": "Créez une série pour regrouper plusieurs livres.",
"badge": "SÉRIE"
}
}
},
@@ -350,6 +357,8 @@
}
},
"worldSetting": {
"exportSuccess": "Monde exporté vers la série avec succès.",
"exportToSeries": "Exporter vers la série",
"getWorldsError": "Erreur lors de la récupération des mondes.",
"unknownError": "Erreur inconnu.",
"newWorldNameError": "Veuillez entrer un nom pour le nouveau monde.",
@@ -358,11 +367,19 @@
"createWorldLabel": "Créer un monde",
"selectWorldPlaceholder": "Sélectionner un monde",
"noWorldAvailable": "Aucun monde disponible.",
"noWorldDescription": "Créez votre premier monde pour développer l'univers de votre histoire.",
"newWorldPlaceholder": "Nom du nouveau monde...",
"search": "Rechercher un monde...",
"newWorld": "Nouveau monde",
"deleteTitle": "Supprimer le monde",
"deleteMessage": "Vous êtes sur le point de supprimer le monde « {name} » définitivement.",
"worldName": "Nom du monde",
"worldNamePlaceholder": "Entrez le nom du monde",
"worldHistory": "Histoire du monde",
"worldHistoryPlaceholder": "Décrivez l'histoire de votre monde",
"basicInfo": "Informations de base",
"politicsEconomy": "Politique et économie",
"cultureLanguages": "Culture et langues",
"politics": "Description politique",
"politicsPlaceholder": "La description politique de ce monde...",
"economy": "Règles et statut économique",
@@ -380,8 +397,16 @@
"toolDisabled": "Gestion des mondes désactivée."
},
"locationComponent": {
"exportSuccess": "Lieu exporté vers la série avec succès.",
"exportToSeries": "Exporter vers la série",
"newSectionPlaceholder": "Nom de la nouvelle section",
"addSectionLabel": "Ajouter une section",
"search": "Rechercher une section...",
"noSectionDescription": "Créez votre première section pour organiser les lieux de votre histoire.",
"newSection": "Nouvelle section",
"deleteTitle": "Supprimer la section",
"deleteMessage": "Vous êtes sur le point de supprimer la section « {name} » définitivement.",
"elementName": "Nom de l'élément",
"elementNamePlaceholder": "Nom de l'élément",
"elementDescriptionPlaceholder": "Description de l'élément",
"subElementsHeading": "Sous-éléments",
@@ -392,6 +417,10 @@
"newElementPlaceholder": "Nouvel élément",
"noSectionAvailable": "Aucune section disponible.",
"createSectionLabel": "Créer une section",
"elementsCount": "{count} éléments",
"element": "Élément",
"addElement": "Ajouter un élément",
"addSubElement": "Ajouter un sous-élément",
"errorSectionNameEmpty": "Le nom de la section ne peut pas être vide.",
"errorElementNameEmpty": "Le nom de l'élément ne peut pas être vide.",
"errorSubElementNameEmpty": "Le nom du sous-élément ne peut pas être vide.",
@@ -417,6 +446,7 @@
"toolDisabled": "Gestion des lieux désactivée."
},
"characterComponent": {
"exportSuccess": "Personnage exporté vers la série avec succès.",
"errorNameRequired": "Le nom du personnage est requis.",
"errorCategoryRequired": "Le rôle du personnage est requis.",
"successAdd": "Personnage ajouté avec succès.",
@@ -435,20 +465,24 @@
"characterDetail": {
"back": "Retour",
"newCharacter": "Nouveau personnage",
"exportToSeries": "Exporter vers la série",
"deleteTitle": "Supprimer le personnage",
"deleteMessage": "Vous êtes sur le point de supprimer le personnage « {name} » définitivement.",
"basicInfo": "Informations de base",
"name": "Prénom",
"namePlaceholder": "Entrer un prénom",
"name": "Nom",
"namePlaceholder": "Entrer un nom",
"lastName": "Nom de famille",
"lastNamePlaceholder": "Exemple : Smith",
"nickname": "Surnom",
"nicknamePlaceholder": "Surnom ou alias du personnage",
"nicknamePlaceholder": "Alias ou surnom",
"role": "Rôle",
"title": "Titre",
"titlePlaceholder": "Exemple : Roi, Capitaine, Docteur...",
"titlePlaceholder": "Ex: Roi, Capitaine, Docteur...",
"gender": "Genre",
"genderPlaceholder": "Genre du personnage",
"genderPlaceholder": "Ex: Masculin, Féminin, Non-binaire",
"age": "Âge",
"agePlaceholder": "Âge du personnage",
"agePlaceholder": "Ex: 25",
"yearsOld": "ans",
"historySection": "Parcours",
"biography": "Biographie",
"biographyPlaceholder": "La biographie du personnage.",
@@ -488,12 +522,15 @@
"unknown": "Inconnu",
"noLastName": "Sans nom",
"noTitle": "Sans titre",
"noRole": "Sans rôle"
"noRole": "Sans rôle",
"noCharacters": "Aucun personnage",
"noCharactersDescription": "Ajoutez votre premier personnage pour commencer."
},
"characterSectionElement": {
"newItem": "Nouveau {item}"
},
"spellComponent": {
"exportSuccess": "Sort exporté vers la série avec succès.",
"enableTool": "Activer le grimoire de sorts",
"enableToolDescription": "Gérez les sorts et la magie de votre univers.",
"errorNameRequired": "Le nom du sort est requis.",
@@ -520,6 +557,7 @@
"spellDetail": {
"back": "Retour",
"newSpell": "Nouveau sort",
"exportToSeries": "Exporter vers la série",
"save": "Enregistrer",
"delete": "Supprimer",
"deleteTitle": "Supprimer le sort",
@@ -561,9 +599,13 @@
},
"spellPowerLevels": {
"none": "Aucun",
"minor": "Mineur",
"moderate": "Modéré",
"major": "Majeur",
"cantrip": "Tour de magie",
"novice": "Novice",
"apprentice": "Apprenti",
"journeyman": "Compagnon",
"expert": "Expert",
"master": "Maître",
"grandmaster": "Grand maître",
"legendary": "Légendaire",
"divine": "Divin"
},
@@ -970,9 +1012,15 @@
"insert": "Insérer"
},
"common": {
"back": "Retour",
"cancel": "Annuler",
"confirm": "Confirmer",
"create": "Créer",
"delete": "Supprimer",
"deleting": "Suppression...",
"edit": "Modifier",
"exportToSeries": "Exporter vers la série",
"save": "Enregistrer",
"unknownError": "Une erreur inconnue est survenue",
"loading": "Chargement..."
},
@@ -1027,7 +1075,9 @@
"offlineInitError": "Erreur lors de l'initialisation du mode hors ligne",
"syncError": "Erreur lors de la synchronisation des données",
"dbInitError": "Erreur lors de l'initialisation de la base de données locale",
"offlineError": "Erreur lors de la vérification du mode hors ligne"
"offlineError": "Erreur lors de la vérification du mode hors ligne",
"fetchBooksError": "Erreur lors de la récupération des livres",
"fetchSeriesError": "Erreur lors de la récupération des séries"
}
},
"shortStoryGenerator": {
@@ -1139,6 +1189,134 @@
"deleteLocalWarning": "Attention : Cette action supprimera le livre du serveur ET de votre appareil. Cette action est irréversible.",
"errorUnknown": "Une erreur inconnue est survenue lors de la suppression du livre."
},
"characterCategories": {
"none": "Sélectionner son rôle",
"main": "Principal",
"secondary": "Secondaire",
"recurring": "Récurrent"
},
"characterStatus": {
"alive": "Vivant",
"dead": "Décédé",
"unknown": "Inconnu"
},
"addNewSeriesForm": {
"title": "Créer une nouvelle série",
"name": "Nom de la série",
"namePlaceholder": "Ex: Les Chroniques de...",
"description": "Description",
"descriptionPlaceholder": "Décrivez votre série...",
"optional": "optionnel",
"selectBooks": "Livres à inclure",
"selected": "sélectionné(s)",
"noBooks": "Aucun livre disponible",
"add": "Créer",
"adding": "Création...",
"success": "Série créée avec succès.",
"error": {
"nameMissing": "Le nom de la série est requis.",
"nameTooShort": "Le nom est trop court. Minimum 2 caractères requis.",
"nameTooLong": "Le nom est trop long. Maximum 100 caractères autorisés.",
"addingSeries": "Une erreur est survenue lors de la création de la série."
}
},
"seriesSetting": {
"basicInformation": "Informations",
"books": "Œuvres",
"characters": "Personnages",
"worlds": "Mondes",
"locations": "Emplacements",
"spells": "Grimoire",
"backToLibrary": "Retour à la bibliothèque",
"errorLoading": "Erreur lors du chargement de la série",
"deleteSeries": "Supprimer la série",
"deleteConfirmMessage": "Cette action supprimera définitivement la série et tous ses éléments (personnages, mondes, lieux, sorts). Continuer?",
"deleteSuccess": "Série supprimée avec succès",
"deleteError": "Erreur lors de la suppression de la série"
},
"seriesSettingOption": {
"basicInformation": "Informations de base",
"books": "Œuvres de la série",
"characters": "Les personnages",
"worlds": "Gérer les mondes",
"locations": "Vos emplacements",
"spells": "Grimoire de sorts",
"notAvailable": "Cette option n'est pas encore disponible."
},
"seriesBasicInformation": {
"error": {
"noFileSelected": "Aucun fichier sélectionné.",
"removeCover": "Erreur lors de la suppression de la couverture.",
"nameRequired": "Le nom de la série est obligatoire.",
"update": "Erreur lors de la mise à jour des informations de la série.",
"unknown": "Une erreur inconnue est survenue."
},
"success": {
"update": "Série mise à jour avec succès."
},
"fields": {
"name": "Nom de la série",
"namePlaceholder": "Ex: Les Chroniques de...",
"description": "Description",
"descriptionPlaceholder": "Décrivez votre série...",
"coverImage": "Image couverture",
"coverImageAlt": "Couverture actuelle",
"generateWithQuillSense": "Générer avec QuillSense"
}
},
"seriesBooks": {
"addBook": "Ajouter un livre",
"add": "Ajouter",
"selectBookPlaceholder": "Sélectionner un livre...",
"booksInSeries": "Livres dans la série",
"noBooks": "Aucun livre dans cette série",
"moveUp": "Monter",
"moveDown": "Descendre",
"removeBook": "Retirer de la série",
"error": {
"selectBook": "Veuillez sélectionner un livre.",
"unknown": "Une erreur inconnue est survenue."
},
"success": {
"saved": "Changements enregistrés."
}
},
"seriesCharacter": {
"noCharacters": "Aucun personnage global dans cette série."
},
"seriesCard": {
"book": "livre",
"books": "livres",
"series": "Série",
"settings": "Paramètres de la série",
"synced": "Synchronisé",
"localOnly": "Local uniquement",
"serverOnly": "Sur le serveur uniquement",
"toSyncFromServer": "Télécharger depuis le serveur",
"toSyncToServer": "Envoyer vers le serveur",
"uploadError": "Erreur lors du téléversement de la série.",
"downloadError": "Erreur lors du téléchargement de la série.",
"syncFromServerError": "Erreur lors de la synchronisation depuis le serveur.",
"syncToServerError": "Erreur lors de la synchronisation vers le serveur.",
"refreshError": "Erreur lors du rafraîchissement des séries."
},
"bookType": {
"short": "Nouvelle",
"novelette": "Novelette",
"novella": "Novella",
"chapbook": "Chapbook",
"novel": "Roman"
},
"syncField": {
"uploadSuccess": "{count} élément(s) mis à jour avec succès.",
"uploadTooltip": "Envoyer vers la série",
"downloadTooltip": "Récupérer depuis la série"
},
"seriesImport": {
"importButton": "Importer",
"importFromSeries": "Importer depuis la série",
"selectElement": "Sélectionner un élément"
},
"quillSenseSetting": {
"title": "Paramètres QuillSense",
"description": "Gérez les fonctionnalités d'intelligence artificielle pour ce livre.",