Some checks failed
Release / build (windows-latest) (push) Has been cancelled
- Import: persist `has_header` flag to DB (migration v3) so headerless CSVs like Desjardins don't lose their first data row on re-import. - Categories: promote children to root on parent deletion instead of cascading deactivation, preventing invisible orphans. - Categories: add re-initialize button to reset all categories and keywords to seed defaults. - Bump version to 0.2.1 across tauri.conf.json, package.json, Cargo.toml. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
367 lines
14 KiB
JSON
367 lines
14 KiB
JSON
{
|
|
"app": {
|
|
"name": "Simpl'Résultat"
|
|
},
|
|
"nav": {
|
|
"dashboard": "Tableau de bord",
|
|
"import": "Importer",
|
|
"transactions": "Transactions",
|
|
"categories": "Catégories",
|
|
"adjustments": "Ajustements",
|
|
"budget": "Budget",
|
|
"reports": "Rapports",
|
|
"settings": "Paramètres"
|
|
},
|
|
"dashboard": {
|
|
"title": "Tableau de bord",
|
|
"balance": "Solde",
|
|
"income": "Revenus",
|
|
"expenses": "Dépenses",
|
|
"noData": "Aucune donnée disponible. Commencez par importer vos relevés bancaires.",
|
|
"expensesByCategory": "Dépenses par catégorie",
|
|
"recentTransactions": "Transactions récentes",
|
|
"period": {
|
|
"month": "Ce mois",
|
|
"3months": "3 mois",
|
|
"6months": "6 mois",
|
|
"12months": "12 mois",
|
|
"all": "Tout"
|
|
},
|
|
"help": {
|
|
"title": "Comment utiliser le tableau de bord",
|
|
"tips": [
|
|
"Utilisez le sélecteur de période (en haut à droite) pour changer la plage de dates",
|
|
"Les cartes résumées affichent votre solde, revenus et dépenses pour la période sélectionnée",
|
|
"Le graphique circulaire détaille vos dépenses par catégorie",
|
|
"Les transactions récentes sont listées en bas de page"
|
|
]
|
|
}
|
|
},
|
|
"import": {
|
|
"title": "Importer des relevés",
|
|
"dropzone": "Glissez vos fichiers CSV ici ou cliquez pour sélectionner",
|
|
"source": "Source",
|
|
"file": "Fichier",
|
|
"status": "Statut",
|
|
"date": "Date",
|
|
"folder": {
|
|
"label": "Dossier d'import",
|
|
"notConfigured": "Aucun dossier configuré",
|
|
"browse": "Parcourir",
|
|
"refresh": "Actualiser"
|
|
},
|
|
"sources": {
|
|
"title": "Sources d'import",
|
|
"empty": "Aucune source trouvée. Créez des sous-dossiers dans votre dossier d'import avec des fichiers CSV.",
|
|
"new": "nouveau",
|
|
"fileCount_one": "{{count}} fichier",
|
|
"fileCount_other": "{{count}} fichiers",
|
|
"fileCount": "{{count}} fichier(s)"
|
|
},
|
|
"config": {
|
|
"title": "Configuration de la source",
|
|
"sourceName": "Nom de la source",
|
|
"delimiter": "Délimiteur",
|
|
"semicolon": "Point-virgule",
|
|
"comma": "Virgule",
|
|
"tab": "Tabulation",
|
|
"encoding": "Encodage",
|
|
"dateFormat": "Format de date",
|
|
"skipLines": "Lignes à ignorer",
|
|
"hasHeader": "La première ligne contient les en-têtes",
|
|
"signConvention": "Convention de signe",
|
|
"negativeExpense": "Dépenses négatives",
|
|
"positiveExpense": "Dépenses positives",
|
|
"columnMapping": "Mapping des colonnes",
|
|
"dateColumn": "Colonne date",
|
|
"descriptionColumn": "Colonne description",
|
|
"amountColumn": "Colonne montant",
|
|
"amountMode": "Mode montant",
|
|
"singleAmount": "Montant unique",
|
|
"debitCredit": "Débit / Crédit séparés",
|
|
"debitColumn": "Colonne débit",
|
|
"creditColumn": "Colonne crédit",
|
|
"selectFiles": "Fichiers à importer",
|
|
"selectAll": "Tout sélectionner",
|
|
"autoDetect": "Auto-détecter"
|
|
},
|
|
"preview": {
|
|
"title": "Aperçu des données",
|
|
"noData": "Aucune donnée à afficher",
|
|
"rowCount": "{{count}} ligne(s)",
|
|
"errorCount": "{{count}} erreur(s)",
|
|
"date": "Date",
|
|
"description": "Description",
|
|
"amount": "Montant",
|
|
"raw": "Données brutes",
|
|
"moreRows": "... et {{count}} ligne(s) supplémentaire(s)"
|
|
},
|
|
"duplicates": {
|
|
"title": "Détection des doublons",
|
|
"fileAlreadyImported": "Ce fichier a déjà été importé",
|
|
"fileAlreadyImportedDesc": "Un fichier avec le même contenu existe déjà dans la base de données.",
|
|
"rowsFound": "{{count}} doublon(s) détecté(s)",
|
|
"rowsFoundDesc": "Ces lignes correspondent à des transactions déjà existantes.",
|
|
"noneFound": "Aucun doublon détecté",
|
|
"skip": "Ignorer les doublons",
|
|
"includeAll": "Tout importer",
|
|
"summary": "Total : {{total}} lignes — {{new}} nouvelles — {{duplicates}} doublon(s)",
|
|
"withinBatch": "Doublon entre fichiers importés",
|
|
"sourceDb": "Existant",
|
|
"sourceBatch": "Entre fichiers"
|
|
},
|
|
"confirm": {
|
|
"title": "Confirmation de l'import",
|
|
"source": "Source",
|
|
"files": "Fichiers",
|
|
"settings": "Paramètres",
|
|
"rowsToImport": "Lignes à importer",
|
|
"rowsSummary": "{{count}} ligne(s) à importer, {{skipped}} doublon(s) ignoré(s)"
|
|
},
|
|
"progress": {
|
|
"title": "Import en cours",
|
|
"importing": "Import en cours...",
|
|
"rows": "lignes"
|
|
},
|
|
"report": {
|
|
"title": "Rapport d'import",
|
|
"totalRows": "Total lignes",
|
|
"imported": "Importées",
|
|
"skippedDuplicates": "Doublons ignorés",
|
|
"errors": "Erreurs",
|
|
"categorized": "Catégorisées",
|
|
"uncategorized": "Non catégorisées",
|
|
"errorDetails": "Détail des erreurs",
|
|
"row": "Ligne",
|
|
"errorMessage": "Message d'erreur",
|
|
"done": "Terminé"
|
|
},
|
|
"history": {
|
|
"title": "Historique des imports",
|
|
"empty": "Aucun import pour le moment.",
|
|
"deleteAll": "Tout supprimer",
|
|
"deleteConfirm": "Supprimer cet import et ses {{count}} transaction(s) ?",
|
|
"deleteAllConfirm": "Supprimer TOUS les imports et leurs transactions ? Cette action est irréversible.",
|
|
"source": "Source",
|
|
"filename": "Fichier",
|
|
"date": "Date",
|
|
"rows": "Lignes",
|
|
"status": "Statut"
|
|
},
|
|
"wizard": {
|
|
"back": "Retour",
|
|
"next": "Suivant",
|
|
"preview": "Aperçu",
|
|
"checkDuplicates": "Vérifier les doublons",
|
|
"confirm": "Confirmer",
|
|
"import": "Importer"
|
|
},
|
|
"help": {
|
|
"title": "Comment importer des relevés bancaires",
|
|
"tips": [
|
|
"Configurez votre dossier d'import, puis créez un sous-dossier par banque/source avec des fichiers CSV",
|
|
"Cliquez sur une source pour configurer le mapping des colonnes, le délimiteur et le format de date",
|
|
"Prévisualisez vos données avant l'import pour détecter les problèmes de formatage",
|
|
"La détection des doublons empêche d'importer les mêmes transactions deux fois"
|
|
]
|
|
}
|
|
},
|
|
"transactions": {
|
|
"title": "Transactions",
|
|
"date": "Date",
|
|
"description": "Description",
|
|
"amount": "Montant",
|
|
"category": "Catégorie",
|
|
"supplier": "Fournisseur",
|
|
"noTransactions": "Aucune transaction trouvée.",
|
|
"filters": {
|
|
"search": "Rechercher",
|
|
"searchPlaceholder": "Rechercher par description...",
|
|
"allCategories": "Toutes les catégories",
|
|
"allSources": "Toutes les sources",
|
|
"uncategorized": "Non catégorisées",
|
|
"dateFrom": "Du",
|
|
"dateTo": "Au"
|
|
},
|
|
"summary": {
|
|
"count": "Transactions",
|
|
"income": "Revenus",
|
|
"expenses": "Dépenses",
|
|
"balance": "Solde"
|
|
},
|
|
"table": {
|
|
"noCategory": "— Sans catégorie —"
|
|
},
|
|
"pagination": {
|
|
"showing": "Affichage",
|
|
"of": "sur",
|
|
"previous": "Précédent",
|
|
"next": "Suivant"
|
|
},
|
|
"notes": {
|
|
"placeholder": "Ajouter une note..."
|
|
},
|
|
"autoCategorize": "Auto-catégoriser",
|
|
"autoCategorizeResult": "{{count}} transaction(s) catégorisée(s)",
|
|
"autoCategorizeNone": "Aucune correspondance trouvée",
|
|
"addKeyword": "Ajouter un mot-clé",
|
|
"keywordAdded": "Mot-clé ajouté",
|
|
"keywordPlaceholder": "Mot-clé à rechercher...",
|
|
"help": {
|
|
"title": "Comment utiliser les Transactions",
|
|
"tips": [
|
|
"Utilisez les filtres pour rechercher par description, catégorie, source ou plage de dates",
|
|
"Cliquez sur un en-tête de colonne pour trier les transactions",
|
|
"Assignez une catégorie via le menu déroulant sur chaque ligne",
|
|
"L'auto-catégorisation utilise vos règles de mots-clés pour catégoriser en masse"
|
|
]
|
|
}
|
|
},
|
|
"categories": {
|
|
"title": "Catégories",
|
|
"name": "Nom",
|
|
"type": "Type",
|
|
"parent": "Catégorie parente",
|
|
"color": "Couleur",
|
|
"expense": "Dépense",
|
|
"income": "Revenu",
|
|
"transfer": "Transfert",
|
|
"keywords": "Mots-clés",
|
|
"addCategory": "Ajouter une catégorie",
|
|
"editCategory": "Modifier la catégorie",
|
|
"deleteCategory": "Supprimer la catégorie",
|
|
"deleteConfirm": "Êtes-vous sûr de vouloir supprimer cette catégorie ? Ses sous-catégories seront promues au niveau supérieur.",
|
|
"deleteBlocked": "Impossible de supprimer : cette catégorie ou ses sous-catégories sont utilisées par {{count}} transaction(s).",
|
|
"reinitialize": "Réinitialiser",
|
|
"reinitializeConfirm": "Réinitialiser toutes les catégories et mots-clés à leurs valeurs par défaut ? Les catégories des transactions seront dissociées. Cette action est irréversible.",
|
|
"noParent": "Aucun parent (niveau supérieur)",
|
|
"sortOrder": "Ordre de tri",
|
|
"selectCategory": "Sélectionnez une catégorie pour voir les détails",
|
|
"keywordCount": "Mots-clés",
|
|
"keywordText": "Mot-clé...",
|
|
"priority": "Priorité",
|
|
"customColor": "Couleur personnalisée",
|
|
"help": {
|
|
"title": "Comment gérer les Catégories",
|
|
"tips": [
|
|
"Créez des catégories et sous-catégories pour organiser vos dépenses et revenus",
|
|
"Ajoutez des mots-clés à une catégorie pour que les transactions correspondantes soient auto-catégorisées",
|
|
"Définissez une priorité sur les mots-clés pour résoudre les conflits entre catégories",
|
|
"Cliquez sur une catégorie dans l'arbre pour voir ses détails, la modifier ou gérer ses mots-clés"
|
|
]
|
|
}
|
|
},
|
|
"adjustments": {
|
|
"title": "Ajustements",
|
|
"name": "Nom",
|
|
"date": "Date",
|
|
"description": "Description",
|
|
"amount": "Montant",
|
|
"recurring": "Récurrent",
|
|
"entries": "Entrées",
|
|
"addEntry": "Ajouter une entrée",
|
|
"newAdjustment": "Nouvel ajustement",
|
|
"editAdjustment": "Modifier l'ajustement",
|
|
"deleteConfirm": "Supprimer cet ajustement ?",
|
|
"total": "Total",
|
|
"selectAdjustment": "Sélectionnez un ajustement",
|
|
"category": "Catégorie",
|
|
"noEntries": "Aucune entrée",
|
|
"help": {
|
|
"title": "Comment utiliser les Ajustements",
|
|
"tips": [
|
|
"Les ajustements permettent d'ajouter des entrées manuelles non issues de vos relevés bancaires",
|
|
"Utilisez-les pour des dépenses ou revenus prévus non encore reflétés dans vos relevés",
|
|
"Les ajustements récurrents se répètent automatiquement à chaque période"
|
|
]
|
|
}
|
|
},
|
|
"budget": {
|
|
"title": "Budget",
|
|
"category": "Catégorie",
|
|
"planned": "Prévu",
|
|
"actual": "Réel",
|
|
"difference": "Écart",
|
|
"expenses": "Dépenses",
|
|
"income": "Revenus",
|
|
"transfers": "Transferts",
|
|
"totalPlanned": "Total prévu",
|
|
"totalActual": "Total réel",
|
|
"totalDifference": "Écart",
|
|
"noCategories": "Aucune catégorie trouvée. Créez des catégories pour configurer votre budget.",
|
|
"saveAsTemplate": "Sauvegarder comme modèle",
|
|
"applyTemplate": "Appliquer un modèle",
|
|
"noTemplates": "Aucun modèle enregistré.",
|
|
"templateName": "Nom du modèle",
|
|
"templateDescription": "Description (optionnel)",
|
|
"deleteTemplateConfirm": "Supprimer ce modèle ?",
|
|
"help": {
|
|
"title": "Comment utiliser le Budget",
|
|
"tips": [
|
|
"Utilisez le navigateur de mois pour passer d'un mois à l'autre",
|
|
"Cliquez sur un montant prévu pour le modifier — appuyez sur Entrée pour sauvegarder ou Échap pour annuler",
|
|
"La colonne réel affiche les dépenses réelles de vos transactions importées",
|
|
"Vert signifie sous le budget, rouge signifie au-dessus du budget",
|
|
"Sauvegardez votre budget comme modèle et appliquez-le rapidement à d'autres mois"
|
|
]
|
|
}
|
|
},
|
|
"reports": {
|
|
"title": "Rapports",
|
|
"period": "Période",
|
|
"byCategory": "Dépenses par catégorie",
|
|
"overTime": "Catégories dans le temps",
|
|
"trends": "Tendances mensuelles",
|
|
"export": "Exporter",
|
|
"help": {
|
|
"title": "Comment utiliser les Rapports",
|
|
"tips": [
|
|
"Basculez entre les vues Tendances, Par catégorie et Dans le temps via les onglets",
|
|
"Utilisez le sélecteur de période pour ajuster la plage de dates de tous les graphiques",
|
|
"Les tendances mensuelles montrent vos revenus et dépenses au fil du temps",
|
|
"Catégories dans le temps suit l'évolution des dépenses par catégorie"
|
|
]
|
|
}
|
|
},
|
|
"settings": {
|
|
"title": "Paramètres",
|
|
"version": "Version {{version}}",
|
|
"updates": {
|
|
"title": "Mises à jour",
|
|
"checkButton": "Vérifier les mises à jour",
|
|
"checking": "Vérification en cours...",
|
|
"upToDate": "L'application est à jour",
|
|
"available": "Version {{version}} disponible",
|
|
"downloadButton": "Télécharger et installer",
|
|
"downloading": "Téléchargement en cours...",
|
|
"readyToInstall": "Mise à jour prête à installer",
|
|
"installButton": "Installer et redémarrer",
|
|
"installing": "Installation en cours...",
|
|
"error": "Erreur lors de la mise à jour",
|
|
"retryButton": "Réessayer"
|
|
},
|
|
"dataSafeNotice": "Vos données sont en sécurité — seul le programme est remplacé, votre base de données n'est pas modifiée.",
|
|
"help": {
|
|
"title": "À propos des Paramètres",
|
|
"tips": [
|
|
"Vérifiez les mises à jour de l'application et installez-les directement depuis cette page",
|
|
"Vos données sont stockées localement et ne sont jamais affectées par les mises à jour",
|
|
"Changez la langue de l'application via le sélecteur de langue dans la barre latérale"
|
|
]
|
|
}
|
|
},
|
|
"common": {
|
|
"save": "Enregistrer",
|
|
"cancel": "Annuler",
|
|
"delete": "Supprimer",
|
|
"edit": "Modifier",
|
|
"add": "Ajouter",
|
|
"search": "Rechercher",
|
|
"filter": "Filtrer",
|
|
"loading": "Chargement...",
|
|
"noResults": "Aucun résultat",
|
|
"confirm": "Confirmer",
|
|
"language": "Langue",
|
|
"total": "Total"
|
|
}
|
|
}
|