mirror of
https://github.com/we-promise/sure
synced 2026-04-25 17:15:07 +02:00
Complete French translations for views, models, and settings (#1501)
* i18n(fr): complete provider_sync_summary translations
Add 13 missing French translations under provider_sync_summary in
config/locales/views/components/fr.yml to bring it to parity with en.yml.
Covers: transactions.fetching/protected/view_protected, full skip_reasons
section, full trades section (investment activities), and
health.view_error_details.
* chore(i18n): fix i18n-tasks scanner config
Add app/components to i18n-tasks relative_roots so component .erb files
using t(".relative_key") are correctly resolved by the scanner. Without
this, the scanner crashed on any component using relative i18n keys.
* i18n(fr): complete high-impact view translations
Bring full FR parity to the 5 most-visited user-facing screens:
- accounts (+25 keys)
- transactions (+168)
- holdings (+53)
- settings (+81)
- reports (+20)
Vocabulary aligned with docs/i18n/fr-glossary.md (Holding → Avoir,
Trade → Transaction boursière, Brokerage → Courtier, Posted → Validée,
Merchant → Commerçant, Net worth → Patrimoine net, etc.).
* i18n(fr): complete remaining incomplete view translations
Bring full FR parity to 23 partially-translated view locale files:
Mid-size (8-68 keys each): investments, pages, merchants, imports,
coinstats_items, sessions, cryptos, rules, transfers, trades,
invitations, entries, onboardings, simplefin_items.
Small (1-4 keys each): plaid_items, recurring_transactions, users,
password_resets, other_assets, loans, shared, registrations,
oidc_accounts.
Total: ~430 new FR keys. Existing FR translations preserved where
already in place; only missing keys were added.
Note: shared/fr.yml retains a `breadcrumbs:` block not present in EN
(used by FR breadcrumb controllers — removing would regress).
* i18n(fr): complete nested admin & settings translations
Cover the nested view subdirectories missed by the top-level scan:
- defaults/fr.yml (+3 custom keys: global.expand,
helpers.select.default_label, helpers.select.search_placeholder)
- admin/sso_providers (+2 keys: role_guest, guest_groups)
- admin/users (+25 keys: section title, family/role/trial filters,
table columns, summary, role descriptions, invitations)
- settings/api_keys (+1 key + structural fix: no_api_key and
current_api_key were nested incorrectly, now match en.yml)
- settings/hostings (+93 keys: assistant_settings, provider_selection,
tiingo/eodhd/alpha_vantage/openai blocks, twelve_data plan upgrade)
* i18n(fr): add fr.yml for 11 previously untranslated views
Create French locale files for all view directories that had no fr.yml:
Core features (6 files, 112 keys):
- account_sharings, budgets, splits, pdf_import_mailer (view scope),
pending_duplicate_merges, securities
Provider integrations (5 files, 575 keys):
- binance_items (Binance crypto exchange)
- coinbase_items (Coinbase crypto exchange)
- indexa_capital_items (Indexa Capital robo-advisor)
- mercury_items (Mercury business banking)
- snaptrade_items (SnapTrade broker aggregator)
Provider names kept in English. Domain vocabulary follows
docs/i18n/fr-glossary.md (Reconnect → Reconnecter, Refresh →
Actualiser, Wallet → Portefeuille, Cost basis → Coût d'acquisition,
Canadian retirement accounts mapped to official FR-CA acronyms
RRSP→REER, TFSA→CELI, RRIF→FERR).
* i18n(fr): add models, mailer, breadcrumb & Doorkeeper translations
Create French locale files for the remaining non-view scopes:
- models/coinbase_account/fr.yml (1 key)
- models/transaction/fr.yml (3 keys)
- mailers/pdf_import_mailer/fr.yml (1 key)
- breadcrumbs/fr.yml (5 root-level breadcrumb labels)
- doorkeeper.fr.yml (89 keys: full OAuth2 UI translation
modeled on the doorkeeper-i18n FR conventions; PKCE/scope/
Client Credentials kept in English as proper grant names;
date_format adjusted to %d/%m/%Y %H:%M:%S)
* i18n(fr): use "Inscription des utilisateurs" for invite_codes onboarding
In the invite_codes settings section, EN "Onboarding" was translated as
"Intégration" — wrong context. The page controls how new people sign up
to the instance, so "Inscription des utilisateurs" is the natural
French term for this UX flow.
* i18n(fr): use "Marchand" consistently for Merchant
Aligns transactions/, settings/, and settings/hostings/ with the FR
fintech convention (Lydia, Revolut FR, Boursorama, N26 FR all use
"Marchand"). Earlier waves had introduced "Commerçant" via a glossary
choice that turned out to imply a small physical retailer rather than
a generic transaction payee.
Net effect: a single consistent term across all FR screens.
* i18n(fr): address CodeRabbit review feedback
Fixes 9 of 17 actionable items from the CodeRabbit review:
- Remove duplicate breadcrumbs block from shared/fr.yml (item 2)
- Standardize "Indexa Capital" naming throughout (item 6)
- Pluralize merchants.perform_merge.success in EN+FR (item 7)
- Add rel="noopener noreferrer" to Coinbase + Binance external links
in EN+FR settings (item 9, security)
- Replace "rappeler" with "invoquer" for MCP tool calling (item 10)
- Localize Doorkeeper "Single Page Apps" + grant names with FR-first
phrasing (item 12)
- Reorder twelve_data_settings to put title first (item 14)
- Enrich IRA/SEP/SIMPLE/ISA/LISA/SIPP long labels with FR expansion
+ acronym in parens (item 15)
- Use "Transfert" (not "Virement") for investment activity_labels.transfer
to disambiguate from banking transfers (item 16)
Items deferred (require non-FR code changes or are pre-existing EN bugs):
1, 3, 4, 5, 8, 11, 13.
* i18n(fr): address second-wave CodeRabbit review feedback
- transactions: fix gender agreement on one_time_title
("%{type} ponctuel" → "Transaction ponctuelle (%{type})") so that
"Dépense" no longer renders as "Dépense ponctuel"
- transactions: fix bare-noun-modifier in rule_description_prefix
("Les futures transactions %{type}…" → "…de type %{type}…")
- settings/hostings: clarify email_confirmation_description
("lors du changement" → "lorsqu'ils la modifient")
- settings/hostings: fix dangling "Utilisé de préférence" in EODHD
and Alpha Vantage rate_limit_warning ("À utiliser de préférence")
This commit is contained in:
@@ -11,6 +11,7 @@ search:
|
||||
paths:
|
||||
- app/
|
||||
relative_roots:
|
||||
- app/components
|
||||
- app/controllers
|
||||
- app/controllers/concerns
|
||||
- app/helpers
|
||||
|
||||
8
config/locales/breadcrumbs/fr.yml
Normal file
8
config/locales/breadcrumbs/fr.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
fr:
|
||||
breadcrumbs:
|
||||
categorize: Catégoriser
|
||||
exports: Exports
|
||||
home: Accueil
|
||||
imports: Imports
|
||||
transactions: Transactions
|
||||
@@ -152,9 +152,13 @@ fr:
|
||||
header:
|
||||
one: 'Impossible d''enregistrer ce(tte) %{model} : %{count} erreur'
|
||||
other: 'Impossible d''enregistrer ce(tte) %{model} : %{count} erreurs'
|
||||
global:
|
||||
expand: Développer
|
||||
helpers:
|
||||
select:
|
||||
prompt: Veuillez sélectionner
|
||||
default_label: Sélectionner…
|
||||
search_placeholder: Rechercher
|
||||
submit:
|
||||
create: Créer un(e) %{model}
|
||||
submit: Enregistrer ce(tte) %{model}
|
||||
|
||||
156
config/locales/doorkeeper.fr.yml
Normal file
156
config/locales/doorkeeper.fr.yml
Normal file
@@ -0,0 +1,156 @@
|
||||
---
|
||||
fr:
|
||||
activerecord:
|
||||
attributes:
|
||||
doorkeeper/application:
|
||||
name: 'Nom'
|
||||
redirect_uri: 'URI de redirection'
|
||||
errors:
|
||||
models:
|
||||
doorkeeper/application:
|
||||
attributes:
|
||||
redirect_uri:
|
||||
fragment_present: 'ne peut pas contenir de fragment.'
|
||||
invalid_uri: 'doit être une URI valide.'
|
||||
unspecified_scheme: 'doit spécifier un schéma.'
|
||||
relative_uri: 'doit être une URI absolue.'
|
||||
secured_uri: 'doit être une URI HTTPS/SSL.'
|
||||
forbidden_uri: 'est interdit par le serveur.'
|
||||
scopes:
|
||||
not_match_configured: "ne correspond pas à ceux configurés sur le serveur."
|
||||
|
||||
doorkeeper:
|
||||
applications:
|
||||
confirmations:
|
||||
destroy: 'Êtes-vous sûr ?'
|
||||
buttons:
|
||||
edit: 'Modifier'
|
||||
destroy: 'Supprimer'
|
||||
submit: 'Envoyer'
|
||||
cancel: 'Annuler'
|
||||
authorize: 'Autoriser'
|
||||
form:
|
||||
error: 'Oups ! Vérifiez votre formulaire pour d''éventuelles erreurs'
|
||||
help:
|
||||
confidential: 'L''application sera utilisée dans un contexte où le client secret peut être gardé confidentiel. Les applications mobiles natives et les applications monopage (SPA) sont considérées comme non confidentielles.'
|
||||
redirect_uri: 'Utilisez une ligne par URI'
|
||||
blank_redirect_uri: "Laissez vide si vous avez configuré votre fournisseur pour utiliser les identifiants client (Client Credentials), le mot de passe du propriétaire de la ressource (Resource Owner Password Credentials) ou tout autre type d'octroi qui ne nécessite pas d'URI de redirection."
|
||||
scopes: 'Séparez les scopes par des espaces. Laissez vide pour utiliser les scopes par défaut.'
|
||||
edit:
|
||||
title: 'Modifier l''application'
|
||||
index:
|
||||
title: 'Vos applications'
|
||||
new: 'Nouvelle application'
|
||||
name: 'Nom'
|
||||
callback_url: 'URL de rappel'
|
||||
confidential: 'Confidentielle ?'
|
||||
actions: 'Actions'
|
||||
confidentiality:
|
||||
'yes': 'Oui'
|
||||
'no': 'Non'
|
||||
new:
|
||||
title: 'Nouvelle application'
|
||||
show:
|
||||
title: 'Application : %{name}'
|
||||
application_id: 'UID'
|
||||
secret: 'Secret'
|
||||
secret_hashed: 'Secret haché'
|
||||
scopes: 'Scopes'
|
||||
confidential: 'Confidentielle'
|
||||
callback_urls: 'URL de rappel'
|
||||
actions: 'Actions'
|
||||
not_defined: 'Non défini'
|
||||
|
||||
authorizations:
|
||||
buttons:
|
||||
authorize: 'Autoriser'
|
||||
deny: 'Refuser'
|
||||
error:
|
||||
title: 'Une erreur s''est produite'
|
||||
new:
|
||||
title: 'Autorisation requise'
|
||||
prompt: 'Autoriser %{client_name} à utiliser votre compte ?'
|
||||
able_to: 'Cette application pourra'
|
||||
show:
|
||||
title: 'Code d''autorisation'
|
||||
form_post:
|
||||
title: 'Envoyer ce formulaire'
|
||||
|
||||
authorized_applications:
|
||||
confirmations:
|
||||
revoke: 'Êtes-vous sûr ?'
|
||||
buttons:
|
||||
revoke: 'Révoquer'
|
||||
index:
|
||||
title: 'Vos applications autorisées'
|
||||
application: 'Application'
|
||||
created_at: 'Créée le'
|
||||
date_format: '%d/%m/%Y %H:%M:%S'
|
||||
|
||||
pre_authorization:
|
||||
status: 'Pré-autorisation'
|
||||
|
||||
errors:
|
||||
messages:
|
||||
# Common error messages
|
||||
invalid_request:
|
||||
unknown: 'La requête ne comporte pas un paramètre obligatoire, inclut une valeur de paramètre non prise en charge ou est malformée d''une autre manière.'
|
||||
missing_param: 'Paramètre obligatoire manquant : %{value}.'
|
||||
request_not_authorized: 'La requête doit être autorisée. Le paramètre obligatoire pour autoriser la requête est manquant ou invalide.'
|
||||
invalid_code_challenge: 'Le code challenge est obligatoire.'
|
||||
invalid_redirect_uri: "L'URI de redirection demandée est malformée ou ne correspond pas à l'URI de redirection du client."
|
||||
unauthorized_client: 'Le client n''est pas autorisé à effectuer cette requête avec cette méthode.'
|
||||
access_denied: 'Le propriétaire de la ressource ou le serveur d''autorisation a refusé la requête.'
|
||||
invalid_scope: 'Le scope demandé est invalide, inconnu ou malformé.'
|
||||
invalid_code_challenge_method:
|
||||
zero: 'Le serveur d''autorisation ne prend pas en charge PKCE car aucune valeur de code_challenge_method n''est acceptée.'
|
||||
one: 'Le code_challenge_method doit être %{challenge_methods}.'
|
||||
other: 'Le code_challenge_method doit être l''un des suivants : %{challenge_methods}.'
|
||||
server_error: 'Le serveur d''autorisation a rencontré une condition inattendue qui l''a empêché de traiter la requête.'
|
||||
temporarily_unavailable: 'Le serveur d''autorisation est actuellement incapable de traiter la requête en raison d''une surcharge temporaire ou d''une maintenance du serveur.'
|
||||
|
||||
# Configuration error messages
|
||||
credential_flow_not_configured: 'Le flux Resource Owner Password Credentials a échoué car Doorkeeper.configure.resource_owner_from_credentials n''est pas configuré.'
|
||||
resource_owner_authenticator_not_configured: 'La recherche de Resource Owner a échoué car Doorkeeper.configure.resource_owner_authenticator n''est pas configuré.'
|
||||
admin_authenticator_not_configured: 'L''accès au panneau d''administration est interdit car Doorkeeper.configure.admin_authenticator n''est pas configuré.'
|
||||
|
||||
# Access grant errors
|
||||
unsupported_response_type: 'Le serveur d''autorisation ne prend pas en charge ce type de réponse.'
|
||||
unsupported_response_mode: 'Le serveur d''autorisation ne prend pas en charge ce mode de réponse.'
|
||||
|
||||
# Access token errors
|
||||
invalid_client: 'L''authentification du client a échoué en raison d''un client inconnu, d''une authentification client manquante ou d''une méthode d''authentification non prise en charge.'
|
||||
invalid_grant: 'L''octroi d''autorisation fourni est invalide, expiré, révoqué, ne correspond pas à l''URI de redirection utilisée dans la requête d''autorisation, ou a été émis pour un autre client.'
|
||||
unsupported_grant_type: 'Le type d''octroi d''autorisation n''est pas pris en charge par le serveur d''autorisation.'
|
||||
|
||||
invalid_token:
|
||||
revoked: "Le jeton d'accès a été révoqué"
|
||||
expired: "Le jeton d'accès a expiré"
|
||||
unknown: "Le jeton d'accès est invalide"
|
||||
revoke:
|
||||
unauthorized: "Vous n'êtes pas autorisé à révoquer ce jeton"
|
||||
|
||||
forbidden_token:
|
||||
missing_scope: 'L''accès à cette ressource requiert le scope "%{oauth_scopes}".'
|
||||
|
||||
flash:
|
||||
applications:
|
||||
create:
|
||||
notice: 'Application créée.'
|
||||
destroy:
|
||||
notice: 'Application supprimée.'
|
||||
update:
|
||||
notice: 'Application mise à jour.'
|
||||
authorized_applications:
|
||||
destroy:
|
||||
notice: 'Application révoquée.'
|
||||
|
||||
layouts:
|
||||
admin:
|
||||
title: 'Doorkeeper'
|
||||
nav:
|
||||
oauth2_provider: 'Fournisseur OAuth2'
|
||||
applications: 'Applications'
|
||||
home: 'Accueil'
|
||||
application:
|
||||
title: 'Autorisation OAuth requise'
|
||||
5
config/locales/mailers/pdf_import_mailer/fr.yml
Normal file
5
config/locales/mailers/pdf_import_mailer/fr.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
fr:
|
||||
pdf_import_mailer:
|
||||
next_steps:
|
||||
subject: "Votre document PDF a été analysé - %{product_name}"
|
||||
5
config/locales/models/coinbase_account/fr.yml
Normal file
5
config/locales/models/coinbase_account/fr.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
fr:
|
||||
coinbase:
|
||||
processor:
|
||||
paid_via: "Payé via %{method}"
|
||||
11
config/locales/models/transaction/fr.yml
Normal file
11
config/locales/models/transaction/fr.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
fr:
|
||||
activerecord:
|
||||
errors:
|
||||
models:
|
||||
transaction:
|
||||
attributes:
|
||||
attachments:
|
||||
too_many: "ne peut pas dépasser %{max} fichiers par transaction"
|
||||
too_large: "le fichier %{index} est trop volumineux (maximum %{max_mb} Mo)"
|
||||
invalid_format: "le fichier %{index} a un format non pris en charge (%{file_format})"
|
||||
29
config/locales/views/account_sharings/fr.yml
Normal file
29
config/locales/views/account_sharings/fr.yml
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
fr:
|
||||
account_sharings:
|
||||
show:
|
||||
title: Partage de compte
|
||||
subtitle: Contrôlez qui peut voir ce compte et interagir avec lui
|
||||
member: Membre
|
||||
permission: Permission
|
||||
shared: Partagé
|
||||
no_members: Aucun autre membre dans votre %{moniker} avec qui partager
|
||||
permissions:
|
||||
full_control: Contrôle total
|
||||
full_control_description: Peut voir, modifier et gérer les transactions
|
||||
read_write: Peut annoter
|
||||
read_write_description: Peut catégoriser, étiqueter et ajouter des notes
|
||||
read_only: Lecture seule
|
||||
read_only_description: Peut uniquement voir les données du compte
|
||||
save: Enregistrer les paramètres de partage
|
||||
owner_label: "Propriétaire : %{name}"
|
||||
shared_with_count:
|
||||
one: Partagé avec 1 membre
|
||||
other: "Partagé avec %{count} membres"
|
||||
include_in_finances: Inclure dans mes budgets et rapports
|
||||
exclude_from_finances: Exclure de mes budgets et rapports
|
||||
finance_toggle_description: Compter ce compte dans votre patrimoine net, vos budgets et vos rapports
|
||||
update:
|
||||
success: Paramètres de partage mis à jour
|
||||
not_owner: Seul le propriétaire du compte peut gérer le partage
|
||||
finance_toggle_success: Préférence d'inclusion financière mise à jour
|
||||
@@ -1,11 +1,13 @@
|
||||
---
|
||||
fr:
|
||||
accounts:
|
||||
not_authorized: "Vous n'avez pas la permission de gérer ce compte"
|
||||
account:
|
||||
edit: Modifier
|
||||
link_lunchflow: Lier avec Lunch Flow
|
||||
link_provider: Lier avec un fournisseur
|
||||
unlink_provider: Délier du fournisseur
|
||||
change_simplefin_account: Changer le compte SimpleFIN
|
||||
troubleshoot: Dépannage
|
||||
enable: Activer le compte
|
||||
disable: Désactiver le compte
|
||||
@@ -13,6 +15,7 @@ fr:
|
||||
remove_default: Retirer par défaut
|
||||
default_label: Par défaut
|
||||
delete: Supprimer le compte
|
||||
sharing: Partage
|
||||
chart:
|
||||
data_not_available: Données non disponibles pour la période sélectionnée
|
||||
create:
|
||||
@@ -22,12 +25,14 @@ fr:
|
||||
destroy:
|
||||
success: "Le compte %{type} a été préparé à la suppression"
|
||||
cannot_delete_linked: "Impossible de supprimer un compte lié. Veuillez d'abord le délier."
|
||||
failed: "La suppression de la ressource a échoué. Veuillez réessayer plus tard."
|
||||
empty:
|
||||
empty_message: Ajoutez un compte via une connexion, une importation ou en entrant manuellement.
|
||||
new_account: Nouveau compte
|
||||
no_accounts: Aucun compte pour l'instant
|
||||
form:
|
||||
balance: Solde actuel
|
||||
balance: "Solde à la date :"
|
||||
opening_balance_date_label: Date du solde d'ouverture
|
||||
name_label: Nom du compte
|
||||
name_placeholder: Nom de compte d'exemple
|
||||
additional_details: Détails supplémentaires
|
||||
@@ -44,7 +49,7 @@ fr:
|
||||
new_account: Nouveau compte
|
||||
sync: Tout synchroniser
|
||||
sync_all:
|
||||
syncing: "Synchronisation des comptes..."
|
||||
syncing: "Synchronisation des comptes…"
|
||||
new:
|
||||
import_accounts: Importer des comptes
|
||||
method_selector:
|
||||
@@ -56,6 +61,7 @@ fr:
|
||||
title: Comment voulez-vous l'ajouter ?
|
||||
title: Que voulez-vous ajouter ?
|
||||
show:
|
||||
limited_fx_history_warning: "L'historique des taux de change n'est disponible qu'à partir du %{date}. Les transactions antérieures à cette date utilisent des conversions de devises approximatives — cela peut se produire lorsque le fournisseur FX n'offre qu'une fenêtre historique limitée."
|
||||
activity:
|
||||
amount: Montant
|
||||
balance: Solde
|
||||
@@ -65,8 +71,11 @@ fr:
|
||||
entry: entrée
|
||||
filter: Filtrer
|
||||
new: Nouveau
|
||||
new_activity: Nouvelle activité
|
||||
new_balance: Nouveau solde
|
||||
new_trade: Nouvelle transaction boursière
|
||||
new_transaction: Nouvelle transaction
|
||||
new_transfer: Nouveau virement
|
||||
no_entries: Aucune entrée trouvée
|
||||
pending: En attente
|
||||
search:
|
||||
@@ -83,6 +92,8 @@ fr:
|
||||
confirm_title: Supprimer le compte ?
|
||||
edit: Modifier
|
||||
import: Importer des transactions
|
||||
import_trades: Importer des transactions boursières
|
||||
import_transactions: Importer des transactions
|
||||
manage: Gérer les comptes
|
||||
update:
|
||||
success: "Compte %{type} mis à jour"
|
||||
@@ -102,12 +113,29 @@ fr:
|
||||
depository: Liquidités
|
||||
investment: Investissement
|
||||
crypto: Crypto
|
||||
property: Propriété
|
||||
property: Bien immobilier
|
||||
vehicle: Véhicule
|
||||
other_asset: Autre actif
|
||||
credit_card: Carte de crédit
|
||||
loan: Prêt
|
||||
other_liability: Autre passif
|
||||
tax_treatments:
|
||||
taxable: Imposable
|
||||
tax_deferred: Imposition différée
|
||||
tax_exempt: Exonéré d'impôt
|
||||
tax_advantaged: Fiscalement avantagé
|
||||
tax_treatment_descriptions:
|
||||
taxable: Gains imposés lors de leur réalisation
|
||||
tax_deferred: Contributions déductibles, imposées au retrait
|
||||
tax_exempt: Contributions après impôt, gains non imposés
|
||||
tax_advantaged: Avantages fiscaux particuliers sous conditions
|
||||
subtype_regions:
|
||||
us: États-Unis
|
||||
uk: Royaume-Uni
|
||||
ca: Canada
|
||||
au: Australie
|
||||
eu: Europe
|
||||
generic: Général
|
||||
confirm_unlink:
|
||||
title: Délier le compte du fournisseur ?
|
||||
description_html: "Vous êtes sur le point de délier <strong>%{account_name}</strong> de <strong>%{provider_name}</strong>. Cela le convertira en compte manuel."
|
||||
|
||||
@@ -76,6 +76,7 @@ fr:
|
||||
provisioning_title: "Provisionnement des utilisateurs"
|
||||
default_role_label: "Rôle par défaut pour les nouveaux utilisateurs"
|
||||
default_role_help: "Rôle attribué aux utilisateurs créés via le provisionnement SSO juste-à-temps (JIT). Par défaut : Membre."
|
||||
role_guest: "Invité"
|
||||
role_member: "Membre"
|
||||
role_admin: "Administrateur"
|
||||
role_super_admin: "Super Administrateur"
|
||||
@@ -83,6 +84,7 @@ fr:
|
||||
role_mapping_help: "Mappez les groupes/claims IdP aux rôles de l'application. Les utilisateurs se voient attribuer le rôle correspondant le plus élevé. Laisser vide pour utiliser le rôle par défaut ci-dessus."
|
||||
super_admin_groups: "Groupes Super Admin"
|
||||
admin_groups: "Groupes Admin"
|
||||
guest_groups: "Groupes Invité"
|
||||
member_groups: "Groupes Membre"
|
||||
groups_help: "Liste de noms de groupes IdP séparés par des virgules. Utilisez * pour correspondre à tous les groupes."
|
||||
advanced_title: "Paramètres OIDC avancés"
|
||||
|
||||
@@ -5,20 +5,49 @@ fr:
|
||||
index:
|
||||
title: "Gestion des utilisateurs"
|
||||
description: "Gérez les rôles des utilisateurs pour votre instance. Les super administrateurs peuvent accéder aux paramètres des fournisseurs SSO et à la gestion des utilisateurs."
|
||||
section_title: "Utilisateurs"
|
||||
section_title: "Familles / Groupes"
|
||||
you: "(Vous)"
|
||||
trial_ends_at: "Fin de l'essai"
|
||||
not_available: "n/a"
|
||||
no_users: "Aucun utilisateur trouvé."
|
||||
unnamed_family: "Famille/Groupe sans nom"
|
||||
no_subscription: "Aucun abonnement"
|
||||
family_summary: "%{members} membres · %{accounts} comptes · %{transactions} transactions"
|
||||
filters:
|
||||
role: "Rôle"
|
||||
role_all: "Tous les rôles"
|
||||
trial_status: "Statut de l'essai"
|
||||
trial_all: "Tous"
|
||||
trial_expiring_soon: "Expire dans 7 jours"
|
||||
trial_trialing: "En essai"
|
||||
submit: "Filtrer"
|
||||
summary:
|
||||
trials_expiring_7_days: "Essais expirant dans les 7 prochains jours"
|
||||
table:
|
||||
user: "Utilisateur"
|
||||
trial_ends_at: "Fin de l'essai"
|
||||
family_accounts: "Comptes de la famille"
|
||||
family_transactions: "Transactions de la famille"
|
||||
last_login: "Dernière connexion"
|
||||
session_count: "Nombre de sessions"
|
||||
never: "Jamais"
|
||||
role: "Rôle"
|
||||
role_descriptions_title: "Description des rôles"
|
||||
roles:
|
||||
guest: "Invité"
|
||||
member: "Membre"
|
||||
admin: "Administrateur"
|
||||
super_admin: "Super Administrateur"
|
||||
role_descriptions:
|
||||
guest: "Expérience axée sur l'assistant avec des permissions volontairement restreintes pour les parcours d'introduction."
|
||||
member: "Accès utilisateur de base. Peut gérer ses propres comptes, transactions et paramètres."
|
||||
admin: "Administrateur familial. Peut accéder aux paramètres avancés comme les clés API, les importations et les prompts IA."
|
||||
super_admin: "Administrateur de l'instance. Peut gérer les fournisseurs SSO, les rôles des utilisateurs et usurper l'identité des utilisateurs pour le support."
|
||||
invitations:
|
||||
pending_label: "Invité (en attente)"
|
||||
expires: "Expire le %{date}"
|
||||
delete: "Supprimer"
|
||||
delete_all: "Tout supprimer"
|
||||
update:
|
||||
success: "Rôle de l'utilisateur mis à jour avec succès."
|
||||
failure: "Échec de la mise à jour du rôle de l'utilisateur."
|
||||
|
||||
75
config/locales/views/binance_items/fr.yml
Normal file
75
config/locales/views/binance_items/fr.yml
Normal file
@@ -0,0 +1,75 @@
|
||||
---
|
||||
fr:
|
||||
binance_items:
|
||||
create:
|
||||
default_name: Binance
|
||||
success: Connexion à Binance réussie. Votre compte est en cours de synchronisation.
|
||||
update:
|
||||
success: Configuration Binance mise à jour.
|
||||
destroy:
|
||||
success: Connexion Binance mise en file d'attente pour suppression.
|
||||
setup_accounts:
|
||||
title: Importer le compte Binance
|
||||
subtitle: Sélectionnez les portefeuilles à suivre
|
||||
instructions: Sélectionnez les portefeuilles Binance que vous souhaitez importer. Seuls les portefeuilles avec un solde sont affichés.
|
||||
no_accounts: Tous les comptes ont été importés.
|
||||
accounts_count:
|
||||
one: "%{count} compte disponible"
|
||||
other: "%{count} comptes disponibles"
|
||||
select_all: Tout sélectionner
|
||||
import_selected: Importer la sélection
|
||||
cancel: Annuler
|
||||
creating: Importation…
|
||||
complete_account_setup:
|
||||
success:
|
||||
one: "%{count} compte importé"
|
||||
other: "%{count} comptes importés"
|
||||
none_selected: Aucun compte sélectionné
|
||||
no_accounts: Aucun compte à importer
|
||||
binance_item:
|
||||
provider_name: Binance
|
||||
syncing: Synchronisation…
|
||||
reconnect: Identifiants à mettre à jour
|
||||
deletion_in_progress: Suppression…
|
||||
sync_status:
|
||||
no_accounts: Aucun compte trouvé
|
||||
all_synced:
|
||||
one: "%{count} compte synchronisé"
|
||||
other: "%{count} comptes synchronisés"
|
||||
partial_sync: "%{linked_count} synchronisé(s), %{unlinked_count} à configurer"
|
||||
status: "Dernière synchronisation il y a %{timestamp}"
|
||||
status_with_summary: "Dernière synchronisation il y a %{timestamp} - %{summary}"
|
||||
status_never: Jamais synchronisé
|
||||
update_credentials: Mettre à jour les identifiants
|
||||
delete: Supprimer
|
||||
no_accounts_title: Aucun compte trouvé
|
||||
no_accounts_message: Votre portefeuille Binance apparaîtra ici après la synchronisation.
|
||||
setup_needed: Compte prêt à être importé
|
||||
setup_description: Sélectionnez les portefeuilles Binance que vous souhaitez suivre.
|
||||
setup_action: Importer le compte
|
||||
import_accounts_menu: Importer le compte
|
||||
stale_rate_warning: "Solde approximatif — le taux de change exact du %{date} n'était pas disponible. Il sera mis à jour lors de la prochaine synchronisation."
|
||||
select_existing_account:
|
||||
title: Lier un compte Binance
|
||||
no_accounts_found: Aucun compte Binance trouvé.
|
||||
wait_for_sync: Attendez que Binance termine la synchronisation
|
||||
check_provider_health: Vérifiez que vos identifiants API Binance sont valides
|
||||
currently_linked_to: "Actuellement lié à : %{account_name}"
|
||||
link: Lier
|
||||
cancel: Annuler
|
||||
link_existing_account:
|
||||
success: Compte Binance lié avec succès
|
||||
errors:
|
||||
only_manual: Seuls les comptes manuels peuvent être liés à Binance
|
||||
invalid_binance_account: Compte Binance invalide
|
||||
binance_item:
|
||||
syncer:
|
||||
checking_credentials: Vérification des identifiants…
|
||||
credentials_invalid: Identifiants API invalides. Veuillez vérifier votre clé API et votre secret.
|
||||
importing_accounts: Importation des comptes depuis Binance…
|
||||
checking_configuration: Vérification de la configuration du compte…
|
||||
accounts_need_setup:
|
||||
one: "%{count} compte à configurer"
|
||||
other: "%{count} comptes à configurer"
|
||||
processing_accounts: Traitement des données du compte…
|
||||
calculating_balances: Calcul des soldes…
|
||||
33
config/locales/views/budgets/fr.yml
Normal file
33
config/locales/views/budgets/fr.yml
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
fr:
|
||||
budgets:
|
||||
name:
|
||||
custom_range: "%{start} - %{end_date}"
|
||||
month_year: "%{month}"
|
||||
show:
|
||||
categories:
|
||||
amount: Montant
|
||||
edit: Modifier
|
||||
title: Catégories
|
||||
on_track_categories:
|
||||
short_title: Dans les clous
|
||||
title: Dans les clous
|
||||
over_budget_categories:
|
||||
short_title: Dépassement
|
||||
title: Budget dépassé
|
||||
filter:
|
||||
all: Tous
|
||||
on_track: Dans les clous
|
||||
over_budget: Budget dépassé
|
||||
tabs:
|
||||
actual: Réel
|
||||
budgeted: Budgété
|
||||
copy_previous_prompt:
|
||||
title: "Configurez votre budget"
|
||||
description: "Vous pouvez copier votre budget depuis %{source_name} ou repartir de zéro."
|
||||
copy_button: "Copier depuis %{source_name}"
|
||||
fresh_button: "Repartir de zéro"
|
||||
copy_previous:
|
||||
success: "Budget copié depuis %{source_name}"
|
||||
no_source: "Aucun budget précédent trouvé à copier"
|
||||
already_initialized: "Ce budget a déjà été configuré"
|
||||
78
config/locales/views/coinbase_items/fr.yml
Normal file
78
config/locales/views/coinbase_items/fr.yml
Normal file
@@ -0,0 +1,78 @@
|
||||
---
|
||||
fr:
|
||||
coinbase_items:
|
||||
create:
|
||||
default_name: Coinbase
|
||||
success: Connexion à Coinbase réussie. Vos comptes sont en cours de synchronisation.
|
||||
update:
|
||||
success: Configuration Coinbase mise à jour.
|
||||
destroy:
|
||||
success: Connexion Coinbase mise en file d'attente pour suppression.
|
||||
setup_accounts:
|
||||
title: Importer les portefeuilles Coinbase
|
||||
subtitle: Sélectionnez les portefeuilles à suivre
|
||||
instructions: Sélectionnez les portefeuilles que vous souhaitez importer. Les portefeuilles non sélectionnés resteront disponibles si vous souhaitez les ajouter plus tard.
|
||||
no_accounts: Tous les portefeuilles ont été importés.
|
||||
accounts_count:
|
||||
one: "%{count} portefeuille disponible"
|
||||
other: "%{count} portefeuilles disponibles"
|
||||
select_all: Tout sélectionner
|
||||
import_selected: Importer la sélection
|
||||
cancel: Annuler
|
||||
creating: Importation…
|
||||
complete_account_setup:
|
||||
success:
|
||||
one: "%{count} portefeuille importé"
|
||||
other: "%{count} portefeuilles importés"
|
||||
none_selected: Aucun portefeuille sélectionné
|
||||
no_accounts: Aucun portefeuille à importer
|
||||
coinbase_item:
|
||||
provider_name: Coinbase
|
||||
syncing: Synchronisation…
|
||||
reconnect: Identifiants à mettre à jour
|
||||
deletion_in_progress: Suppression…
|
||||
sync_status:
|
||||
no_accounts: Aucun compte trouvé
|
||||
all_synced:
|
||||
one: "%{count} compte synchronisé"
|
||||
other: "%{count} comptes synchronisés"
|
||||
partial_sync: "%{linked_count} synchronisé(s), %{unlinked_count} à configurer"
|
||||
status: "Dernière synchronisation il y a %{timestamp}"
|
||||
status_with_summary: "Dernière synchronisation il y a %{timestamp} - %{summary}"
|
||||
status_never: Jamais synchronisé
|
||||
update_credentials: Mettre à jour les identifiants
|
||||
delete: Supprimer
|
||||
no_accounts_title: Aucun compte trouvé
|
||||
no_accounts_message: Vos portefeuilles Coinbase apparaîtront ici après la synchronisation.
|
||||
setup_needed: Portefeuilles prêts à être importés
|
||||
setup_description: Sélectionnez les portefeuilles Coinbase que vous souhaitez suivre.
|
||||
setup_action: Importer les portefeuilles
|
||||
import_wallets_menu: Importer les portefeuilles
|
||||
more_wallets_available:
|
||||
one: "%{count} portefeuille supplémentaire disponible à l'importation"
|
||||
other: "%{count} portefeuilles supplémentaires disponibles à l'importation"
|
||||
select_existing_account:
|
||||
title: Lier un compte Coinbase
|
||||
no_accounts_found: Aucun compte Coinbase trouvé.
|
||||
wait_for_sync: Attendez que Coinbase termine la synchronisation
|
||||
check_provider_health: Vérifiez que vos identifiants API Coinbase sont valides
|
||||
balance: Solde
|
||||
currently_linked_to: "Actuellement lié à : %{account_name}"
|
||||
link: Lier
|
||||
cancel: Annuler
|
||||
link_existing_account:
|
||||
success: Compte Coinbase lié avec succès
|
||||
errors:
|
||||
only_manual: Seuls les comptes manuels peuvent être liés à Coinbase
|
||||
invalid_coinbase_account: Compte Coinbase invalide
|
||||
coinbase_item:
|
||||
syncer:
|
||||
checking_credentials: Vérification des identifiants…
|
||||
credentials_invalid: Identifiants API invalides. Veuillez vérifier votre clé API et votre secret.
|
||||
importing_accounts: Importation des comptes depuis Coinbase…
|
||||
checking_configuration: Vérification de la configuration du compte…
|
||||
accounts_need_setup:
|
||||
one: "%{count} compte à configurer"
|
||||
other: "%{count} comptes à configurer"
|
||||
processing_accounts: Traitement des données du compte…
|
||||
calculating_balances: Calcul des soldes…
|
||||
@@ -17,17 +17,31 @@ fr:
|
||||
missing_params: "Paramètres requis manquants : adresse et blockchain."
|
||||
failed: Échec de la liaison du portefeuille crypto.
|
||||
error: "Échec de la liaison du portefeuille crypto : %{message}."
|
||||
link_exchange:
|
||||
success: "Plateforme d'échange %{name} liée."
|
||||
missing_params: La plateforme d'échange et les identifiants sont requis.
|
||||
invalid_exchange: La plateforme d'échange sélectionnée n'est plus prise en charge.
|
||||
failed: Échec de la liaison de la plateforme d'échange.
|
||||
error: "Échec de la liaison de la plateforme d'échange : %{message}."
|
||||
new:
|
||||
title: Lier un portefeuille crypto avec CoinStats
|
||||
blockchain_fetch_error: Échec du chargement des blockchains. Veuillez réessayer plus tard.
|
||||
link_wallet_title: Lier une adresse de portefeuille
|
||||
link_wallet_description: Suivez un portefeuille en auto-conservation ou une adresse on-chain unique via CoinStats.
|
||||
address_label: Adresse
|
||||
address_placeholder: Requis
|
||||
blockchain_label: Blockchain
|
||||
blockchain_placeholder: Requis
|
||||
blockchain_select_blank: Sélectionnez une blockchain
|
||||
link: Lier le portefeuille crypto
|
||||
link_wallet_submit: Lier le portefeuille crypto
|
||||
link_exchange_title: Lier l'API d'une plateforme d'échange
|
||||
link_exchange_description: Utilisez une clé API de plateforme d'échange en lecture seule pour que CoinStats puisse synchroniser les soldes et les transactions depuis Bitvavo, Binance et d'autres plateformes prises en charge.
|
||||
link_exchange_note: Si votre plateforme d'échange nécessite l'activation de la clé API ou la confirmation par e-mail, effectuez cette étape avant de la lier ici.
|
||||
exchange_select_blank: Sélectionnez une plateforme d'échange
|
||||
exchange_label: Plateforme d'échange
|
||||
link_exchange_submit: Lier la plateforme d'échange
|
||||
not_configured_title: Connexion au fournisseur CoinStats non configurée
|
||||
not_configured_message: Pour lier un portefeuille crypto, vous devez d'abord configurer la connexion au fournisseur CoinStats.
|
||||
not_configured_message: Pour lier un portefeuille crypto ou une plateforme d'échange, vous devez d'abord configurer la connexion au fournisseur CoinStats.
|
||||
not_configured_step1_html: Allez dans <strong>Paramètres → Fournisseurs</strong>
|
||||
not_configured_step2_html: Localisez le fournisseur <strong>CoinStats</strong>
|
||||
not_configured_step3_html: Suivez les <strong>instructions de configuration</strong> fournies pour terminer la configuration du fournisseur
|
||||
|
||||
@@ -15,12 +15,28 @@ fr:
|
||||
imported: "Importées : %{count}"
|
||||
updated: "Mises à jour : %{count}"
|
||||
skipped: "Ignorées : %{count}"
|
||||
fetching: "Récupération depuis le courtier…"
|
||||
protected:
|
||||
one: "%{count} entrée protégée (non écrasée)"
|
||||
other: "%{count} entrées protégées (non écrasées)"
|
||||
view_protected: Voir les entrées protégées
|
||||
skip_reasons:
|
||||
excluded: Exclu
|
||||
user_modified: Modifié par l'utilisateur
|
||||
import_locked: Import CSV
|
||||
protected: Protégé
|
||||
holdings:
|
||||
title: Avoirs
|
||||
found: "Trouvés : %{count}"
|
||||
processed: "Traités : %{count}"
|
||||
trades:
|
||||
title: Transactions boursières
|
||||
imported: "Importées : %{count}"
|
||||
skipped: "Ignorées : %{count}"
|
||||
fetching: "Récupération des activités depuis le courtier…"
|
||||
health:
|
||||
title: Santé
|
||||
view_error_details: Voir les détails de l'erreur
|
||||
rate_limited: "Limité %{time_ago}"
|
||||
recently: récemment
|
||||
errors: "Erreurs : %{count}"
|
||||
|
||||
@@ -3,5 +3,18 @@ fr:
|
||||
cryptos:
|
||||
edit:
|
||||
edit: Éditer %{account}
|
||||
form:
|
||||
subtype_label: Type de compte
|
||||
subtype_prompt: Sélectionner un type de compte
|
||||
subtype_none: Aucun
|
||||
tax_treatment_label: Traitement fiscal
|
||||
tax_treatment_hint: La plupart des cryptomonnaies sont détenues dans des comptes imposables. Sélectionnez une autre option si elles sont détenues dans un compte fiscalement avantageux.
|
||||
new:
|
||||
title: Saisir le solde du compte
|
||||
subtypes:
|
||||
wallet:
|
||||
short: Portefeuille
|
||||
long: Portefeuille crypto
|
||||
exchange:
|
||||
short: Plateforme d'échange
|
||||
long: Plateforme d'échange crypto
|
||||
|
||||
@@ -12,3 +12,12 @@ fr:
|
||||
loading: Chargement des entrées...
|
||||
update:
|
||||
success: Entrée mise à jour
|
||||
unlock:
|
||||
success: Entrée déverrouillée. Elle pourra être mise à jour lors de la prochaine synchronisation.
|
||||
protection:
|
||||
tooltip: Protégée contre la synchronisation
|
||||
title: Protégée contre la synchronisation
|
||||
description: Vos modifications sur cette entrée ne seront pas écrasées par la synchronisation du fournisseur.
|
||||
locked_fields_label: "Champs verrouillés :"
|
||||
unlock_button: Autoriser la mise à jour par la synchronisation
|
||||
unlock_confirm: Autoriser la synchronisation à mettre à jour cette entrée ? Vos modifications pourraient être écrasées lors de la prochaine synchronisation.
|
||||
|
||||
@@ -4,36 +4,97 @@ fr:
|
||||
cash:
|
||||
brokerage_cash: Liquidités de courtage
|
||||
destroy:
|
||||
success: Position supprimée
|
||||
success: Avoir supprimé
|
||||
update:
|
||||
success: Coût de revient enregistré.
|
||||
error: Valeur de coût de revient invalide.
|
||||
unlock_cost_basis:
|
||||
success: Coût de revient déverrouillé. Il pourra être mis à jour lors de la prochaine synchronisation.
|
||||
remap_security:
|
||||
success: Titre mis à jour avec succès.
|
||||
security_not_found: Impossible de trouver le titre sélectionné.
|
||||
reset_security:
|
||||
success: Titre réinitialisé à la valeur du fournisseur.
|
||||
sync_prices:
|
||||
success: Données de marché synchronisées avec succès.
|
||||
unavailable: La synchronisation des données de marché n'est pas disponible pour les titres hors ligne.
|
||||
provider_error: Impossible de récupérer les derniers cours. Veuillez réessayer dans quelques minutes.
|
||||
errors:
|
||||
security_collision: "Réaffectation impossible : vous avez déjà un avoir pour %{ticker} au %{date}."
|
||||
cost_basis_sources:
|
||||
manual: Défini par l'utilisateur
|
||||
calculated: À partir des transactions boursières
|
||||
provider: Depuis le fournisseur
|
||||
cost_basis_cell:
|
||||
unknown: "--"
|
||||
set_cost_basis_header: "Définir le coût de revient pour %{ticker} (%{qty} actions)"
|
||||
total_cost_basis_label: Coût de revient total
|
||||
or_per_share_label: "Ou saisir par action :"
|
||||
per_share: par action
|
||||
cancel: Annuler
|
||||
save: Enregistrer
|
||||
overwrite_confirm_title: Écraser le coût de revient ?
|
||||
overwrite_confirm_body: "Cela remplacera le coût de revient actuel de %{current}."
|
||||
holding:
|
||||
per_share: par action
|
||||
shares: "%{qty} actions"
|
||||
unknown: "--"
|
||||
no_cost_basis: Aucun coût de revient
|
||||
index:
|
||||
average_cost: Coût moyen
|
||||
holdings: Positions
|
||||
holdings: Avoirs
|
||||
name: Nom
|
||||
new_holding: Nouvelle position
|
||||
no_holdings: Aucune position à afficher.
|
||||
new_holding: Nouvelle activité
|
||||
no_holdings: Aucun avoir à afficher.
|
||||
return: Rendement total
|
||||
weight: Poids
|
||||
missing_price_tooltip:
|
||||
description: Cet investissement a des valeurs manquantes et nous ne pouvons pas calculer
|
||||
son retour ou sa valeur.
|
||||
son rendement ou sa valeur.
|
||||
missing_data: Données manquantes
|
||||
show:
|
||||
avg_cost_label: Coût moyen
|
||||
current_market_price_label: Prix de marché actuel
|
||||
delete: Supprimer
|
||||
delete_subtitle: Cela supprimera la position et toutes vos opérations associées sur ce compte. Cette action ne peut pas être annulée.
|
||||
delete_title: Supprimer la position
|
||||
delete_subtitle: Cela supprimera l'avoir et toutes vos transactions boursières associées sur ce compte. Cette action ne peut pas être annulée.
|
||||
delete_title: Supprimer l'avoir
|
||||
edit_security: Modifier le titre
|
||||
history: Historique
|
||||
no_trade_history: Aucun historique de transactions boursières disponible pour cet avoir.
|
||||
overview: Aperçu
|
||||
portfolio_weight_label: Poids du portefeuille
|
||||
settings: Paramètres
|
||||
security_label: Titre
|
||||
originally: "était %{ticker}"
|
||||
search_security: Rechercher un titre
|
||||
search_security_placeholder: Rechercher par ticker ou par nom
|
||||
cancel: Annuler
|
||||
remap_security: Enregistrer
|
||||
provider_disabled_warning: "Mises à jour des cours en pause — le fournisseur %{provider} est désactivé. Passez à un autre fournisseur ci-dessous ou réactivez-le dans les Paramètres."
|
||||
truncated_history_warning: "L'historique des cours n'est disponible qu'à partir du %{date}. Les dates antérieures ne disposent d'aucune donnée du fournisseur sélectionné — cela peut se produire lorsque l'actif a été coté après la date de votre transaction boursière, ou lorsque le fournisseur n'offre qu'une fenêtre historique limitée avec son forfait actuel."
|
||||
switch_provider_label: Changer de fournisseur
|
||||
switch_provider_description: "%{provider} est désactivé. Recherchez ce titre auprès d'un autre fournisseur activé."
|
||||
switch_provider_button: Changer
|
||||
no_security_provider: Aucun fournisseur de titres configuré. Impossible de rechercher des titres.
|
||||
security_remapped_label: Titre réaffecté
|
||||
provider_sent: "Envoyé par le fournisseur : %{ticker}"
|
||||
reset_to_provider: Réinitialiser au fournisseur
|
||||
reset_confirm_title: Réinitialiser le titre au fournisseur ?
|
||||
reset_confirm_body: "Cela changera le titre de %{current} à %{original} et déplacera toutes les transactions boursières associées."
|
||||
ticker_label: Ticker
|
||||
trade_history_entry: "%{qty} actions de %{security} à %{price}"
|
||||
total_return_label: Rendement total
|
||||
unknown: Inconnu
|
||||
cost_basis_locked_label: Le coût de revient est verrouillé
|
||||
cost_basis_locked_description: Votre coût de revient défini manuellement ne sera pas modifié par les synchronisations.
|
||||
unlock_cost_basis: Déverrouiller
|
||||
unlock_confirm_title: Déverrouiller le coût de revient ?
|
||||
unlock_confirm_body: Cela permettra au coût de revient d'être mis à jour par les synchronisations du fournisseur ou les calculs de transactions boursières.
|
||||
shares_label: Actions
|
||||
book_value_label: Valeur comptable
|
||||
market_value_label: Valeur marchande
|
||||
unknown: Inconnu
|
||||
market_data_label: Données de marché
|
||||
market_data_sync_button: Actualiser
|
||||
last_price_update: Dernière mise à jour du cours
|
||||
syncing: Synchronisation…
|
||||
never: Jamais
|
||||
|
||||
@@ -19,12 +19,12 @@ fr:
|
||||
txn_count:
|
||||
one: "1 opération"
|
||||
other: "%{count} opérations"
|
||||
empty_state_primary: Aucune catégorie ou étiquette trouvée dans ce fichier QIF.
|
||||
empty_state_secondary: Toutes les transactions seront importées sans catégories ni étiquettes.
|
||||
submit: Continuer vers la revue
|
||||
split_warning_title: Transactions scindées détectées
|
||||
split_warning_description: "Ce fichier QIF contient des transactions scindées. Les transactions scindées ne sont pas encore prises en charge : chaque transaction scindée sera importée comme une transaction unique avec son montant total et sans catégorie. Les ventilations individuelles ne seront pas conservées."
|
||||
split_badge: scindée
|
||||
empty_state_primary: Aucune catégorie ou étiquette trouvée dans ce fichier QIF.
|
||||
empty_state_secondary: Toutes les transactions seront importées sans catégories ni étiquettes.
|
||||
submit: Continuer vers la revue
|
||||
cleans:
|
||||
show:
|
||||
description: Modifiez vos données dans le tableau ci-dessous. Les cellules rouges sont invalides.
|
||||
@@ -111,6 +111,17 @@ fr:
|
||||
preview: "Première date analysée"
|
||||
error_title: "Impossible de détecter le format de date"
|
||||
error_description: "Aucun des formats de date pris en charge n'a pu analyser les dates dans ce fichier. Veuillez vérifier que le fichier contient des entrées de date valides."
|
||||
type_labels:
|
||||
transaction_import: "Import de transactions"
|
||||
trade_import: "Import de transactions boursières"
|
||||
account_import: "Import de comptes"
|
||||
mint_import: "Import Mint"
|
||||
qif_import: "Import QIF"
|
||||
category_import: "Import de catégories"
|
||||
rule_import: "Import de règles"
|
||||
pdf_import: "Import PDF"
|
||||
document_import: "Import de document"
|
||||
sure_import: "Import Sure"
|
||||
steps:
|
||||
upload: Téléverser
|
||||
configure: Configurer
|
||||
@@ -120,7 +131,6 @@ fr:
|
||||
select: Sélectionner
|
||||
index:
|
||||
title: Importations
|
||||
imports: Imports
|
||||
new: Nouvelle importation
|
||||
table:
|
||||
title: Imports
|
||||
@@ -130,6 +140,17 @@ fr:
|
||||
status: Statut
|
||||
actions: Actions
|
||||
row:
|
||||
type_labels:
|
||||
transaction_import: "Transaction"
|
||||
trade_import: "Transaction boursière"
|
||||
account_import: "Compte"
|
||||
mint_import: "Mint"
|
||||
qif_import: "QIF"
|
||||
category_import: "Catégorie"
|
||||
rule_import: "Règle"
|
||||
pdf_import: "PDF"
|
||||
document_import: "Document"
|
||||
sure_import: "Sure"
|
||||
status:
|
||||
in_progress: En cours
|
||||
uploading: Traitement des lignes
|
||||
@@ -144,7 +165,11 @@ fr:
|
||||
view: Afficher
|
||||
empty: Aucune importation pour l'instant.
|
||||
new:
|
||||
description: Vous pouvez manuellement importer divers types de données via CSV ou utiliser un des modèles d'importation que nous proposons comme Mint.
|
||||
description: Importez depuis un outil financier ou téléversez des fichiers de données bruts.
|
||||
tab_financial_tools: Outils financiers et fichiers
|
||||
tab_raw_data: Données brutes
|
||||
coming_soon: Bientôt disponible
|
||||
import_ynab: Importer depuis YNAB
|
||||
import_accounts: Importer les comptes
|
||||
import_categories: Importer les catégories
|
||||
import_mint: Importer depuis Mint
|
||||
@@ -152,16 +177,19 @@ fr:
|
||||
import_rules: Importer les règles
|
||||
import_transactions: Importer les transactions
|
||||
import_qif: Importer depuis Quicken (QIF)
|
||||
import_sure: Importer depuis Sure
|
||||
import_sure_description: Fichier .ndjson d'export complet
|
||||
import_file: Importer un document
|
||||
import_file_description: Analyse par IA pour les PDFs et téléversement avec recherche pour les autres fichiers pris en charge
|
||||
import_file_description: Analyse par IA pour les PDF et téléversement de fichiers avec recherche
|
||||
requires_account: Importez d'abord des comptes pour débloquer cette option.
|
||||
resume: Reprendre %{type}
|
||||
sources: Sources
|
||||
title: Nouvelle importation CSV
|
||||
title: Nouvelle importation
|
||||
create:
|
||||
file_too_large: Le fichier est trop volumineux. La taille maximale est de %{max_size} Mo.
|
||||
invalid_file_type: Type de fichier invalide. Veuillez téléverser un fichier CSV.
|
||||
csv_uploaded: CSV téléversé avec succès.
|
||||
ndjson_uploaded: Fichier NDJSON téléversé avec succès.
|
||||
pdf_too_large: Le fichier PDF est trop volumineux. La taille maximale est de %{max_size} Mo.
|
||||
pdf_processing: Votre PDF est en cours de traitement. Vous recevrez un e-mail lorsque l'analyse sera terminée.
|
||||
invalid_pdf: Le fichier téléversé n'est pas un PDF valide.
|
||||
@@ -169,10 +197,19 @@ fr:
|
||||
invalid_document_file_type: Type de fichier de document invalide pour le magasin de vecteurs actif.
|
||||
document_uploaded: Document téléversé avec succès.
|
||||
document_upload_failed: Nous n'avons pas pu téléverser le document dans le magasin de vecteurs. Veuillez réessayer.
|
||||
invalid_ndjson_file_type: Type ou format de fichier invalide. Veuillez téléverser un fichier d'export .ndjson ou .json valide.
|
||||
document_provider_not_configured: Aucun magasin de vecteurs n'est configuré pour les téléversements de documents.
|
||||
show:
|
||||
finalize_upload: Veuillez finaliser le téléversement de votre fichier.
|
||||
finalize_mappings: Veuillez finaliser vos correspondances avant de continuer.
|
||||
ready:
|
||||
description: Voici un résumé des nouveaux éléments qui seront ajoutés à votre compte une fois que vous aurez publié cette importation.
|
||||
title: Confirmez vos données d'importation
|
||||
summary_item_label: Élément
|
||||
summary_count_label: Nombre
|
||||
empty_summary: Aucun enregistrement importable n'a été trouvé dans ce fichier. Il est peut-être vide, ou les lignes ne correspondent pas au format d'export attendu (chaque ligne doit être un objet JSON avec les clés « type » et « data », pour des types pris en charge par cet import).
|
||||
publish_import: Publier l'importation
|
||||
back_to_imports: Retour aux importations
|
||||
errors:
|
||||
custom_column_requires_inflow: "Les importations de colonnes personnalisées nécessitent la sélection d'une colonne d'entrée"
|
||||
document_types:
|
||||
@@ -202,11 +239,3 @@ fr:
|
||||
unknown_state_description: Cette importation est dans un état inattendu. Veuillez retourner aux importations.
|
||||
processing_failed_with_message: "%{message}"
|
||||
processing_failed_generic: "Traitement échoué : %{error}"
|
||||
ready:
|
||||
description: Voici un résumé des nouveaux éléments qui seront ajoutés à votre compte une fois que vous aurez publié cette importation.
|
||||
title: Confirmez vos données d'importation
|
||||
summary_item_label: Élément
|
||||
summary_count_label: Nombre
|
||||
empty_summary: Aucun enregistrement importable n'a été trouvé dans ce fichier. Il est peut-être vide, ou les lignes ne correspondent pas au format d'export attendu (chaque ligne doit être un objet JSON avec les clés « type » et « data », pour des types pris en charge par cet import).
|
||||
publish_import: Publier l'importation
|
||||
back_to_imports: Retour aux importations
|
||||
|
||||
254
config/locales/views/indexa_capital_items/fr.yml
Normal file
254
config/locales/views/indexa_capital_items/fr.yml
Normal file
@@ -0,0 +1,254 @@
|
||||
---
|
||||
fr:
|
||||
indexa_capital_items:
|
||||
# Model method strings (i18n for item_model.rb)
|
||||
sync_status:
|
||||
no_accounts: "Aucun compte trouvé"
|
||||
synced:
|
||||
one: "%{count} compte synchronisé"
|
||||
other: "%{count} comptes synchronisés"
|
||||
synced_with_setup: "%{linked} synchronisé(s), %{unlinked} à configurer"
|
||||
institution_summary:
|
||||
none: "Aucune institution connectée"
|
||||
count:
|
||||
one: "%{count} institution"
|
||||
other: "%{count} institutions"
|
||||
errors:
|
||||
provider_not_configured: "Le fournisseur Indexa Capital n'est pas configuré"
|
||||
|
||||
# Syncer status messages
|
||||
sync:
|
||||
status:
|
||||
importing: "Importation des comptes depuis Indexa Capital…"
|
||||
processing: "Traitement des avoirs et des activités…"
|
||||
calculating: "Calcul des soldes…"
|
||||
importing_data: "Importation des données du compte…"
|
||||
checking_setup: "Vérification de la configuration du compte…"
|
||||
needs_setup: "%{count} comptes à configurer…"
|
||||
success: "Synchronisation démarrée"
|
||||
|
||||
# Panel (settings view)
|
||||
panel:
|
||||
setup_instructions: "Instructions de configuration :"
|
||||
step_1: "Rendez-vous sur votre tableau de bord Indexa Capital pour générer un jeton API en lecture seule"
|
||||
step_2: "Collez votre jeton API ci-dessous et cliquez sur Enregistrer"
|
||||
step_3: "Après une connexion réussie, rendez-vous sur l'onglet Comptes pour configurer les nouveaux comptes"
|
||||
field_descriptions: "Description des champs :"
|
||||
optional: "(Facultatif)"
|
||||
required: "(obligatoire)"
|
||||
optional_with_default: "(facultatif, valeur par défaut : %{default_value})"
|
||||
alternative_auth: "Ou utilisez plutôt l'authentification par nom d'utilisateur / mot de passe…"
|
||||
save_button: "Enregistrer la configuration"
|
||||
update_button: "Mettre à jour la configuration"
|
||||
status_configured_html: "Configuré et prêt à l'emploi. Rendez-vous sur l'onglet <a href=\"%{accounts_path}\" class=\"link\">Comptes</a> pour gérer et configurer les comptes."
|
||||
status_not_configured: "Non configuré"
|
||||
fields:
|
||||
api_token:
|
||||
label: "Jeton API"
|
||||
description: "Votre jeton API en lecture seule depuis le tableau de bord Indexa Capital"
|
||||
placeholder_new: "Collez votre jeton API ici"
|
||||
placeholder_update: "Saisissez un nouveau jeton API pour mettre à jour"
|
||||
username:
|
||||
label: "Nom d'utilisateur"
|
||||
description: "Votre nom d'utilisateur / e-mail Indexa Capital"
|
||||
placeholder_new: "Collez le nom d'utilisateur ici"
|
||||
placeholder_update: "Saisissez un nouveau nom d'utilisateur pour mettre à jour"
|
||||
document:
|
||||
label: "Identifiant du document"
|
||||
description: "Votre document / identifiant Indexa Capital"
|
||||
placeholder_new: "Collez l'identifiant du document ici"
|
||||
placeholder_update: "Saisissez un nouvel identifiant de document pour mettre à jour"
|
||||
password:
|
||||
label: "Mot de passe"
|
||||
description: "Votre mot de passe Indexa Capital"
|
||||
placeholder_new: "Collez le mot de passe ici"
|
||||
placeholder_update: "Saisissez un nouveau mot de passe pour mettre à jour"
|
||||
|
||||
# CRUD success messages
|
||||
create:
|
||||
success: "Connexion Indexa Capital créée avec succès"
|
||||
update:
|
||||
success: "Connexion Indexa Capital mise à jour"
|
||||
destroy:
|
||||
success: "Connexion Indexa Capital supprimée"
|
||||
index:
|
||||
title: "Connexions Indexa Capital"
|
||||
|
||||
# Loading states
|
||||
loading:
|
||||
loading_message: "Chargement des comptes Indexa Capital…"
|
||||
loading_title: "Chargement"
|
||||
|
||||
# Account linking
|
||||
link_accounts:
|
||||
all_already_linked:
|
||||
one: "Le compte sélectionné (%{names}) est déjà lié"
|
||||
other: "Les %{count} comptes sélectionnés sont déjà liés : %{names}"
|
||||
api_error: "Erreur API : %{message}"
|
||||
invalid_account_names:
|
||||
one: "Impossible de lier un compte sans nom"
|
||||
other: "Impossible de lier %{count} comptes sans nom"
|
||||
link_failed: "Échec de la liaison des comptes"
|
||||
no_accounts_selected: "Veuillez sélectionner au moins un compte"
|
||||
no_api_key: "Identifiants Indexa Capital introuvables. Veuillez les configurer dans les paramètres du fournisseur."
|
||||
partial_invalid: "%{created_count} compte(s) lié(s) avec succès, %{already_linked_count} étaient déjà liés, %{invalid_count} compte(s) avaient des noms invalides"
|
||||
partial_success: "%{created_count} compte(s) lié(s) avec succès. %{already_linked_count} compte(s) étaient déjà liés : %{already_linked_names}"
|
||||
success:
|
||||
one: "%{count} compte lié avec succès"
|
||||
other: "%{count} comptes liés avec succès"
|
||||
|
||||
# Provider item display (used in _item partial)
|
||||
indexa_capital_item:
|
||||
accounts_need_setup: "Des comptes doivent être configurés"
|
||||
delete: "Supprimer la connexion"
|
||||
deletion_in_progress: "suppression en cours…"
|
||||
error: "Erreur"
|
||||
more_accounts_available:
|
||||
one: "%{count} compte supplémentaire disponible"
|
||||
other: "%{count} comptes supplémentaires disponibles"
|
||||
no_accounts_description: "Cette connexion n'a pas encore de comptes liés."
|
||||
no_accounts_title: "Aucun compte"
|
||||
provider_name: "Indexa Capital"
|
||||
requires_update: "Connexion à mettre à jour"
|
||||
setup_action: "Configurer les nouveaux comptes"
|
||||
setup_description: "%{linked} sur %{total} comptes liés. Choisissez les types de compte pour vos comptes Indexa Capital nouvellement importés."
|
||||
setup_needed: "Nouveaux comptes prêts à être configurés"
|
||||
status: "Synchronisé il y a %{timestamp} — %{summary}"
|
||||
status_never: "Jamais synchronisé"
|
||||
syncing: "Synchronisation…"
|
||||
total: "Total"
|
||||
unlinked: "Non lié"
|
||||
update_credentials: "Mettre à jour les identifiants"
|
||||
|
||||
# Select accounts view
|
||||
select_accounts:
|
||||
accounts_selected: "comptes sélectionnés"
|
||||
api_error: "Erreur API : %{message}"
|
||||
cancel: "Annuler"
|
||||
configure_name_in_provider: "Impossible d'importer - veuillez configurer le nom du compte dans Indexa Capital"
|
||||
description: "Sélectionnez les comptes que vous souhaitez lier à votre compte %{product_name}."
|
||||
link_accounts: "Lier les comptes sélectionnés"
|
||||
no_accounts_found: "Aucun compte trouvé. Veuillez vérifier vos identifiants Indexa Capital."
|
||||
no_api_key: "Les identifiants Indexa Capital ne sont pas configurés. Veuillez les configurer dans les Paramètres."
|
||||
no_credentials_configured: "Veuillez d'abord configurer vos identifiants Indexa Capital dans les paramètres du fournisseur."
|
||||
no_name_placeholder: "(Sans nom)"
|
||||
title: "Sélectionner les comptes Indexa Capital"
|
||||
|
||||
# Select existing account view
|
||||
select_existing_account:
|
||||
account_already_linked: "Ce compte est déjà lié à un fournisseur"
|
||||
all_accounts_already_linked: "Tous les comptes Indexa Capital sont déjà liés"
|
||||
api_error: "Erreur API : %{message}"
|
||||
balance_label: "Solde :"
|
||||
cancel: "Annuler"
|
||||
cancel_button: "Annuler"
|
||||
configure_name_in_provider: "Impossible d'importer - veuillez configurer le nom du compte dans Indexa Capital"
|
||||
connect_hint: "Connectez un compte Indexa Capital pour activer la synchronisation automatique."
|
||||
description: "Sélectionnez un compte Indexa Capital à lier avec ce compte. Les transactions seront synchronisées et dédupliquées automatiquement."
|
||||
header: "Lier avec Indexa Capital"
|
||||
link_account: "Lier le compte"
|
||||
link_button: "Lier ce compte"
|
||||
linking_to: "Liaison à :"
|
||||
no_account_specified: "Aucun compte spécifié"
|
||||
no_accounts: "Aucun compte Indexa Capital non lié trouvé."
|
||||
no_accounts_found: "Aucun compte Indexa Capital trouvé. Veuillez vérifier vos identifiants."
|
||||
no_api_key: "Les identifiants Indexa Capital ne sont pas configurés. Veuillez les configurer dans les Paramètres."
|
||||
no_credentials_configured: "Veuillez d'abord configurer vos identifiants Indexa Capital dans les paramètres du fournisseur."
|
||||
no_name_placeholder: "(Sans nom)"
|
||||
settings_link: "Aller aux paramètres du fournisseur"
|
||||
subtitle: "Choisissez un compte Indexa Capital"
|
||||
title: "Lier %{account_name} avec Indexa Capital"
|
||||
|
||||
# Link existing account
|
||||
link_existing_account:
|
||||
account_already_linked: "Ce compte est déjà lié à un fournisseur"
|
||||
api_error: "Erreur API : %{message}"
|
||||
invalid_account_name: "Impossible de lier un compte sans nom"
|
||||
provider_account_already_linked: "Ce compte Indexa Capital est déjà lié à un autre compte"
|
||||
provider_account_not_found: "Compte Indexa Capital introuvable"
|
||||
missing_parameters: "Paramètres requis manquants"
|
||||
no_api_key: "Identifiants Indexa Capital introuvables. Veuillez les configurer dans les paramètres du fournisseur."
|
||||
success: "%{account_name} lié avec succès à Indexa Capital"
|
||||
|
||||
# Setup accounts wizard
|
||||
setup_accounts:
|
||||
account_type_label: "Type de compte :"
|
||||
accounts_count:
|
||||
one: "%{count} compte disponible"
|
||||
other: "%{count} comptes disponibles"
|
||||
all_accounts_linked: "Tous vos comptes Indexa Capital ont déjà été configurés."
|
||||
api_error: "Erreur API : %{message}"
|
||||
creating: "Création des comptes…"
|
||||
fetch_failed: "Échec de la récupération des comptes"
|
||||
import_selected: "Importer les comptes sélectionnés"
|
||||
instructions: "Sélectionnez les comptes que vous souhaitez importer depuis Indexa Capital. Vous pouvez choisir plusieurs comptes."
|
||||
no_accounts: "Aucun compte non lié trouvé pour cette connexion Indexa Capital."
|
||||
no_accounts_to_setup: "Aucun compte à configurer"
|
||||
no_api_key: "Les identifiants Indexa Capital ne sont pas configurés. Veuillez vérifier les paramètres de connexion."
|
||||
select_all: "Tout sélectionner"
|
||||
account_types:
|
||||
skip: "Ignorer ce compte"
|
||||
depository: "Compte courant ou épargne"
|
||||
credit_card: "Carte de crédit"
|
||||
investment: "Compte d'investissement"
|
||||
crypto: "Compte de cryptomonnaie"
|
||||
loan: "Prêt ou hypothèque"
|
||||
other_asset: "Autre actif"
|
||||
subtype_labels:
|
||||
depository: "Sous-type de compte :"
|
||||
credit_card: ""
|
||||
investment: "Type d'investissement :"
|
||||
crypto: ""
|
||||
loan: "Type de prêt :"
|
||||
other_asset: ""
|
||||
subtype_messages:
|
||||
credit_card: "Les cartes de crédit seront automatiquement configurées comme comptes de carte de crédit."
|
||||
other_asset: "Aucune option supplémentaire nécessaire pour les autres actifs."
|
||||
crypto: "Les comptes de cryptomonnaie seront configurés pour suivre les avoirs et les transactions."
|
||||
subtypes:
|
||||
depository:
|
||||
checking: "Compte courant"
|
||||
savings: "Compte épargne"
|
||||
hsa: "Compte épargne santé"
|
||||
cd: "Certificat de dépôt"
|
||||
money_market: "Compte du marché monétaire"
|
||||
investment:
|
||||
brokerage: "Courtage"
|
||||
pension: "Pension"
|
||||
retirement: "Retraite"
|
||||
"401k": "401(k)"
|
||||
roth_401k: "Roth 401(k)"
|
||||
"403b": "403(b)"
|
||||
tsp: "Plan d'épargne Thrift"
|
||||
"529_plan": "Plan 529"
|
||||
hsa: "Compte épargne santé"
|
||||
mutual_fund: "Fonds commun de placement"
|
||||
ira: "IRA traditionnel"
|
||||
roth_ira: "Roth IRA"
|
||||
angel: "Investissement providentiel"
|
||||
loan:
|
||||
mortgage: "Hypothèque"
|
||||
student: "Prêt étudiant"
|
||||
auto: "Prêt auto"
|
||||
other: "Autre prêt"
|
||||
balance: "Solde"
|
||||
cancel: "Annuler"
|
||||
choose_account_type: "Choisissez le type de compte correct pour chaque compte Indexa Capital :"
|
||||
create_accounts: "Créer les comptes"
|
||||
creating_accounts: "Création des comptes…"
|
||||
historical_data_range: "Plage de données historiques :"
|
||||
subtitle: "Choisissez les types de compte corrects pour vos comptes importés"
|
||||
sync_start_date_help: "Sélectionnez jusqu'où vous souhaitez synchroniser l'historique des transactions."
|
||||
sync_start_date_label: "Commencer la synchronisation des transactions à partir de :"
|
||||
title: "Configurer vos comptes Indexa Capital"
|
||||
|
||||
# Complete account setup
|
||||
complete_account_setup:
|
||||
all_skipped: "Tous les comptes ont été ignorés. Aucun compte n'a été créé."
|
||||
creation_failed: "Échec de la création des comptes : %{error}"
|
||||
no_accounts: "Aucun compte à configurer."
|
||||
success: "%{count} compte(s) créé(s) avec succès."
|
||||
|
||||
# Preload accounts
|
||||
preload_accounts:
|
||||
no_credentials_configured: "Veuillez d'abord configurer vos identifiants Indexa Capital dans les paramètres du fournisseur."
|
||||
@@ -10,6 +10,115 @@ fr:
|
||||
title: Saisir le solde du compte
|
||||
show:
|
||||
chart_title: Valeur totale
|
||||
subtypes:
|
||||
# United States
|
||||
brokerage:
|
||||
short: Courtier
|
||||
long: Courtier
|
||||
401k:
|
||||
short: 401(k)
|
||||
long: 401(k)
|
||||
roth_401k:
|
||||
short: Roth 401(k)
|
||||
long: Roth 401(k)
|
||||
403b:
|
||||
short: 403(b)
|
||||
long: 403(b)
|
||||
457b:
|
||||
short: 457(b)
|
||||
long: 457(b)
|
||||
tsp:
|
||||
short: TSP
|
||||
long: Plan d'épargne fédéral américain (TSP)
|
||||
ira:
|
||||
short: IRA
|
||||
long: Compte de retraite individuel (IRA)
|
||||
roth_ira:
|
||||
short: Roth IRA
|
||||
long: Compte de retraite individuel Roth (Roth IRA)
|
||||
sep_ira:
|
||||
short: SEP IRA
|
||||
long: Plan de retraite simplifié pour employés (SEP-IRA)
|
||||
simple_ira:
|
||||
short: SIMPLE IRA
|
||||
long: Plan d'épargne salariale (SIMPLE IRA)
|
||||
529_plan:
|
||||
short: Plan 529
|
||||
long: Plan 529 d'épargne-études
|
||||
hsa:
|
||||
short: HSA
|
||||
long: Compte d'épargne santé
|
||||
ugma:
|
||||
short: UGMA
|
||||
long: Compte de garde UGMA
|
||||
utma:
|
||||
short: UTMA
|
||||
long: Compte de garde UTMA
|
||||
# United Kingdom
|
||||
isa:
|
||||
short: ISA
|
||||
long: Plan d'épargne individuel britannique (ISA)
|
||||
lisa:
|
||||
short: LISA
|
||||
long: Plan d'épargne individuel à vie (LISA)
|
||||
sipp:
|
||||
short: SIPP
|
||||
long: Plan de retraite individuel auto-géré (SIPP)
|
||||
workplace_pension_uk:
|
||||
short: Pension
|
||||
long: Pension d'entreprise
|
||||
# Canada
|
||||
rrsp:
|
||||
short: REER
|
||||
long: Régime enregistré d'épargne-retraite
|
||||
tfsa:
|
||||
short: CELI
|
||||
long: Compte d'épargne libre d'impôt
|
||||
resp:
|
||||
short: REEE
|
||||
long: Régime enregistré d'épargne-études
|
||||
lira:
|
||||
short: CRI
|
||||
long: Compte de retraite immobilisé
|
||||
rrif:
|
||||
short: FERR
|
||||
long: Fonds enregistré de revenu de retraite
|
||||
# Australia
|
||||
super:
|
||||
short: Super
|
||||
long: Superannuation
|
||||
smsf:
|
||||
short: SMSF
|
||||
long: Self-Managed Super Fund
|
||||
# Europe
|
||||
pea:
|
||||
short: PEA
|
||||
long: Plan d'Épargne en Actions
|
||||
pillar_3a:
|
||||
short: Pilier 3a
|
||||
long: Prévoyance privée (Pilier 3a)
|
||||
riester:
|
||||
short: Riester
|
||||
long: Riester-Rente
|
||||
# Generic
|
||||
pension:
|
||||
short: Retraite
|
||||
long: Retraite
|
||||
retirement:
|
||||
short: Retraite
|
||||
long: Compte de retraite
|
||||
mutual_fund:
|
||||
short: Fonds commun
|
||||
long: Fonds commun de placement
|
||||
angel:
|
||||
short: Business angel
|
||||
long: Investissement providentiel
|
||||
trust:
|
||||
short: Fiducie
|
||||
long: Fiducie
|
||||
other:
|
||||
short: Autre
|
||||
long: Autre investissement
|
||||
value_tooltip:
|
||||
cash: Liquidités
|
||||
holdings: Titres
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
---
|
||||
fr:
|
||||
invitations:
|
||||
accept_choice:
|
||||
create_account: Créer un nouveau compte
|
||||
joined_household: Vous avez rejoint le foyer.
|
||||
message: "%{inviter} vous a invité(e) à rejoindre en tant que %{role}."
|
||||
sign_in_existing: J'ai déjà un compte
|
||||
title: Rejoindre %{family}
|
||||
create:
|
||||
existing_user_added: L'utilisateur a été ajouté à votre foyer.
|
||||
failure: Impossible d'envoyer l'invitation
|
||||
success: Invitation envoyée avec succès
|
||||
destroy:
|
||||
@@ -12,8 +19,9 @@ fr:
|
||||
email_label: Adresse e-mail
|
||||
email_placeholder: Saisissez une adresse e-mail
|
||||
role_admin: Administrateur
|
||||
role_guest: Invité
|
||||
role_label: Rôle
|
||||
role_member: Membre
|
||||
submit: Envoyer l'invitation
|
||||
subtitle: Envoyez une invitation pour rejoindre votre compte familial sur %{product_name}
|
||||
subtitle: Envoyez une invitation pour rejoindre votre compte %{moniker} sur %{product_name}
|
||||
title: Inviter quelqu'un
|
||||
|
||||
@@ -10,6 +10,8 @@ fr:
|
||||
rate_type: Type de taux
|
||||
term_months: Durée (mois)
|
||||
term_months_placeholder: '360'
|
||||
subtype_prompt: Sélectionner le type de prêt
|
||||
subtype_none: Aucun
|
||||
new:
|
||||
title: Saisir les détails du prêt
|
||||
overview:
|
||||
|
||||
@@ -52,7 +52,9 @@ en:
|
||||
new:
|
||||
title: New merchant
|
||||
perform_merge:
|
||||
success: Successfully merged %{count} merchants
|
||||
success:
|
||||
one: Successfully merged %{count} merchant
|
||||
other: Successfully merged %{count} merchants
|
||||
no_merchants_selected: No merchants selected to merge
|
||||
target_not_found: Target merchant not found
|
||||
invalid_merchants: Invalid merchants selected
|
||||
|
||||
@@ -6,14 +6,34 @@ fr:
|
||||
success: Marchand créé avec succès
|
||||
destroy:
|
||||
success: Marchand supprimé avec succès
|
||||
unlinked_success: Marchand retiré de vos transactions
|
||||
edit:
|
||||
title: Modifier le marchand
|
||||
form:
|
||||
name_placeholder: Nom du marchand
|
||||
website_placeholder: "Site web (ex. : starbucks.com)"
|
||||
website_hint: Saisissez le site web du marchand pour afficher automatiquement son logo
|
||||
index:
|
||||
empty: Aucun marchand pour l'instant
|
||||
new: Nouveau marchand
|
||||
merge: Fusionner des marchands
|
||||
title: Marchands
|
||||
family_title: "Marchands %{moniker}"
|
||||
family_empty: "Aucun marchand %{moniker} pour l'instant"
|
||||
provider_title: Marchands du fournisseur
|
||||
provider_empty: "Aucun marchand du fournisseur lié à ce %{moniker} pour l'instant"
|
||||
provider_read_only: Les marchands du fournisseur sont synchronisés depuis vos institutions connectées. Ils ne peuvent pas être modifiés ici.
|
||||
provider_info: Ces marchands ont été détectés automatiquement par vos connexions bancaires ou par l'IA. Vous pouvez les modifier pour créer votre propre copie, ou les retirer pour les dissocier de vos transactions.
|
||||
enhance_info:
|
||||
one: "%{count} marchand du fournisseur n'a pas d'informations de site web. Améliorez avec l'IA pour détecter les sites web, afficher les logos et fusionner les marchands en double."
|
||||
other: "%{count} marchands du fournisseur n'ont pas d'informations de site web. Améliorez avec l'IA pour détecter les sites web, afficher les logos et fusionner les marchands en double."
|
||||
enhance_button: Améliorer avec l'IA
|
||||
unlinked_title: Récemment dissociés
|
||||
unlinked_info: Ces marchands ont été récemment retirés de vos transactions. Ils disparaîtront de cette liste après 30 jours s'ils ne sont pas réaffectés à une transaction.
|
||||
table:
|
||||
merchant: Marchand
|
||||
actions: Actions
|
||||
source: Source
|
||||
merchant:
|
||||
confirm_accept: Supprimer le marchand
|
||||
confirm_body: Êtes-vous sûr de vouloir supprimer ce marchand ? La suppression de ce marchand
|
||||
@@ -21,7 +41,31 @@ fr:
|
||||
confirm_title: Supprimer le marchand ?
|
||||
delete: Supprimer le marchand
|
||||
edit: Modifier le marchand
|
||||
merge:
|
||||
title: Fusionner des marchands
|
||||
description: Sélectionnez un marchand cible et les marchands à fusionner avec lui. Toutes les transactions des marchands fusionnés seront réaffectées à la cible.
|
||||
target_label: Fusionner vers (cible)
|
||||
select_target: Sélectionnez le marchand cible…
|
||||
sources_label: Marchands à fusionner
|
||||
sources_hint: Les marchands sélectionnés seront fusionnés avec la cible. Les marchands de la famille seront supprimés, les marchands du fournisseur seront dissociés.
|
||||
submit: Fusionner la sélection
|
||||
new:
|
||||
title: Nouveau marchand
|
||||
perform_merge:
|
||||
success:
|
||||
one: "%{count} marchand fusionné avec succès"
|
||||
other: "%{count} marchands fusionnés avec succès"
|
||||
no_merchants_selected: Aucun marchand sélectionné à fusionner
|
||||
target_not_found: Marchand cible introuvable
|
||||
invalid_merchants: Marchands sélectionnés invalides
|
||||
provider_merchant:
|
||||
edit: Modifier
|
||||
remove: Retirer
|
||||
remove_confirm_title: Retirer le marchand ?
|
||||
remove_confirm_body: Êtes-vous sûr de vouloir retirer %{name} ? Cela dissociera toutes les transactions associées à ce marchand, mais ne supprimera pas le marchand lui-même.
|
||||
enhance:
|
||||
success: L'amélioration des marchands du fournisseur a démarré. Les marchands seront améliorés et les doublons fusionnés sous peu.
|
||||
already_running: Une amélioration est déjà en cours. Veuillez attendre qu'elle se termine.
|
||||
update:
|
||||
success: Marchand mis à jour avec succès
|
||||
converted_success: Marchand converti et mis à jour avec succès
|
||||
|
||||
147
config/locales/views/mercury_items/fr.yml
Normal file
147
config/locales/views/mercury_items/fr.yml
Normal file
@@ -0,0 +1,147 @@
|
||||
---
|
||||
fr:
|
||||
mercury_items:
|
||||
create:
|
||||
success: Connexion Mercury créée avec succès
|
||||
destroy:
|
||||
success: Connexion Mercury supprimée
|
||||
index:
|
||||
title: Connexions Mercury
|
||||
loading:
|
||||
loading_message: Chargement des comptes Mercury…
|
||||
loading_title: Chargement
|
||||
link_accounts:
|
||||
all_already_linked:
|
||||
one: "Le compte sélectionné (%{names}) est déjà lié"
|
||||
other: "Les %{count} comptes sélectionnés sont déjà liés : %{names}"
|
||||
api_error: "Erreur API : %{message}"
|
||||
invalid_account_names:
|
||||
one: "Impossible de lier un compte sans nom"
|
||||
other: "Impossible de lier %{count} comptes sans nom"
|
||||
link_failed: Échec de la liaison des comptes
|
||||
no_accounts_selected: Veuillez sélectionner au moins un compte
|
||||
no_api_token: Jeton API Mercury introuvable. Veuillez le configurer dans les paramètres du fournisseur.
|
||||
partial_invalid: "%{created_count} compte(s) lié(s) avec succès, %{already_linked_count} étaient déjà liés, %{invalid_count} compte(s) avaient des noms invalides"
|
||||
partial_success: "%{created_count} compte(s) lié(s) avec succès. %{already_linked_count} compte(s) étaient déjà liés : %{already_linked_names}"
|
||||
success:
|
||||
one: "%{count} compte lié avec succès"
|
||||
other: "%{count} comptes liés avec succès"
|
||||
mercury_item:
|
||||
accounts_need_setup: Des comptes doivent être configurés
|
||||
delete: Supprimer la connexion
|
||||
deletion_in_progress: suppression en cours…
|
||||
error: Erreur
|
||||
no_accounts_description: Cette connexion n'a pas encore de comptes liés.
|
||||
no_accounts_title: Aucun compte
|
||||
setup_action: Configurer les nouveaux comptes
|
||||
setup_description: "%{linked} sur %{total} comptes liés. Choisissez les types de compte pour vos comptes Mercury nouvellement importés."
|
||||
setup_needed: Nouveaux comptes prêts à être configurés
|
||||
status: "Synchronisé il y a %{timestamp}"
|
||||
status_never: Jamais synchronisé
|
||||
status_with_summary: "Dernière synchronisation il y a %{timestamp} - %{summary}"
|
||||
syncing: Synchronisation…
|
||||
total: Total
|
||||
unlinked: Non lié
|
||||
select_accounts:
|
||||
accounts_selected: comptes sélectionnés
|
||||
api_error: "Erreur API : %{message}"
|
||||
cancel: Annuler
|
||||
configure_name_in_mercury: Impossible d'importer - veuillez configurer le nom du compte dans Mercury
|
||||
description: Sélectionnez les comptes que vous souhaitez lier à votre compte %{product_name}.
|
||||
link_accounts: Lier les comptes sélectionnés
|
||||
no_accounts_found: Aucun compte trouvé. Veuillez vérifier la configuration de votre jeton API.
|
||||
no_api_token: Le jeton API Mercury n'est pas configuré. Veuillez le configurer dans les Paramètres.
|
||||
no_credentials_configured: Veuillez d'abord configurer votre jeton API Mercury dans les paramètres du fournisseur.
|
||||
no_name_placeholder: "(Sans nom)"
|
||||
title: Sélectionner les comptes Mercury
|
||||
select_existing_account:
|
||||
account_already_linked: Ce compte est déjà lié à un fournisseur
|
||||
all_accounts_already_linked: Tous les comptes Mercury sont déjà liés
|
||||
api_error: "Erreur API : %{message}"
|
||||
cancel: Annuler
|
||||
configure_name_in_mercury: Impossible d'importer - veuillez configurer le nom du compte dans Mercury
|
||||
description: Sélectionnez un compte Mercury à lier avec ce compte. Les transactions seront synchronisées et dédupliquées automatiquement.
|
||||
link_account: Lier le compte
|
||||
no_account_specified: Aucun compte spécifié
|
||||
no_accounts_found: Aucun compte Mercury trouvé. Veuillez vérifier la configuration de votre jeton API.
|
||||
no_api_token: Le jeton API Mercury n'est pas configuré. Veuillez le configurer dans les Paramètres.
|
||||
no_credentials_configured: Veuillez d'abord configurer votre jeton API Mercury dans les paramètres du fournisseur.
|
||||
no_name_placeholder: "(Sans nom)"
|
||||
title: "Lier %{account_name} avec Mercury"
|
||||
link_existing_account:
|
||||
account_already_linked: Ce compte est déjà lié à un fournisseur
|
||||
api_error: "Erreur API : %{message}"
|
||||
invalid_account_name: Impossible de lier un compte sans nom
|
||||
mercury_account_already_linked: Ce compte Mercury est déjà lié à un autre compte
|
||||
mercury_account_not_found: Compte Mercury introuvable
|
||||
missing_parameters: Paramètres requis manquants
|
||||
no_api_token: Jeton API Mercury introuvable. Veuillez le configurer dans les paramètres du fournisseur.
|
||||
success: "%{account_name} lié avec succès à Mercury"
|
||||
setup_accounts:
|
||||
account_type_label: "Type de compte :"
|
||||
all_accounts_linked: "Tous vos comptes Mercury ont déjà été configurés."
|
||||
api_error: "Erreur API : %{message}"
|
||||
fetch_failed: "Échec de la récupération des comptes"
|
||||
no_accounts_to_setup: "Aucun compte à configurer"
|
||||
no_api_token: "Le jeton API Mercury n'est pas configuré. Veuillez vérifier les paramètres de connexion."
|
||||
account_types:
|
||||
skip: Ignorer ce compte
|
||||
depository: Compte courant ou épargne
|
||||
credit_card: Carte de crédit
|
||||
investment: Compte d'investissement
|
||||
loan: Prêt ou hypothèque
|
||||
other_asset: Autre actif
|
||||
subtype_labels:
|
||||
depository: "Sous-type de compte :"
|
||||
credit_card: ""
|
||||
investment: "Type d'investissement :"
|
||||
loan: "Type de prêt :"
|
||||
other_asset: ""
|
||||
subtype_messages:
|
||||
credit_card: "Les cartes de crédit seront automatiquement configurées comme comptes de carte de crédit."
|
||||
other_asset: "Aucune option supplémentaire nécessaire pour les autres actifs."
|
||||
subtypes:
|
||||
depository:
|
||||
checking: Compte courant
|
||||
savings: Compte épargne
|
||||
hsa: Compte épargne santé
|
||||
cd: Certificat de dépôt
|
||||
money_market: Compte du marché monétaire
|
||||
investment:
|
||||
brokerage: Courtage
|
||||
pension: Pension
|
||||
retirement: Retraite
|
||||
"401k": "401(k)"
|
||||
roth_401k: "Roth 401(k)"
|
||||
"403b": "403(b)"
|
||||
tsp: Plan d'épargne Thrift
|
||||
"529_plan": "Plan 529"
|
||||
hsa: Compte épargne santé
|
||||
mutual_fund: Fonds commun de placement
|
||||
ira: IRA traditionnel
|
||||
roth_ira: Roth IRA
|
||||
angel: Investissement providentiel
|
||||
loan:
|
||||
mortgage: Hypothèque
|
||||
student: Prêt étudiant
|
||||
auto: Prêt auto
|
||||
other: Autre prêt
|
||||
balance: Solde
|
||||
cancel: Annuler
|
||||
choose_account_type: "Choisissez le type de compte correct pour chaque compte Mercury :"
|
||||
create_accounts: Créer les comptes
|
||||
creating_accounts: Création des comptes…
|
||||
historical_data_range: "Plage de données historiques :"
|
||||
subtitle: Choisissez les types de compte corrects pour vos comptes importés
|
||||
sync_start_date_help: Sélectionnez jusqu'où vous souhaitez synchroniser l'historique des transactions. Maximum 3 ans d'historique disponible.
|
||||
sync_start_date_label: "Commencer la synchronisation des transactions à partir de :"
|
||||
title: Configurer vos comptes Mercury
|
||||
complete_account_setup:
|
||||
all_skipped: "Tous les comptes ont été ignorés. Aucun compte n'a été créé."
|
||||
creation_failed: "Échec de la création des comptes : %{error}"
|
||||
no_accounts: "Aucun compte à configurer."
|
||||
success: "%{count} compte(s) créé(s) avec succès."
|
||||
sync:
|
||||
success: Synchronisation démarrée
|
||||
update:
|
||||
success: Connexion Mercury mise à jour
|
||||
@@ -18,6 +18,7 @@ fr:
|
||||
info_email: "E-mail :"
|
||||
info_name: "Nom :"
|
||||
submit_create: Créer un compte
|
||||
submit_accept_invitation: Accepter l'invitation
|
||||
account_creation_disabled: La création de compte via l'authentification unique est désactivée. Veuillez contacter un administrateur.
|
||||
cancel: Annuler
|
||||
new_user:
|
||||
@@ -30,4 +31,4 @@ fr:
|
||||
last_name_label: Nom de famille
|
||||
last_name_placeholder: Saisissez votre nom de famille
|
||||
submit: Créer un compte
|
||||
cancel: Annuler
|
||||
cancel: Annuler
|
||||
|
||||
@@ -16,8 +16,13 @@ fr:
|
||||
first_name_placeholder: Prénom
|
||||
last_name: Nom de famille
|
||||
last_name_placeholder: Nom de famille
|
||||
group_name: Nom du groupe
|
||||
group_name_placeholder: Nom du groupe
|
||||
household_name: Nom du foyer
|
||||
household_name_placeholder: Nom du foyer
|
||||
moniker_prompt: "Vous utiliserez %{product_name} avec…"
|
||||
moniker_family: Membres de la famille (seul ou avec votre partenaire, vos enfants, etc.)
|
||||
moniker_group: Groupe de personnes (entreprise, club, association, ou tout autre type)
|
||||
country: Pays
|
||||
submit: Continuer
|
||||
preferences:
|
||||
@@ -58,4 +63,4 @@ fr:
|
||||
in_40_days: Dans 40 jours (%{date})
|
||||
in_40_days_description: Nous vous notifierons pour vous rappeler d'exporter vos données.
|
||||
in_45_days: Dans 45 jours (%{date})
|
||||
in_45_days_description: Nous supprimons vos données — contribuez pour continuer à utiliser Sure ici !
|
||||
in_45_days_description: Nous supprimons vos données — contribuez pour continuer à utiliser Sure ici !
|
||||
|
||||
@@ -3,5 +3,7 @@ fr:
|
||||
other_assets:
|
||||
edit:
|
||||
edit: Modifier %{account}
|
||||
balance_tracking_info: "Les autres actifs sont suivis via des valorisations manuelles à l'aide de 'Nouveau solde', et non via des transactions. Les flux de trésorerie n'affecteront pas le solde du compte."
|
||||
new:
|
||||
title: Saisir les détails de l'actif
|
||||
balance_tracking_info: "Les autres actifs sont suivis via des valorisations manuelles à l'aide de 'Nouveau solde', et non via des transactions. Les flux de trésorerie n'affecteront pas le solde du compte."
|
||||
|
||||
@@ -3,23 +3,56 @@ fr:
|
||||
pages:
|
||||
changelog:
|
||||
title: Nouveautés
|
||||
privacy:
|
||||
title: Politique de confidentialité
|
||||
heading: Politique de confidentialité
|
||||
placeholder: Le contenu de la politique de confidentialité sera affiché ici.
|
||||
terms:
|
||||
title: Conditions d'utilisation
|
||||
heading: Conditions d'utilisation
|
||||
placeholder: Le contenu des conditions d'utilisation sera affiché ici.
|
||||
dashboard:
|
||||
welcome_back: Content de vous revoir
|
||||
happening_with_finance: Voici ce qui se passe avec vos finances
|
||||
new: Nouveau
|
||||
cashflow:
|
||||
title: Flux de trésorerie
|
||||
no_cashflow: Aucune donnée de flux de trésorerie pour cette période
|
||||
add_transactions_to_display_cashflow: Ajoutez des transactions pour afficher les données de flux de trésorerie ou étendre la période
|
||||
new: Ajouter une transaction
|
||||
welcome: "Content de vous revoir, %{name}"
|
||||
subtitle: "Voici ce qui se passe avec vos finances"
|
||||
new: "Nouveau"
|
||||
drag_to_reorder: "Glisser pour réorganiser la section"
|
||||
toggle_section: "Afficher/masquer la section"
|
||||
net_worth_chart:
|
||||
data_not_available: Données indisponibles pour la période sélectionnée
|
||||
title: Valeur nette
|
||||
title: Patrimoine net
|
||||
no_account_empty_state:
|
||||
new_account: Nouveau compte
|
||||
no_account_subtitle: Comme aucun compte n'a été ajouté, il n'y a pas de données à afficher. Ajoutez vos premiers comptes pour commencer à consulter les données du tableau de bord.
|
||||
no_account_title: Pas encore de comptes
|
||||
no_account_graph_placeholder:
|
||||
no_account_yet: Pas encore de compte
|
||||
add_account_to_display: Ajouter des comptes pour afficher les données de valeur nette
|
||||
new: Ajouter un compte
|
||||
balance_sheet:
|
||||
title: "Bilan"
|
||||
no_items: "Aucun %{name} pour l'instant"
|
||||
add_accounts: "Ajoutez vos comptes %{name} pour voir une ventilation complète"
|
||||
cashflow_sankey:
|
||||
title: "Flux de trésorerie"
|
||||
no_data_title: "Aucune donnée de flux de trésorerie pour cette période"
|
||||
no_data_description: "Ajoutez des transactions pour afficher les données de flux de trésorerie ou étendez la période"
|
||||
add_transaction: "Ajouter une transaction"
|
||||
no_accounts:
|
||||
title: "Pas encore de comptes"
|
||||
description: "Ajoutez des comptes pour afficher les données de patrimoine net"
|
||||
add_account: "Ajouter un compte"
|
||||
outflows_donut:
|
||||
title: "Sorties"
|
||||
total_outflows: "Total des sorties"
|
||||
categories: "Catégories"
|
||||
value: "Valeur"
|
||||
weight: "Poids"
|
||||
investment_summary:
|
||||
title: "Investissements"
|
||||
total_return: "Rendement total"
|
||||
holding: "Avoir"
|
||||
weight: "Poids"
|
||||
value: "Valeur"
|
||||
return: "Rendement"
|
||||
period_activity: "Activité %{period}"
|
||||
contributions: "Apports"
|
||||
withdrawals: "Retraits"
|
||||
trades: "Transactions boursières"
|
||||
no_investments: "Aucun compte d'investissement"
|
||||
add_investment: "Ajoutez un compte d'investissement pour suivre votre portefeuille"
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
---
|
||||
fr:
|
||||
password_resets:
|
||||
disabled: La réinitialisation du mot de passe via Sure est désactivée. Veuillez réinitialiser votre mot de passe via votre fournisseur d'identité.
|
||||
sso_only_user: Votre compte utilise le SSO pour l'authentification. Veuillez contacter votre administrateur pour gérer vos identifiants.
|
||||
edit:
|
||||
title: Réinitialiser votre mot de passe
|
||||
new:
|
||||
|
||||
17
config/locales/views/pdf_import_mailer/fr.yml
Normal file
17
config/locales/views/pdf_import_mailer/fr.yml
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
fr:
|
||||
pdf_import_mailer:
|
||||
next_steps:
|
||||
greeting: "Bonjour %{name},"
|
||||
intro: "Nous avons terminé l'analyse du document PDF que vous avez téléversé sur %{product}."
|
||||
document_type_label: Type de document
|
||||
summary_label: Résumé IA
|
||||
transactions_note: Ce document semble contenir des transactions. Vous pouvez les extraire et les consulter maintenant.
|
||||
document_stored_note: Ce document a été stocké pour votre référence. Il peut être utilisé pour fournir du contexte dans vos futures conversations avec l'IA.
|
||||
next_steps_label: Et maintenant ?
|
||||
next_steps_intro: "Plusieurs options s'offrent à vous :"
|
||||
option_extract_transactions: Extraire les transactions de ce relevé
|
||||
option_keep_reference: Conserver ce document pour référence dans vos futures conversations avec l'IA
|
||||
option_delete: Supprimer cet import si vous n'en avez plus besoin
|
||||
view_import_button: Voir les détails de l'import
|
||||
footer_note: Ceci est un message automatique. Veuillez ne pas répondre directement à cet e-mail.
|
||||
14
config/locales/views/pending_duplicate_merges/fr.yml
Normal file
14
config/locales/views/pending_duplicate_merges/fr.yml
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
fr:
|
||||
pending_duplicate_merges:
|
||||
new:
|
||||
title: Fusionner avec une transaction validée
|
||||
warning_title: Fusion manuelle de doublons
|
||||
warning_description: Utilisez cette option pour fusionner manuellement une transaction en attente avec sa version validée. Cela supprimera la transaction en attente et ne conservera que la version validée.
|
||||
pending_transaction: Transaction en attente
|
||||
select_posted: Sélectionner la transaction validée à fusionner
|
||||
showing_range: "Affichage de %{start} - %{end}"
|
||||
previous: "← 10 précédentes"
|
||||
next: "10 suivantes →"
|
||||
no_candidates: Aucune transaction validée trouvée sur ce compte.
|
||||
submit_button: Fusionner les transactions
|
||||
@@ -21,3 +21,8 @@ fr:
|
||||
status_never: Synchronisation de données requise
|
||||
syncing: Synchronisation...
|
||||
update: Mettre à jour la connexion
|
||||
select_existing_account:
|
||||
title: "Lier %{account_name} à Plaid"
|
||||
description: Sélectionnez un compte Plaid à lier à votre compte existant
|
||||
cancel: Annuler
|
||||
link_account: Lier le compte
|
||||
|
||||
@@ -5,7 +5,10 @@ fr:
|
||||
upcoming: Transactions récurrentes à venir
|
||||
projected: Projeté
|
||||
recurring: Récurrent
|
||||
expected_on: Attendu le %{date}
|
||||
expected_today: "Attendue aujourd'hui"
|
||||
expected_in:
|
||||
one: "Attendue dans %{count} jour"
|
||||
other: "Attendue dans %{count} jours"
|
||||
day_of_month: Jour %{day} du mois
|
||||
identify_patterns: Identifier les modèles
|
||||
cleanup_stale: Nettoyer les obsolètes
|
||||
|
||||
@@ -15,8 +15,9 @@ fr:
|
||||
success: Vous avez été inscrit avec succès.
|
||||
new:
|
||||
invitation_message: "%{inviter} vous a invité à rejoindre en tant que %{role}"
|
||||
join_family_title: Rejoindre %{family}
|
||||
join_family_title: Rejoindre %{family} %{moniker}
|
||||
role_admin: administrateur
|
||||
role_guest: invité
|
||||
role_member: membre
|
||||
submit: Créer un compte
|
||||
title: Créez votre compte
|
||||
|
||||
@@ -34,6 +34,7 @@ fr:
|
||||
budgeted: Budgété
|
||||
remaining: Restant
|
||||
over_by: Dépassé de
|
||||
shared: partagé
|
||||
suggested_daily: "%{amount} suggéré par jour pour les %{days} jours restants"
|
||||
no_budgets: Aucune catégorie de budget définie pour ce mois
|
||||
status:
|
||||
@@ -104,8 +105,8 @@ fr:
|
||||
income: Revenus
|
||||
uncategorized: Non catégorisé
|
||||
entries:
|
||||
one: entrée
|
||||
other: entrées
|
||||
one: "%{count} entrée"
|
||||
other: "%{count} entrées"
|
||||
percentage: "% du total"
|
||||
pagination:
|
||||
showing:
|
||||
@@ -114,8 +115,8 @@ fr:
|
||||
previous: Précédent
|
||||
next: Suivant
|
||||
net_worth:
|
||||
title: Valeur nette
|
||||
current_net_worth: Valeur nette actuelle
|
||||
title: Patrimoine net
|
||||
current_net_worth: Patrimoine net actuel
|
||||
period_change: Variation sur la période
|
||||
assets_vs_liabilities: Actifs vs Passifs
|
||||
total_assets: Actifs
|
||||
@@ -134,6 +135,28 @@ fr:
|
||||
value: Valeur
|
||||
return: Rendement
|
||||
accounts: Comptes d'investissement
|
||||
gains_by_tax_treatment: Gains par traitement fiscal
|
||||
unrealized_gains: Plus-values latentes
|
||||
realized_gains: Plus-values réalisées
|
||||
total_gains: Gains totaux
|
||||
taxable_realized_note: Ces gains peuvent être soumis à l'impôt
|
||||
no_data: "-"
|
||||
view_details: Voir les détails
|
||||
holdings_count:
|
||||
one: "%{count} avoir"
|
||||
other: "%{count} avoirs"
|
||||
sells_count:
|
||||
one: "%{count} vente"
|
||||
other: "%{count} ventes"
|
||||
holdings: Avoirs
|
||||
sell_trades: Transactions boursières de vente
|
||||
and_more: "+%{count} de plus"
|
||||
investment_flows:
|
||||
title: Flux d'investissement
|
||||
description: Suivez les flux d'argent entrants et sortants de vos comptes d'investissement
|
||||
contributions: Contributions
|
||||
withdrawals: Retraits
|
||||
net_flow: Flux net
|
||||
google_sheets_instructions:
|
||||
title_with_key: "✅ Copier l'URL pour Google Sheets"
|
||||
title_no_key: "⚠️ Clé API requise"
|
||||
@@ -164,7 +187,7 @@ fr:
|
||||
of_income: "%{percent}% des revenus"
|
||||
used: utilisé
|
||||
net_worth:
|
||||
title: Valeur nette
|
||||
title: Patrimoine net
|
||||
current_balance: Solde actuel
|
||||
this_period: cette période
|
||||
assets: Actifs
|
||||
|
||||
@@ -38,3 +38,15 @@ fr:
|
||||
pending: En attente
|
||||
success: Réussi
|
||||
failed: Échoué
|
||||
clear_ai_cache:
|
||||
button: Réinitialiser le cache IA
|
||||
confirm_title: Réinitialiser le cache IA ?
|
||||
confirm_body: Êtes-vous sûr de vouloir réinitialiser le cache IA ? Cela permettra aux règles IA de retraiter toutes les transactions. Cela pourrait engendrer des coûts API supplémentaires.
|
||||
confirm_button: Réinitialiser le cache
|
||||
success: Le cache IA est en cours de suppression. Cela peut prendre quelques instants.
|
||||
condition_filters:
|
||||
transaction_type:
|
||||
income: Revenu
|
||||
expense: Dépense
|
||||
transfer: Virement
|
||||
equal_to: Égal à
|
||||
|
||||
14
config/locales/views/securities/fr.yml
Normal file
14
config/locales/views/securities/fr.yml
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
fr:
|
||||
securities:
|
||||
combobox:
|
||||
display: "%{symbol} - %{name} (%{exchange})"
|
||||
exchange_label: "%{symbol} (%{exchange})"
|
||||
providers:
|
||||
twelve_data: Twelve Data
|
||||
yahoo_finance: Yahoo Finance
|
||||
tiingo: Tiingo
|
||||
eodhd: EODHD
|
||||
alpha_vantage: Alpha Vantage
|
||||
mfapi: MFAPI.in
|
||||
binance_public: Binance
|
||||
@@ -3,8 +3,19 @@ fr:
|
||||
sessions:
|
||||
create:
|
||||
invalid_credentials: Adresse e-mail ou mot de passe invalide.
|
||||
local_login_disabled: La connexion locale par mot de passe est désactivée. Veuillez utiliser l'authentification unique.
|
||||
destroy:
|
||||
logout_successful: Vous avez été déconnecté avec succès.
|
||||
post_logout:
|
||||
logout_successful: Vous avez été déconnecté avec succès.
|
||||
openid_connect:
|
||||
account_linked: "Compte lié avec succès à %{provider}"
|
||||
failed: Impossible de s'authentifier via OpenID Connect.
|
||||
failure:
|
||||
failed: Impossible de s'authentifier.
|
||||
sso_provider_unavailable: "Le fournisseur SSO est actuellement indisponible. Veuillez réessayer plus tard ou contacter un administrateur."
|
||||
sso_invalid_response: "Réponse invalide reçue du fournisseur SSO. Veuillez réessayer."
|
||||
sso_failed: "Échec de l'authentification unique. Veuillez réessayer."
|
||||
new:
|
||||
email: Adresse e-mail
|
||||
email_placeholder: nom@exemple.fr
|
||||
@@ -15,3 +26,8 @@ fr:
|
||||
password_placeholder: Entrez votre mot de passe
|
||||
openid_connect: Se connecter avec OpenID Connect
|
||||
oidc: Se connecter avec OpenID Connect
|
||||
google_auth_connect: Se connecter avec Google
|
||||
local_login_admin_only: La connexion locale est réservée aux administrateurs.
|
||||
no_auth_methods_enabled: Aucune méthode d'authentification n'est actuellement activée. Veuillez contacter un administrateur.
|
||||
demo_banner_title: "Mode démo activé"
|
||||
demo_banner_message: "Ceci est un environnement de démonstration. Les identifiants de connexion ont été pré-remplis par commodité. Veuillez ne pas saisir d'informations réelles ou sensibles."
|
||||
|
||||
@@ -13,39 +13,40 @@ fr:
|
||||
api_keys:
|
||||
show:
|
||||
title: "Gestion des clés API"
|
||||
no_api_key:
|
||||
title: "Clé API"
|
||||
description: "Accédez de manière programmée à vos données %{product_name} avec une clé API sécurisée."
|
||||
what_you_can_do: "Ce que vous pouvez faire avec l'API :"
|
||||
feature_1: "Accéder à vos données de compte de manière automatisée"
|
||||
feature_2: "Construire des intégrations et applications personnalisées"
|
||||
feature_3: "Automatiser la récupération et l'analyse des données"
|
||||
security_note_title: "Sécurité avant tout"
|
||||
security_note: "Votre clé API aura des autorisations limitées en fonction des domaines que vous sélectionnez. Vous ne pouvez avoir qu'une seule clé API active à la fois."
|
||||
create_api_key: "Créer une clé API"
|
||||
current_api_key:
|
||||
title: "Votre Clé API"
|
||||
description: "Votre clé API active est prête à être utilisée. Gardez-la en sécurité et ne la partagez jamais publiquement."
|
||||
active: "Active"
|
||||
key_name: "Nom"
|
||||
created_at: "Créée le"
|
||||
last_used: "Dernière utilisation"
|
||||
expires: "Expire le"
|
||||
ago: "il y a"
|
||||
never_used: "Jamais utilisée"
|
||||
never_expires: "N'expire jamais"
|
||||
permissions: "Autorisations"
|
||||
usage_instructions_title: "Comment utiliser votre clé API"
|
||||
usage_instructions: "Incluez votre clé API dans l'en-tête X-Api-Key lors des requêtes à l'API %{product_name} :"
|
||||
regenerate_key: "Créer une nouvelle clé"
|
||||
revoke_key: "Révoquer la clé"
|
||||
revoke_confirmation: "Êtes-vous sûr de vouloir révoquer cette clé API ? Cette action ne peut pas être annulée et désactivera immédiatement toutes les applications utilisant cette clé."
|
||||
no_api_key:
|
||||
title: "Clé API"
|
||||
heading: "Accédez à vos données de compte par programmation"
|
||||
description: "Accédez de manière programmée à vos données Sure avec une clé API sécurisée."
|
||||
what_you_can_do: "Ce que vous pouvez faire avec l'API :"
|
||||
feature_1: "Accéder à vos données de compte de manière automatisée"
|
||||
feature_2: "Construire des intégrations et applications personnalisées"
|
||||
feature_3: "Automatiser la récupération et l'analyse des données"
|
||||
security_note_title: "Sécurité avant tout"
|
||||
security_note: "Votre clé API aura des autorisations limitées en fonction des domaines que vous sélectionnez. Vous ne pouvez avoir qu'une seule clé API active à la fois."
|
||||
create_api_key: "Créer une clé API"
|
||||
current_api_key:
|
||||
title: "Votre Clé API"
|
||||
description: "Votre clé API active est prête à être utilisée. Gardez-la en sécurité et ne la partagez jamais publiquement."
|
||||
active: "Active"
|
||||
key_name: "Nom"
|
||||
created_at: "Créée le"
|
||||
last_used: "Dernière utilisation"
|
||||
expires: "Expire le"
|
||||
ago: "il y a"
|
||||
never_used: "Jamais utilisée"
|
||||
never_expires: "N'expire jamais"
|
||||
permissions: "Autorisations"
|
||||
usage_instructions_title: "Comment utiliser votre clé API"
|
||||
usage_instructions: "Incluez votre clé API dans l'en-tête X-Api-Key lors des requêtes à l'API Maybe :"
|
||||
regenerate_key: "Créer une nouvelle clé"
|
||||
revoke_key: "Révoquer la clé"
|
||||
revoke_confirmation: "Êtes-vous sûr(e) de vouloir révoquer cette clé API ? Cette action ne peut pas être annulée et désactivera immédiatement toutes les applications utilisant cette clé."
|
||||
new:
|
||||
title: "Créer une clé API"
|
||||
create_new_key: "Créer une nouvelle clé API"
|
||||
description: "Configurez votre nouvelle clé API avec un nom descriptif et des autorisations appropriées."
|
||||
name_label: "Nom de la clé API"
|
||||
name_placeholder: "Application de production, Tableau de bord analytique"
|
||||
name_placeholder: "ex., Application de production, Tableau de bord analytique"
|
||||
name_help: "Choisissez un nom descriptif pour vous aider à identifier l'objectif de cette clé."
|
||||
permissions_label: "Autorisations"
|
||||
permissions_help: "Sélectionnez les autorisations nécessaires pour votre clé API. Vous pouvez toujours créer une nouvelle clé avec des autorisations différentes."
|
||||
|
||||
@@ -193,7 +193,7 @@ en:
|
||||
message: Active Record encryption keys are not configured. Please ensure the encryption credentials (active_record_encryption.primary_key, active_record_encryption.deterministic_key, and active_record_encryption.key_derivation_salt) are properly set up in your Rails credentials or environment variables before using sync providers.
|
||||
coinbase_panel:
|
||||
setup_instructions: "To connect Coinbase:"
|
||||
step1_html: Go to <a href="https://portal.cdp.coinbase.com/projects/api-keys" target="_blank" class="text-primary underline">Coinbase API Settings</a>
|
||||
step1_html: Go to <a href="https://portal.cdp.coinbase.com/projects/api-keys" target="_blank" rel="noopener noreferrer" class="text-primary underline">Coinbase API Settings</a>
|
||||
step2: Create a new API key with read-only permissions (view accounts, view transactions)
|
||||
step3: Copy your API key and API secret and paste them below
|
||||
api_key_label: API Key
|
||||
@@ -208,7 +208,7 @@ en:
|
||||
status_not_connected: Not connected. Enter your API credentials above to get started.
|
||||
binance_panel:
|
||||
setup_instructions: "To connect Binance, create a read-only API key:"
|
||||
step1_html: 'Go to <a href="https://www.binance.com/en/my/settings/api-management" target="_blank" class="underline">Binance API Management</a>'
|
||||
step1_html: 'Go to <a href="https://www.binance.com/en/my/settings/api-management" target="_blank" rel="noopener noreferrer" class="underline">Binance API Management</a>'
|
||||
step2: "Create a new API key with Enable Reading permission only"
|
||||
step3: "Paste your API Key and Secret below"
|
||||
no_withdraw_warning: "Warning: do NOT enable withdrawal permissions"
|
||||
|
||||
@@ -4,6 +4,7 @@ fr:
|
||||
settings:
|
||||
payments:
|
||||
renewal: "Votre contribution se poursuit le %{date}."
|
||||
cancellation: "Votre contribution se termine le %{date}."
|
||||
settings:
|
||||
ai_prompts:
|
||||
show:
|
||||
@@ -18,13 +19,29 @@ fr:
|
||||
title: Catégorisation des transactions
|
||||
subtitle: L'IA catégorise automatiquement vos transactions en fonction de vos catégories définies
|
||||
merchant_detector:
|
||||
title: Détection du vendeur
|
||||
subtitle: L'IA identifie et enrichit les données de transaction avec des informations sur le vendeur
|
||||
title: Détection du marchand
|
||||
subtitle: L'IA identifie et enrichit les données de transaction avec des informations sur le marchand
|
||||
payments:
|
||||
show:
|
||||
page_title: Paiement
|
||||
subscription_subtitle: Mettez à jour votre abonnement et vos détails de paiement
|
||||
subscription_title: Gérer l'abonnement
|
||||
page_title: Paiements
|
||||
subscription_subtitle: Mettez à jour les détails de votre carte de crédit
|
||||
subscription_title: Gérer les contributions
|
||||
appearances:
|
||||
show:
|
||||
page_title: Apparence
|
||||
theme_title: Thème
|
||||
theme_subtitle: Choisissez un thème préféré pour l'application
|
||||
theme_dark: Sombre
|
||||
theme_light: Clair
|
||||
theme_system: Système
|
||||
transactions_title: Transactions
|
||||
transactions_subtitle: Personnalisez l'affichage des transactions
|
||||
dashboard_title: Tableau de bord
|
||||
dashboard_subtitle: Personnalisez l'affichage du tableau de bord
|
||||
dashboard_two_column_title: Mise en page à deux colonnes
|
||||
dashboard_two_column_description: Affiche les widgets du tableau de bord sur deux colonnes sur les grands écrans. Lorsque cette option est désactivée, les widgets sont empilés dans une seule colonne.
|
||||
split_grouped_title: Grouper les transactions fractionnées
|
||||
split_grouped_description: Affiche les transactions fractionnées groupées sous leur parent dans la liste des transactions. Lorsque cette option est désactivée, les enfants fractionnés apparaissent comme des lignes individuelles.
|
||||
preferences:
|
||||
show:
|
||||
country: Pays
|
||||
@@ -37,12 +54,32 @@ fr:
|
||||
language: Langue
|
||||
language_auto: Langue du navigateur
|
||||
page_title: Préférences
|
||||
theme_dark: Sombre
|
||||
theme_light: Clair
|
||||
theme_subtitle: Choisissez un thème préféré pour l'application
|
||||
theme_system: Système
|
||||
theme_title: Thème
|
||||
timezone: Fuseau horaire
|
||||
month_start_day: Le mois budgétaire commence le
|
||||
month_start_day_hint: Définissez le jour de début de votre mois budgétaire (ex. jour de paie)
|
||||
month_start_day_warning: Vos budgets et vos calculs MTD utiliseront ce jour de début personnalisé au lieu du 1er de chaque mois.
|
||||
currencies_title: "Devises de %{moniker}"
|
||||
currencies_subtitle: Choisissez les devises qui apparaissent dans les champs monétaires de votre %{moniker}
|
||||
base_currency_label: Devise de base
|
||||
base_currency_badge: Devise de base
|
||||
additional_currencies_label: Devises supplémentaires
|
||||
no_additional_currencies: Aucune sélectionnée
|
||||
currencies_more: "+%{count} de plus"
|
||||
manage_currencies: Gérer les devises
|
||||
manage_currencies_subtitle: Désélectionnez les devises que vous n'utilisez jamais, ou réduisez la liste à quelques-unes seulement.
|
||||
select_all_currencies: Tout sélectionner
|
||||
select_base_only: Devise de base uniquement
|
||||
currency_search_placeholder: Rechercher des devises
|
||||
no_matching_currencies: Aucune devise trouvée
|
||||
selected_currencies_count:
|
||||
one: "%{count} sélectionnée"
|
||||
other: "%{count} sélectionnées"
|
||||
save_currencies: Enregistrer les devises
|
||||
sharing_title: "Partage de %{moniker}"
|
||||
sharing_subtitle: "Contrôlez comment les comptes sont partagés dans votre %{moniker}"
|
||||
sharing_default_label: Partage par défaut pour les nouveaux comptes
|
||||
sharing_shared: Partager avec tous les membres
|
||||
sharing_private: Garder privé par défaut
|
||||
profiles:
|
||||
destroy:
|
||||
cannot_remove_self: Vous ne pouvez pas vous enlever de votre compte.
|
||||
@@ -54,7 +91,7 @@ fr:
|
||||
body: Êtes-vous sûr(e) de vouloir supprimer définitivement votre compte ? Cette action est irréversible.
|
||||
title: Supprimer le compte?
|
||||
confirm_reset:
|
||||
body: Êtes-vous sûr(e) de vouloir réinitialiser votre compte ? Cela supprimera tous vos comptes, catégories, vendeurs, étiquettes et autres données. Cette action ne peut pas être annulée.
|
||||
body: Êtes-vous sûr(e) de vouloir réinitialiser votre compte ? Cela supprimera tous vos comptes, catégories, marchands, étiquettes et autres données. Cette action ne peut pas être annulée.
|
||||
title: Réinitialiser le compte?
|
||||
confirm_reset_with_sample_data:
|
||||
body: Êtes-vous sûr(e) de vouloir réinitialiser votre compte et charger des données d'exemple ? Cela supprimera vos données existantes et les remplacera par des données de démonstration afin que vous puissiez explorer Sure en toute sécurité.
|
||||
@@ -69,21 +106,24 @@ fr:
|
||||
delete_account: Supprimer le compte
|
||||
delete_account_warning: La suppression de votre compte entraînera la suppression permanente de toutes vos données et ne pourra pas être annulée.
|
||||
reset_account: Réinitialiser le compte
|
||||
reset_account_warning: La réinitialisation de votre compte supprimera tous vos comptes, catégories, vendeurs, étiquettes et autres données, mais gardera votre compte utilisateur intact.
|
||||
reset_account_warning: La réinitialisation de votre compte supprimera tous vos comptes, catégories, marchands, étiquettes et autres données, mais gardera votre compte utilisateur intact.
|
||||
reset_account_with_sample_data: Réinitialiser et précharger
|
||||
reset_account_with_sample_data_warning: Supprime toutes vos données existantes puis charge des données d'exemple afin que vous puissiez explorer avec un environnement pré-rempli.
|
||||
email: E-mail
|
||||
first_name: Prénom
|
||||
group_form_input_placeholder: Entrez le nom du groupe
|
||||
group_form_label: Nom du groupe
|
||||
group_title: Membres du groupe
|
||||
household_form_input_placeholder: Entrez le nom du foyer
|
||||
household_form_label: Nom du foyer
|
||||
household_subtitle: Invitez des membres de la famille, des partenaires et d'autres personnes. Les personnes invitées peuvent se connecter à votre foyer et accéder aux comptes partagés.
|
||||
household_subtitle: Les personnes invitées peuvent se connecter à votre compte %{moniker} et accéder aux ressources partagées.
|
||||
household_title: Foyer
|
||||
invitation_link: Lien d'invitation
|
||||
invite_member: Ajouter un membre
|
||||
last_name: Nom de famille
|
||||
page_title: Informations du profil
|
||||
pending: En attente
|
||||
profile_subtitle: Personnalisez l'apparence de votre profil sur %{product_name}
|
||||
profile_subtitle: Personnalisez votre apparence sur %{product_name}
|
||||
profile_title: Personnel
|
||||
remove_invitation: Supprimer l'invitation
|
||||
remove_member: Supprimer le membre
|
||||
@@ -117,9 +157,10 @@ fr:
|
||||
categories_label: Catégories
|
||||
feedback_label: Retour d'information
|
||||
general_section_title: Général
|
||||
imports_label: Importer/Exporter
|
||||
imports_label: Importations
|
||||
exports_label: Exportations
|
||||
logout: Se déconnecter
|
||||
merchants_label: Vendeurs
|
||||
merchants_label: Marchands
|
||||
guides_label: Guides
|
||||
other_section_title: Plus
|
||||
preferences_label: Préférences
|
||||
@@ -132,7 +173,8 @@ fr:
|
||||
transactions_section_title: Transactions
|
||||
whats_new_label: Dernières nouvelles
|
||||
api_keys_label: Clés API
|
||||
bank_sync_label: Synchronisation de la banque
|
||||
appearance_label: Apparence
|
||||
bank_sync_label: Synchronisation bancaire
|
||||
settings_nav_link_large:
|
||||
next: Suivant
|
||||
previous: Précédent
|
||||
@@ -141,3 +183,46 @@ fr:
|
||||
choose: Charger une photo
|
||||
choose_label: (facultatif)
|
||||
change: Changer de photo
|
||||
providers:
|
||||
show:
|
||||
coinbase_title: Coinbase
|
||||
encryption_error:
|
||||
title: Configuration de chiffrement requise
|
||||
message: Les clés de chiffrement Active Record ne sont pas configurées. Veuillez vous assurer que les identifiants de chiffrement (active_record_encryption.primary_key, active_record_encryption.deterministic_key et active_record_encryption.key_derivation_salt) sont correctement définis dans vos identifiants Rails ou variables d'environnement avant d'utiliser les fournisseurs de synchronisation.
|
||||
coinbase_panel:
|
||||
setup_instructions: "Pour connecter Coinbase :"
|
||||
step1_html: Allez dans les <a href="https://portal.cdp.coinbase.com/projects/api-keys" target="_blank" rel="noopener noreferrer" class="text-primary underline">Paramètres API de Coinbase</a>
|
||||
step2: Créez une nouvelle clé API avec des permissions en lecture seule (voir les comptes, voir les transactions)
|
||||
step3: Copiez votre clé API et votre secret API et collez-les ci-dessous
|
||||
api_key_label: Clé API
|
||||
api_key_placeholder: Entrez votre clé API Coinbase
|
||||
api_secret_label: Secret API
|
||||
api_secret_placeholder: Entrez votre secret API Coinbase
|
||||
connect_button: Connecter Coinbase
|
||||
syncing: Synchronisation…
|
||||
sync: Synchroniser
|
||||
disconnect_confirm: Êtes-vous sûr(e) de vouloir déconnecter cette connexion Coinbase ? Vos comptes synchronisés deviendront des comptes manuels.
|
||||
status_connected: Coinbase est connecté et synchronise vos avoirs en crypto.
|
||||
status_not_connected: Non connecté. Saisissez vos identifiants API ci-dessus pour commencer.
|
||||
binance_panel:
|
||||
setup_instructions: "Pour connecter Binance, créez une clé API en lecture seule :"
|
||||
step1_html: 'Allez dans la <a href="https://www.binance.com/en/my/settings/api-management" target="_blank" rel="noopener noreferrer" class="underline">Gestion des API Binance</a>'
|
||||
step2: "Créez une nouvelle clé API avec la permission Enable Reading uniquement"
|
||||
step3: "Collez votre clé API et votre secret ci-dessous"
|
||||
no_withdraw_warning: "Attention : n'activez PAS les permissions de retrait"
|
||||
ip_hint_title: "Liste blanche d'IP requise"
|
||||
ip_hint_body: "Ajoutez l'IP de sortie du serveur de l'application à la liste blanche de la clé API Binance :"
|
||||
ip_hint_contact_admin: "Contactez votre administrateur pour obtenir l'adresse IP de sortie du serveur de l'application."
|
||||
api_key_label: Clé API
|
||||
api_key_placeholder: Collez votre clé API Binance
|
||||
api_secret_label: Secret API
|
||||
api_secret_placeholder: Collez votre secret API Binance
|
||||
connect_button: Connecter Binance
|
||||
syncing: Synchronisation…
|
||||
sync: Synchroniser
|
||||
disconnect_confirm: "Êtes-vous sûr(e) de vouloir déconnecter Binance ?"
|
||||
status_connected: Binance connecté
|
||||
status_not_connected: Binance non connecté
|
||||
enable_banking_panel:
|
||||
callback_url_instruction: "Pour l'URL de rappel, utilisez %{callback_url}."
|
||||
connection_error: Erreur de connexion
|
||||
|
||||
@@ -3,87 +3,183 @@ fr:
|
||||
settings:
|
||||
hostings:
|
||||
invite_code_settings:
|
||||
description: Contrôlez comment les nouvelles personnes s'inscrivent à votre instance de %{product}.
|
||||
email_confirmation_description: Lorsque cette option est activée, les utilisateurs doivent confirmer leur adresse e-mail lors du changement.
|
||||
email_confirmation_title: Exiger la confirmation de l'e-mail
|
||||
generate_tokens: Générer un nouveau code
|
||||
generated_tokens: Codes générés
|
||||
title: Inscription
|
||||
description: "Contrôlez comment les nouvelles personnes s'inscrivent à votre instance de %{product}."
|
||||
email_confirmation_description: "Lorsque cette option est activée, les utilisateurs doivent confirmer leur nouvelle adresse e-mail lorsqu'ils la modifient."
|
||||
email_confirmation_title: "Exiger la confirmation de l'e-mail"
|
||||
default_family_title: "Famille par défaut pour les nouveaux utilisateurs"
|
||||
default_family_description: "Placer les nouveaux utilisateurs dans cette famille/groupe uniquement s'ils n'ont pas d'invitation."
|
||||
default_family_none: "Aucune (créer une nouvelle famille)"
|
||||
generate_tokens: "Générer un nouveau code"
|
||||
generated_tokens: "Codes générés"
|
||||
title: "Inscription des utilisateurs"
|
||||
states:
|
||||
open: Ouvert
|
||||
closed: Fermé
|
||||
invite_only: Sur invitation uniquement
|
||||
open: "Ouvert"
|
||||
closed: "Fermé"
|
||||
invite_only: "Sur invitation uniquement"
|
||||
show:
|
||||
general: Paramètres généraux
|
||||
financial_data_providers: Fournisseurs de données financières
|
||||
sync_settings: Paramètres de synchronisation
|
||||
invites: Codes d'invitation
|
||||
title: Auto-hébergement
|
||||
danger_zone: Zone dangereuse
|
||||
clear_cache: Effacer le cache de données
|
||||
clear_cache_warning: L'effacement du cache de données supprimera tous les taux de change, les cours des titres, les soldes des comptes et d'autres données. Cela ne supprimera pas les comptes, les transactions, les catégories ou d'autres données possédées par les utilisateurs.
|
||||
general: "Paramètres généraux"
|
||||
ai_assistant: "Assistant IA"
|
||||
financial_data_providers: "Fournisseurs de données financières"
|
||||
sync_settings: "Paramètres de synchronisation"
|
||||
invites: "Codes d'invitation"
|
||||
title: "Auto-hébergement"
|
||||
danger_zone: "Zone dangereuse"
|
||||
clear_cache: "Effacer le cache de données"
|
||||
clear_cache_warning: "L'effacement du cache de données supprimera tous les taux de change, les cours des titres, les soldes des comptes et d'autres données. Cela ne supprimera pas les comptes, les transactions, les catégories ou d'autres données possédées par les utilisateurs."
|
||||
confirm_clear_cache:
|
||||
title: Effacer le cache de données ?
|
||||
body: Êtes-vous sûr(e) de vouloir effacer le cache de données ? Cela supprimera tous les taux de change, les cours des titres, les soldes des comptes et d'autres données. Cette action ne peut pas être annulée.
|
||||
title: "Effacer le cache de données ?"
|
||||
body: "Êtes-vous sûr(e) de vouloir effacer le cache de données ? Cela supprimera tous les taux de change, les cours des titres, les soldes des comptes et d'autres données. Cette action ne peut pas être annulée."
|
||||
provider_selection:
|
||||
title: Sélection du fournisseur
|
||||
description: Choisissez le service à utiliser pour récupérer les taux de change et les cours des titres. Yahoo Finance est gratuit et ne nécessite pas de clé API. Twelve Data nécessite une clé API gratuite mais peut offrir une meilleure couverture des données.
|
||||
exchange_rate_provider_label: Fournisseur de taux de change
|
||||
securities_provider_label: Fournisseur de titres (cours boursiers)
|
||||
env_configured_message: La sélection du fournisseur est désactivée car des variables d'environnement (EXCHANGE_RATE_PROVIDER ou SECURITIES_PROVIDER) sont définies. Pour activer la sélection ici, supprimez ces variables d'environnement de votre configuration.
|
||||
exchange_rate_title: "Fournisseur de taux de change"
|
||||
exchange_rate_description: "Sélectionnez un seul fournisseur pour récupérer les taux de change des devises."
|
||||
exchange_rate_provider_label: "Fournisseur de taux de change"
|
||||
securities_title: "Fournisseurs de titres"
|
||||
securities_description: "Activez un ou plusieurs fournisseurs pour récupérer les cours des actions, ETF et fonds communs. Lors d'une recherche, tous les fournisseurs activés sont interrogés et les résultats sont fusionnés."
|
||||
env_configured_message: "La sélection du fournisseur est désactivée car des variables d'environnement sont définies. Pour activer la sélection ici, supprimez ces variables d'environnement de votre configuration."
|
||||
twelve_data_hint: "nécessite une clé API, 800 crédits/jour"
|
||||
yahoo_finance_hint: "gratuit, aucune clé API requise"
|
||||
requires_api_key: "nécessite une clé API"
|
||||
requires_api_key_eodhd: "nécessite une clé API, limite de 20 appels/jour"
|
||||
requires_api_key_alpha_vantage: "nécessite une clé API, limite de 25 appels/jour"
|
||||
mfapi_hint: "gratuit, aucune clé API -- fonds communs indiens uniquement"
|
||||
binance_public_hint: "gratuit, aucune clé API -- crypto uniquement (BTC, ETH, etc.)"
|
||||
providers:
|
||||
twelve_data: Twelve Data
|
||||
yahoo_finance: Yahoo Finance
|
||||
twelve_data: "Twelve Data"
|
||||
yahoo_finance: "Yahoo Finance"
|
||||
tiingo: "Tiingo"
|
||||
eodhd: "EODHD"
|
||||
alpha_vantage: "Alpha Vantage"
|
||||
mfapi: "MFAPI.in"
|
||||
binance_public: "Binance"
|
||||
assistant_settings:
|
||||
title: "Assistant IA"
|
||||
description: "Choisissez comment l'assistant de discussion répond. Intégré utilise directement votre fournisseur LLM configuré. Externe délègue à un agent IA distant qui peut invoquer les outils financiers de Sure via MCP."
|
||||
type_label: "Type d'assistant"
|
||||
type_builtin: "Intégré (LLM direct)"
|
||||
type_external: "Externe (agent distant)"
|
||||
external_status: "Endpoint de l'assistant externe"
|
||||
external_configured: "Configuré"
|
||||
external_not_configured: "Non configuré. Saisissez l'URL et le token ci-dessous, ou définissez les variables d'environnement EXTERNAL_ASSISTANT_URL et EXTERNAL_ASSISTANT_TOKEN."
|
||||
env_notice: "Le type d'assistant est verrouillé sur '%{type}' via la variable d'environnement ASSISTANT_TYPE."
|
||||
env_configured_external: "Configuré avec succès via les variables d'environnement."
|
||||
url_label: "URL du endpoint"
|
||||
url_placeholder: "https://your-agent-host/v1/chat"
|
||||
url_help: "L'URL complète du endpoint de l'API de votre agent. Votre fournisseur d'agent vous la fournira."
|
||||
token_label: "Token API"
|
||||
token_placeholder: "Saisissez le token de votre fournisseur d'agent"
|
||||
token_help: "Le token d'authentification fourni par votre agent externe. Il est envoyé en tant que Bearer token avec chaque requête."
|
||||
agent_id_label: "ID de l'agent (Optionnel)"
|
||||
agent_id_placeholder: "main (par défaut)"
|
||||
agent_id_help: "Route vers un agent spécifique lorsque le fournisseur en héberge plusieurs. Laisser vide pour la valeur par défaut."
|
||||
disconnect_title: "Connexion externe"
|
||||
disconnect_description: "Supprimer la connexion à l'assistant externe et revenir à l'assistant intégré."
|
||||
disconnect_button: "Déconnecter"
|
||||
confirm_disconnect:
|
||||
title: "Déconnecter l'assistant externe ?"
|
||||
body: "Cela supprimera l'URL, le token et l'ID de l'agent enregistrés, et basculera vers l'assistant intégré. Vous pourrez vous reconnecter ultérieurement en saisissant de nouvelles informations d'identification."
|
||||
brand_fetch_settings:
|
||||
description: Saisissez l'ID client fourni par Brand Fetch
|
||||
label: ID client
|
||||
placeholder: Entrez votre ID client ici
|
||||
title: Brand Fetch
|
||||
description: "Saisissez l'ID client fourni par Brand Fetch"
|
||||
label: "ID client"
|
||||
placeholder: "Entrez votre ID client ici"
|
||||
title: "Paramètres Brand Fetch"
|
||||
high_res_label: "Activer les logos haute résolution"
|
||||
high_res_description: "Lorsque cette option est activée, les logos seront récupérés en résolution 120x120 au lieu de 40x40. Cela offre des images plus nettes sur les écrans à haute densité de pixels."
|
||||
openai_settings:
|
||||
description: Saisissez le jeton d'accès et configurez éventuellement un fournisseur compatible OpenAI personnalisé
|
||||
env_configured_message: Configuré avec succès via les variables d'environnement.
|
||||
access_token_label: Jeton d'accès
|
||||
access_token_placeholder: Entrez votre jeton d'accès ici
|
||||
uri_base_label: URL de base de l'API (Optionnel)
|
||||
description: "Saisissez le jeton d'accès et configurez éventuellement un fournisseur compatible OpenAI personnalisé"
|
||||
env_configured_message: "Configuré avec succès via les variables d'environnement."
|
||||
access_token_label: "Jeton d'accès"
|
||||
access_token_placeholder: "Entrez votre jeton d'accès ici"
|
||||
uri_base_label: "URL de base de l'API (Optionnel)"
|
||||
uri_base_placeholder: "https://api.openai.com/v1 (par défaut)"
|
||||
model_label: Modèle (Optionnel)
|
||||
model_label: "Modèle (Optionnel)"
|
||||
model_placeholder: "gpt-4.1 (par défaut)"
|
||||
json_mode_label: Mode JSON
|
||||
json_mode_auto: Auto (recommandé)
|
||||
json_mode_strict: Strict (meilleur pour les modèles de raisonnement)
|
||||
json_mode_none: Aucun (meilleur pour les modèles standard)
|
||||
json_mode_json_object: Objet JSON
|
||||
json_mode_label: "Mode JSON"
|
||||
json_mode_auto: "Auto (recommandé)"
|
||||
json_mode_strict: "Strict (meilleur pour les modèles de raisonnement)"
|
||||
json_mode_none: "Aucun (meilleur pour les modèles standard)"
|
||||
json_mode_json_object: "Objet JSON"
|
||||
json_mode_help: "Le mode strict fonctionne mieux avec les modèles de raisonnement (qwen-thinking, deepseek-reasoner). Le mode aucun fonctionne mieux avec les modèles standard (llama, mistral, gpt-oss)."
|
||||
title: OpenAI
|
||||
budget_heading: "Budget de tokens"
|
||||
budget_description: "S'applique à chaque appel LLM — historique de discussion, auto-catégorisation, détection de marchand et traitement PDF. Les valeurs par défaut sont conservatrices pour les modèles locaux à petit contexte. Augmentez-les pour les modèles cloud avec des fenêtres de contexte plus grandes."
|
||||
context_window_label: "Fenêtre de contexte (Optionnel)"
|
||||
context_window_help: "Nombre total de tokens que le modèle acceptera. Par défaut : 2048 — augmenter à 8192+ pour OpenAI cloud ou les modèles locaux à grand contexte."
|
||||
max_response_tokens_label: "Tokens de réponse max (Optionnel)"
|
||||
max_response_tokens_help: "Tokens réservés à la réponse du modèle. Par défaut : 512. Abaisser pour libérer de l'espace pour un historique plus long."
|
||||
max_items_per_call_label: "Nombre maximum d'éléments par lot (Optionnel)"
|
||||
max_items_per_call_help: "Limite supérieure pour les lots d'auto-catégorisation / détection de marchand. Par défaut : 25. Les lots plus grands sont automatiquement découpés pour tenir dans la fenêtre de contexte."
|
||||
title: "OpenAI"
|
||||
yahoo_finance_settings:
|
||||
title: Yahoo Finance
|
||||
description: Yahoo Finance fournit un accès gratuit aux cours boursiers, taux de change et données financières sans nécessiter de clé API.
|
||||
status_active: Yahoo Finance est actif et fonctionne
|
||||
status_inactive: La connexion à Yahoo Finance a échoué
|
||||
connection_failed: Impossible de se connecter à Yahoo Finance
|
||||
troubleshooting: Vérifiez votre connexion Internet et les paramètres de votre pare-feu. Yahoo Finance peut être temporairement indisponible.
|
||||
title: "Yahoo Finance"
|
||||
description: "Yahoo Finance fournit un accès gratuit aux cours boursiers, taux de change et données financières sans nécessiter de clé API."
|
||||
status_active: "Yahoo Finance est actif et fonctionne"
|
||||
status_inactive: "La connexion à Yahoo Finance a échoué"
|
||||
connection_failed: "Impossible de se connecter à Yahoo Finance"
|
||||
troubleshooting: "Vérifiez votre connexion Internet et les paramètres de votre pare-feu. Yahoo Finance peut être temporairement indisponible."
|
||||
tiingo_settings:
|
||||
title: "Tiingo"
|
||||
description: "Saisissez le token API fourni par Tiingo. Le forfait gratuit supporte 50 symboles uniques par heure avec plus de 30 ans de données historiques."
|
||||
env_configured_message: "Configuré avec succès via la variable d'environnement TIINGO_API_KEY."
|
||||
label: "Token API"
|
||||
placeholder: "Entrez votre token API Tiingo ici"
|
||||
show_details: "(afficher les détails)"
|
||||
step_1_html: 'Visitez <a href="https://www.tiingo.com" target="_blank" rel="noopener noreferrer" class="underline">tiingo.com</a> et créez un compte gratuit.'
|
||||
step_2_html: 'Accédez à la page <a href="https://www.tiingo.com/account/api/token" target="_blank" rel="noopener noreferrer" class="underline">Token API</a>.'
|
||||
step_3: "Copiez votre token API et collez-le ci-dessous."
|
||||
eodhd_settings:
|
||||
title: "EODHD"
|
||||
description: "Saisissez le token API fourni par EODHD. Supporte les ETF européens sur LSE, XETRA et d'autres places boursières internationales."
|
||||
env_configured_message: "Configuré avec succès via la variable d'environnement EODHD_API_KEY."
|
||||
label: "Token API"
|
||||
placeholder: "Entrez votre token API EODHD ici"
|
||||
show_details: "(afficher les détails)"
|
||||
step_1_html: 'Visitez <a href="https://eodhd.com/register" target="_blank" rel="noopener noreferrer" class="underline">eodhd.com</a> et créez un compte gratuit.'
|
||||
step_2_html: 'Accédez à votre <a href="https://eodhd.com/cp/dashboard" target="_blank" rel="noopener noreferrer" class="underline">Tableau de bord</a> pour trouver votre token API.'
|
||||
step_3: "Copiez votre token API et collez-le ci-dessous."
|
||||
rate_limit_warning: "Le forfait gratuit EODHD est limité à 20 appels API par jour. À utiliser de préférence comme fournisseur complémentaire pour les ETF européens non disponibles chez d'autres fournisseurs."
|
||||
alpha_vantage_settings:
|
||||
title: "Alpha Vantage"
|
||||
description: "Saisissez la clé API d'Alpha Vantage. Supporte les ETF européens sur la Bourse de Londres, XETRA et d'autres places boursières."
|
||||
env_configured_message: "Configuré avec succès via la variable d'environnement ALPHA_VANTAGE_API_KEY."
|
||||
label: "Clé API"
|
||||
placeholder: "Entrez votre clé API Alpha Vantage ici"
|
||||
show_details: "(afficher les détails)"
|
||||
step_1_html: 'Visitez <a href="https://www.alphavantage.co/support/#api-key" target="_blank" rel="noopener noreferrer" class="underline">alphavantage.co</a> et réclamez votre clé API gratuite.'
|
||||
step_2: "Copiez la clé API et collez-la ci-dessous."
|
||||
rate_limit_warning: "Le forfait gratuit Alpha Vantage est limité à 25 appels API par jour. À utiliser de préférence comme fournisseur complémentaire pour les ETF européens non disponibles chez d'autres fournisseurs."
|
||||
no_health_check_note: "La vérification de l'état de la connexion n'est pas disponible pour ce fournisseur en raison de la limite de débit stricte."
|
||||
twelve_data_settings:
|
||||
title: "Twelve Data"
|
||||
api_calls_used: "%{used} / %{limit} appels API quotidiens utilisés (%{percentage})"
|
||||
description: Saisissez la clé API fournie par Twelve Data
|
||||
env_configured_message: Configurée avec succès via la variable d'environnement TWELVE_DATA_API_KEY.
|
||||
label: Clé API
|
||||
placeholder: Entrez votre clé API ici
|
||||
plan: "Plan %{plan}"
|
||||
title: Twelve Data
|
||||
description: "Saisissez la clé API fournie par Twelve Data"
|
||||
env_configured_message: "Configurée avec succès via la variable d'environnement TWELVE_DATA_API_KEY."
|
||||
label: "Clé API"
|
||||
placeholder: "Entrez votre clé API ici"
|
||||
show_details: "(afficher les détails)"
|
||||
step_1_html: 'Visitez <a href="https://twelvedata.com/register" target="_blank" rel="noopener noreferrer" class="underline">twelvedata.com</a> et créez un compte Twelve Data Developer gratuit.'
|
||||
step_2_html: 'Accédez à la page <a href="https://twelvedata.com/account/api-keys" target="_blank" rel="noopener noreferrer" class="underline">Clés API</a>.'
|
||||
step_3: "Révélez votre clé secrète et collez-la ci-dessous."
|
||||
plan: "Forfait %{plan}"
|
||||
plan_upgrade_warning_title: "Certains tickers nécessitent un forfait payant"
|
||||
plan_upgrade_warning_description: "Les tickers suivants de votre portefeuille ne peuvent pas synchroniser leurs cours avec votre forfait Twelve Data actuel."
|
||||
requires_plan: "nécessite le forfait %{plan}"
|
||||
view_pricing: "Voir les tarifs Twelve Data"
|
||||
update:
|
||||
failure: Valeur de paramètre invalide
|
||||
success: Paramètres mis à jour
|
||||
invalid_onboarding_state: État d'inscription invalide
|
||||
invalid_sync_time: Format d'heure de synchronisation invalide. Veuillez utiliser le format HH:MM (ex. 02:30).
|
||||
scheduler_sync_failed: Paramètres enregistrés, mais la mise à jour du planning de synchronisation a échoué. Veuillez réessayer ou vérifier les journaux du serveur.
|
||||
failure: "Valeur de paramètre invalide"
|
||||
success: "Paramètres mis à jour"
|
||||
invalid_onboarding_state: "État d'intégration invalide"
|
||||
invalid_sync_time: "Format d'heure de synchronisation invalide. Veuillez utiliser le format HH:MM (ex. 02:30)."
|
||||
invalid_llm_budget: "%{field} doit être un nombre entier ≥ %{minimum}."
|
||||
scheduler_sync_failed: "Paramètres enregistrés, mais la mise à jour du planning de synchronisation a échoué. Veuillez réessayer ou vérifier les journaux du serveur."
|
||||
disconnect_external_assistant:
|
||||
external_assistant_disconnected: "Assistant externe déconnecté"
|
||||
clear_cache:
|
||||
cache_cleared: Le cache de données a été effacé. Cela peut prendre quelques instants.
|
||||
not_authorized: Vous n'êtes pas autorisé(e) à effectuer cette action
|
||||
cache_cleared: "Le cache de données a été effacé. Cela peut prendre quelques instants."
|
||||
not_authorized: "Vous n'êtes pas autorisé(e) à effectuer cette action"
|
||||
sync_settings:
|
||||
auto_sync_label: Activer la synchronisation automatique
|
||||
auto_sync_description: Lorsque cette option est activée, tous les comptes seront automatiquement synchronisés quotidiennement à l'heure spécifiée.
|
||||
auto_sync_time_label: Heure de synchronisation (HH:MM)
|
||||
auto_sync_time_description: Spécifiez l'heure à laquelle la synchronisation automatique doit se produire.
|
||||
include_pending_label: Inclure les transactions en attente
|
||||
include_pending_description: Lorsque cette option est activée, les transactions en attente (non confirmées) seront importées et automatiquement réconciliées lors de leur validation. Désactivez si votre banque fournit des données de transactions en attente peu fiables.
|
||||
env_configured_message: Ce paramètre est désactivé car une variable d'environnement du fournisseur (SIMPLEFIN_INCLUDE_PENDING ou PLAID_INCLUDE_PENDING) est définie. Supprimez-la pour activer ce paramètre.
|
||||
auto_sync_label: "Activer la synchronisation automatique"
|
||||
auto_sync_description: "Lorsque cette option est activée, tous les comptes seront automatiquement synchronisés quotidiennement à l'heure spécifiée."
|
||||
auto_sync_time_label: "Heure de synchronisation (HH:MM)"
|
||||
auto_sync_time_description: "Spécifiez l'heure à laquelle la synchronisation automatique doit se produire."
|
||||
include_pending_label: "Inclure les transactions en attente"
|
||||
include_pending_description: "Lorsque cette option est activée, les transactions en attente (non confirmées) seront importées et automatiquement réconciliées lors de leur validation. Désactivez si votre banque fournit des données de transactions en attente peu fiables."
|
||||
env_configured_message: "Ce paramètre est désactivé car une variable d'environnement du fournisseur (SIMPLEFIN_INCLUDE_PENDING ou PLAID_INCLUDE_PENDING) est définie. Supprimez-la pour activer ce paramètre."
|
||||
|
||||
@@ -1,17 +1,5 @@
|
||||
---
|
||||
fr:
|
||||
breadcrumbs:
|
||||
home: Accueil
|
||||
dashboard: Tableau de bord
|
||||
accounts: Comptes
|
||||
merchants: Marchands
|
||||
categories: Catégories
|
||||
tags: Étiquettes
|
||||
rules: Règles
|
||||
transactions: Transactions
|
||||
budgets: Budgets
|
||||
imports: Importations
|
||||
chats: Assistant
|
||||
shared:
|
||||
confirm_modal:
|
||||
accept: Confirmer
|
||||
@@ -28,5 +16,6 @@ fr:
|
||||
exchange_rate_help: Choisissez comment entrer le montant.
|
||||
syncing_notice:
|
||||
syncing: Synchronisation des données de compte...
|
||||
require_admin: "Seuls les administrateurs peuvent effectuer cette action"
|
||||
trend_change:
|
||||
no_change: "pas de changement"
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
---
|
||||
fr:
|
||||
simplefin_items:
|
||||
new:
|
||||
title: Connecter SimpleFIN
|
||||
setup_token: Jeton de configuration
|
||||
setup_token_placeholder: collez votre jeton de configuration SimpleFIN
|
||||
connect: Connecter
|
||||
cancel: Annuler
|
||||
create:
|
||||
success: Connexion SimpleFIN ajoutée avec succès ! Vos comptes apparaîtront sous peu lors de la synchronisation en arrière-plan.
|
||||
errors:
|
||||
@@ -24,8 +30,41 @@ fr:
|
||||
label: "Jeton de configuration SimpleFIN :"
|
||||
placeholder: "Collez votre jeton de configuration SimpleFIN ici..."
|
||||
help_text: "Le jeton doit être une longue chaîne commençant par des lettres et des chiffres"
|
||||
setup_accounts:
|
||||
account_card:
|
||||
balance: "Solde"
|
||||
activity:
|
||||
recent:
|
||||
one: "1 transaction • dernière %{when}"
|
||||
other: "%{count} transactions • dernière %{when}"
|
||||
dormant: "Aucune activité depuis %{days} jours"
|
||||
empty: "Aucune transaction importée pour le moment"
|
||||
likely_closed: "Aucune activité récente et solde à zéro — il peut s'agir d'une carte fermée ou remplacée"
|
||||
today: "aujourd'hui"
|
||||
yesterday: "hier"
|
||||
days_ago:
|
||||
one: "il y a 1 jour"
|
||||
other: "il y a %{count} jours"
|
||||
stale_accounts:
|
||||
title: "Comptes qui ne sont plus dans SimpleFIN"
|
||||
description: "Ces comptes existent dans votre base de données mais ne sont plus fournis par SimpleFIN. Cela peut se produire lorsque la configuration des comptes change en amont."
|
||||
action_prompt: "Que souhaitez-vous faire ?"
|
||||
action_delete: "Supprimer le compte et toutes les transactions"
|
||||
action_move: "Déplacer les transactions vers :"
|
||||
action_skip: "Ignorer pour l'instant"
|
||||
transaction_count:
|
||||
one: "%{count} transaction"
|
||||
other: "%{count} transactions"
|
||||
complete_account_setup:
|
||||
success: Les comptes SimpleFIN ont été configurés avec succès ! Vos transactions et positions sont en cours d'importation en arrière-plan.
|
||||
all_skipped: "Tous les comptes ont été ignorés. Aucun compte n'a été créé."
|
||||
no_accounts: "Aucun compte à configurer."
|
||||
success:
|
||||
one: "%{count} compte SimpleFIN créé avec succès ! Vos transactions et avoirs sont en cours d'importation en arrière-plan."
|
||||
other: "%{count} comptes SimpleFIN créés avec succès ! Vos transactions et avoirs sont en cours d'importation en arrière-plan."
|
||||
stale_accounts_processed: "Comptes obsolètes : %{deleted} supprimés, %{moved} déplacés."
|
||||
stale_accounts_errors:
|
||||
one: "%{count} action sur un compte obsolète a échoué. Consultez les journaux pour plus de détails."
|
||||
other: "%{count} actions sur des comptes obsolètes ont échoué. Consultez les journaux pour plus de détails."
|
||||
simplefin_item:
|
||||
add_new: Ajouter une nouvelle connexion
|
||||
confirm_accept: Supprimer la connexion
|
||||
@@ -36,12 +75,58 @@ fr:
|
||||
error: Une erreur s'est produite lors de la synchronisation des données
|
||||
no_accounts_description: Cette connexion n'a pas encore de comptes synchronisés.
|
||||
no_accounts_title: Aucun compte trouvé
|
||||
requires_update: Nécessite une ré-authentification
|
||||
requires_update: Reconnecter
|
||||
setup_needed: Nouveaux comptes prêts à être configurés
|
||||
setup_description: Choisissez les types de comptes pour vos comptes SimpleFIN nouvellement importés.
|
||||
setup_action: Configurer les nouveaux comptes
|
||||
setup_accounts_menu: Configurer les comptes
|
||||
more_accounts_available:
|
||||
one: "%{count} compte supplémentaire disponible à configurer"
|
||||
other: "%{count} comptes supplémentaires disponibles à configurer"
|
||||
accounts_skipped_tooltip: "Certains comptes ont été ignorés en raison d'erreurs lors de la synchronisation"
|
||||
accounts_skipped_label: "Ignorés : %{count}"
|
||||
rate_limited_ago: "Limite de débit atteinte (il y a %{time})"
|
||||
rate_limited_recently: "Limite de débit atteinte récemment"
|
||||
status: Dernière synchronisation il y a %{timestamp}
|
||||
status_never: Jamais synchronisé
|
||||
status_with_summary: "Dernière synchronisation il y a %{timestamp} • %{summary}"
|
||||
syncing: Synchronisation...
|
||||
update: Mettre à jour la connexion
|
||||
update: Mettre à jour
|
||||
stale_pending_note: "(exclues des budgets)"
|
||||
stale_pending_accounts: "dans : %{accounts}"
|
||||
reconciled_details_note: "(voir le résumé de synchronisation pour plus de détails)"
|
||||
duplicate_accounts_skipped: "Certains comptes ont été ignorés comme doublons — utilisez 'Lier des comptes existants' pour fusionner."
|
||||
select_existing_account:
|
||||
title: "Lier %{account_name} à SimpleFIN"
|
||||
description: Sélectionnez un compte SimpleFIN à lier à votre compte existant
|
||||
cancel: Annuler
|
||||
link_account: Lier le compte
|
||||
no_accounts_found: "Aucun compte SimpleFIN trouvé pour ce %{moniker}."
|
||||
wait_for_sync: Si vous venez de connecter ou de synchroniser, réessayez une fois la synchronisation terminée.
|
||||
unlink_to_move: Pour déplacer un lien, détachez-le d'abord depuis le menu d'actions du compte.
|
||||
all_accounts_already_linked: Tous les comptes SimpleFIN semblent déjà liés.
|
||||
currently_linked_to: "Actuellement lié à : %{account_name}"
|
||||
|
||||
link_existing_account:
|
||||
success: Compte lié à SimpleFIN avec succès
|
||||
errors:
|
||||
only_manual: Seuls les comptes manuels peuvent être liés
|
||||
different_provider: Ce compte est lié à un autre fournisseur. Détachez-le d'abord de ce fournisseur, puis liez-le à SimpleFIN.
|
||||
invalid_simplefin_account: Compte SimpleFIN sélectionné invalide
|
||||
dismiss_replacement_suggestion:
|
||||
dismissed: Suggestion de remplacement ignorée
|
||||
replacement_prompt:
|
||||
title: "Votre carte %{institution} a peut-être été remplacée"
|
||||
description: "« %{account_name} » est liée à « %{old_name} », qui n'a eu aucune activité récente et un solde à zéro. Une nouvelle carte, « %{new_name} », est désormais active dans la même institution. Reliez-la pour conserver votre historique intact."
|
||||
relink: Relier à la nouvelle carte
|
||||
confirm_title: Relier à la nouvelle carte ?
|
||||
confirm_body: "« %{account_name} » sera liée à « %{new_name} ». Votre historique de transactions est conservé ; les transactions futures proviendront de la nouvelle carte."
|
||||
dismiss_aria: Ignorer la suggestion de remplacement
|
||||
reconciled_status:
|
||||
message:
|
||||
one: "%{count} transaction en attente en doublon réconciliée"
|
||||
other: "%{count} transactions en attente en doublon réconciliées"
|
||||
stale_pending_status:
|
||||
message:
|
||||
one: "%{count} transaction en attente depuis plus de %{days} jours"
|
||||
other: "%{count} transactions en attente depuis plus de %{days} jours"
|
||||
|
||||
190
config/locales/views/snaptrade_items/fr.yml
Normal file
190
config/locales/views/snaptrade_items/fr.yml
Normal file
@@ -0,0 +1,190 @@
|
||||
---
|
||||
fr:
|
||||
snaptrade_items:
|
||||
default_name: "Connexion SnapTrade"
|
||||
create:
|
||||
success: "Configuration SnapTrade réussie."
|
||||
update:
|
||||
success: "Configuration SnapTrade mise à jour."
|
||||
destroy:
|
||||
success: "Connexion SnapTrade mise en file d'attente pour suppression."
|
||||
connect:
|
||||
decryption_failed: "Impossible de lire les identifiants SnapTrade. Veuillez supprimer et recréer cette connexion."
|
||||
connection_failed: "Échec de la connexion à SnapTrade : %{message}"
|
||||
callback:
|
||||
success: "Courtier connecté. Veuillez sélectionner les comptes à lier."
|
||||
no_item: "Configuration SnapTrade introuvable."
|
||||
complete_account_setup:
|
||||
success:
|
||||
one: "%{count} compte lié avec succès."
|
||||
other: "%{count} comptes liés avec succès."
|
||||
partial_success:
|
||||
one: "%{count} compte lié. Échec de la liaison de %{failed_count}."
|
||||
other: "%{count} comptes liés. Échec de la liaison de %{failed_count}."
|
||||
link_failed: "Échec de la liaison des comptes : %{errors}"
|
||||
no_accounts: "Aucun compte n'a été sélectionné pour la liaison."
|
||||
preload_accounts:
|
||||
not_configured: "SnapTrade n'est pas configuré."
|
||||
select_accounts:
|
||||
not_configured: "SnapTrade n'est pas configuré."
|
||||
select_existing_account:
|
||||
not_found: "Compte ou configuration SnapTrade introuvable."
|
||||
title: "Lier à un compte SnapTrade"
|
||||
header: "Lier un compte existant"
|
||||
subtitle: "Sélectionnez un compte SnapTrade à lier"
|
||||
no_accounts: "Aucun compte SnapTrade non lié disponible."
|
||||
connect_hint: "Vous devrez peut-être d'abord connecter un courtier."
|
||||
settings_link: "Aller aux paramètres du fournisseur"
|
||||
linking_to: "Liaison au compte :"
|
||||
balance_label: "Solde :"
|
||||
link_button: "Lier"
|
||||
cancel_button: "Annuler"
|
||||
link_existing_account:
|
||||
success: "Compte SnapTrade lié avec succès."
|
||||
failed: "Échec de la liaison du compte : %{message}"
|
||||
not_found: "Compte introuvable."
|
||||
connections:
|
||||
unknown_brokerage: "Courtier inconnu"
|
||||
delete_connection:
|
||||
success: "Connexion supprimée avec succès. Un emplacement libéré."
|
||||
failed: "Échec de la suppression de la connexion : %{message}"
|
||||
missing_authorization_id: "Identifiant d'autorisation manquant"
|
||||
api_deletion_failed: "Impossible de supprimer la connexion de SnapTrade - identifiants manquants. La connexion peut toujours exister dans votre compte SnapTrade."
|
||||
delete_orphaned_user:
|
||||
success: "Enregistrement orphelin supprimé avec succès."
|
||||
failed: "Échec de la suppression de l'enregistrement orphelin."
|
||||
setup_accounts:
|
||||
title: "Configurer les comptes SnapTrade"
|
||||
header: "Configurer vos comptes SnapTrade"
|
||||
subtitle: "Sélectionnez les comptes de courtage à lier"
|
||||
syncing: "Récupération de vos comptes…"
|
||||
loading: "Récupération des comptes depuis SnapTrade…"
|
||||
loading_hint: "Cliquez sur Actualiser pour vérifier les comptes."
|
||||
refresh: "Actualiser"
|
||||
info_title: "Données d'investissement SnapTrade"
|
||||
info_holdings: "Avoirs avec prix actuels et quantités"
|
||||
info_cost_basis: "Coût d'acquisition par position (lorsque disponible)"
|
||||
info_activities: "Historique des transactions boursières avec libellés d'activité (Achat, Vente, Dividende, etc.)"
|
||||
info_history: "Jusqu'à 3 ans d'historique des transactions"
|
||||
free_tier_note: "L'offre gratuite SnapTrade autorise 5 connexions de courtier. Consultez votre tableau de bord SnapTrade pour l'utilisation actuelle."
|
||||
no_accounts_title: "Aucun compte trouvé"
|
||||
no_accounts_message: "Aucun compte de courtage n'a été trouvé. Cela peut se produire si vous avez annulé la connexion ou si votre courtier n'est pas pris en charge."
|
||||
try_again: "Connecter un courtier"
|
||||
back_to_settings: "Retour aux paramètres"
|
||||
available_accounts: "Comptes disponibles"
|
||||
balance_label: "Solde :"
|
||||
account_number: "Compte :"
|
||||
create_button: "Créer les comptes sélectionnés"
|
||||
cancel_button: "Annuler"
|
||||
creating: "Création des comptes…"
|
||||
done_button: "Terminé"
|
||||
or_link_existing: "Ou liez à un compte existant au lieu d'en créer un nouveau :"
|
||||
select_account: "Sélectionnez un compte…"
|
||||
link_button: "Lier"
|
||||
linked_accounts: "Déjà liés"
|
||||
linked_to: "Lié à :"
|
||||
snaptrade_item:
|
||||
accounts_need_setup:
|
||||
one: "%{count} compte à configurer"
|
||||
other: "%{count} comptes à configurer"
|
||||
deletion_in_progress: "Suppression en cours…"
|
||||
syncing: "Synchronisation…"
|
||||
requires_update: "Connexion à mettre à jour"
|
||||
error: "Erreur de synchronisation"
|
||||
status: "Dernière synchronisation il y a %{timestamp} - %{summary}"
|
||||
status_never: "Jamais synchronisé"
|
||||
reconnect: "Reconnecter"
|
||||
connect_brokerage: "Connecter un courtier"
|
||||
add_another_brokerage: "Connecter un autre courtier"
|
||||
delete: "Supprimer"
|
||||
setup_needed: "Comptes à configurer"
|
||||
setup_description: "Certains comptes de SnapTrade doivent être liés à des comptes Sure."
|
||||
setup_action: "Configurer les comptes"
|
||||
setup_accounts_menu: "Configurer les comptes"
|
||||
manage_connections: "Gérer les connexions"
|
||||
more_accounts_available:
|
||||
one: "%{count} compte supplémentaire disponible à configurer"
|
||||
other: "%{count} comptes supplémentaires disponibles à configurer"
|
||||
no_accounts_title: "Aucun compte découvert"
|
||||
no_accounts_description: "Connectez un courtier pour importer vos comptes d'investissement."
|
||||
|
||||
providers:
|
||||
snaptrade:
|
||||
name: "SnapTrade"
|
||||
connection_description: "Connectez-vous à votre courtier via SnapTrade (plus de 25 courtiers pris en charge)"
|
||||
description: "SnapTrade se connecte à plus de 25 courtiers majeurs (Fidelity, Vanguard, Schwab, Robinhood, etc.) et fournit l'historique complet des transactions avec des libellés d'activité et le coût d'acquisition."
|
||||
setup_title: "Instructions de configuration :"
|
||||
step_1_html: "Créez un compte sur <a href=\"https://dashboard.snaptrade.com\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"text-primary underline\">dashboard.snaptrade.com</a>"
|
||||
step_2: "Copiez votre Client ID et votre Consumer Key depuis le tableau de bord"
|
||||
step_3: "Saisissez vos identifiants ci-dessous et cliquez sur Enregistrer"
|
||||
step_4: "Rendez-vous sur la page Comptes et utilisez « Connecter un autre courtier » pour lier vos comptes d'investissement"
|
||||
free_tier_warning: "L'offre gratuite inclut 5 connexions de courtier. Les connexions supplémentaires nécessitent un forfait SnapTrade payant."
|
||||
client_id_label: "Client ID"
|
||||
client_id_placeholder: "Saisissez votre Client ID SnapTrade"
|
||||
client_id_update_placeholder: "Saisissez un nouveau Client ID pour mettre à jour"
|
||||
consumer_key_label: "Consumer Key"
|
||||
consumer_key_placeholder: "Saisissez votre Consumer Key SnapTrade"
|
||||
consumer_key_update_placeholder: "Saisissez une nouvelle Consumer Key pour mettre à jour"
|
||||
save_button: "Enregistrer la configuration"
|
||||
update_button: "Mettre à jour la configuration"
|
||||
status_connected:
|
||||
one: "%{count} compte depuis SnapTrade"
|
||||
other: "%{count} comptes depuis SnapTrade"
|
||||
needs_setup:
|
||||
one: "%{count} à configurer"
|
||||
other: "%{count} à configurer"
|
||||
status_ready: "Prêt à connecter des courtiers"
|
||||
status_needs_registration: "Identifiants enregistrés. Rendez-vous sur la page Comptes pour connecter des courtiers."
|
||||
status_not_configured: "Non configuré"
|
||||
setup_accounts_button: "Configurer les comptes"
|
||||
connect_button: "Connecter un courtier"
|
||||
connected_brokerages: "Connectés :"
|
||||
manage_connections: "Gérer les connexions"
|
||||
connection_limit_info: "L'offre gratuite SnapTrade autorise 5 connexions de courtier. Supprimez les connexions inutilisées pour libérer des emplacements."
|
||||
loading_connections: "Chargement des connexions…"
|
||||
connections_error: "Échec du chargement des connexions : %{message}"
|
||||
accounts_count:
|
||||
one: "%{count} compte"
|
||||
other: "%{count} comptes"
|
||||
orphaned_connection: "Connexion orpheline (non synchronisée localement)"
|
||||
needs_linking: "à lier"
|
||||
no_connections: "Aucune connexion de courtier trouvée."
|
||||
delete_connection: "Supprimer"
|
||||
delete_connection_title: "Supprimer la connexion de courtier ?"
|
||||
delete_connection_body: "Cela supprimera définitivement la connexion %{brokerage} de SnapTrade. Tous les comptes de ce courtier seront déliés. Vous devrez vous reconnecter pour synchroniser à nouveau ces comptes."
|
||||
delete_connection_confirm: "Supprimer la connexion"
|
||||
orphaned_users_title:
|
||||
one: "%{count} enregistrement orphelin"
|
||||
other: "%{count} enregistrements orphelins"
|
||||
orphaned_users_description: "Il s'agit d'anciens enregistrements d'utilisateurs SnapTrade qui occupent vos emplacements de connexion. Supprimez-les pour libérer des emplacements."
|
||||
orphaned_user: "Enregistrement orphelin"
|
||||
delete_orphaned_user: "Supprimer"
|
||||
delete_orphaned_user_title: "Supprimer l'enregistrement orphelin ?"
|
||||
delete_orphaned_user_body: "Cela supprimera définitivement cet utilisateur SnapTrade orphelin et toutes ses connexions de courtier, libérant ainsi des emplacements de connexion."
|
||||
delete_orphaned_user_confirm: "Supprimer l'enregistrement"
|
||||
|
||||
snaptrade_item:
|
||||
sync_status:
|
||||
no_accounts: "Aucun compte trouvé"
|
||||
synced:
|
||||
one: "%{count} compte synchronisé"
|
||||
other: "%{count} comptes synchronisés"
|
||||
synced_with_setup: "%{linked} synchronisé(s), %{unlinked} à configurer"
|
||||
institution_summary:
|
||||
none: "Aucune institution connectée"
|
||||
count:
|
||||
one: "%{count} institution"
|
||||
other: "%{count} institutions"
|
||||
brokerage_summary:
|
||||
none: "Aucun courtier connecté"
|
||||
count:
|
||||
one: "%{count} courtier"
|
||||
other: "%{count} courtiers"
|
||||
syncer:
|
||||
discovering: "Découverte des comptes…"
|
||||
importing: "Importation des comptes depuis SnapTrade…"
|
||||
processing: "Traitement des avoirs et des activités…"
|
||||
calculating: "Calcul des soldes…"
|
||||
checking_config: "Vérification de la configuration du compte…"
|
||||
needs_setup: "%{count} comptes à configurer…"
|
||||
activities_fetching_async: "Les activités sont récupérées en arrière-plan. Cela peut prendre jusqu'à une minute pour les nouvelles connexions de courtier."
|
||||
47
config/locales/views/splits/fr.yml
Normal file
47
config/locales/views/splits/fr.yml
Normal file
@@ -0,0 +1,47 @@
|
||||
---
|
||||
fr:
|
||||
splits:
|
||||
new:
|
||||
title: Diviser la transaction
|
||||
description: Divisez cette transaction en plusieurs entrées avec différentes catégories et montants.
|
||||
submit: Diviser la transaction
|
||||
cancel: Annuler
|
||||
add_row: Ajouter une division
|
||||
remove_row: Retirer
|
||||
remaining: Restant
|
||||
amounts_must_match: Les montants des divisions doivent être égaux au montant initial de la transaction.
|
||||
name_label: Nom
|
||||
name_placeholder: Nom de la division
|
||||
amount_label: Montant
|
||||
category_label: Catégorie
|
||||
uncategorized: "(sans catégorie)"
|
||||
original_name: "Nom :"
|
||||
original_date: "Date :"
|
||||
original_amount: "Montant"
|
||||
split_number: "Division n°%{number}"
|
||||
create:
|
||||
success: Transaction divisée avec succès
|
||||
not_splittable: Cette transaction ne peut pas être divisée.
|
||||
destroy:
|
||||
success: Division de la transaction annulée avec succès
|
||||
show:
|
||||
title: Entrées de la division
|
||||
description: Cette transaction a été divisée en plusieurs entrées.
|
||||
button_title: Diviser la transaction
|
||||
button_description: Divisez cette transaction en plusieurs entrées avec différentes catégories et montants.
|
||||
button: Diviser
|
||||
unsplit_title: Annuler la division
|
||||
unsplit_button: Annuler la division
|
||||
unsplit_confirm: Cela supprimera toutes les entrées de division et restaurera la transaction initiale.
|
||||
edit:
|
||||
title: Modifier la division
|
||||
description: Modifiez les entrées de division de cette transaction.
|
||||
submit: Mettre à jour la division
|
||||
not_split: Cette transaction n'est pas divisée.
|
||||
update:
|
||||
success: Division mise à jour avec succès
|
||||
child:
|
||||
title: Partie d'une division
|
||||
description: Cette entrée fait partie d'une transaction divisée.
|
||||
edit_split: Modifier la division
|
||||
unsplit: Annuler la division
|
||||
@@ -5,6 +5,7 @@ fr:
|
||||
account: Compte de transfert (facultatif)
|
||||
account_prompt: Rechercher un compte
|
||||
amount: Montant
|
||||
fee: Frais de transaction
|
||||
holding: Symbole boursier
|
||||
holding_optional: Symbole boursier (facultatif)
|
||||
price: Prix par action
|
||||
@@ -35,15 +36,22 @@ fr:
|
||||
show:
|
||||
additional: Détails supplémentaires
|
||||
amount_label: Montant
|
||||
buy: Acheter
|
||||
category_label: Catégorie
|
||||
cost_per_share_label: Coût par action
|
||||
date_label: Date
|
||||
delete: Supprimer
|
||||
fee_label: Frais de transaction
|
||||
delete_subtitle: Cette action ne peut pas être annulée
|
||||
delete_title: Supprimer la transaction
|
||||
delete_title: Supprimer la transaction boursière
|
||||
details: Détails
|
||||
provider_disabled_warning: "Mises à jour des prix en pause — le fournisseur %{provider} est désactivé. Réactivez-le dans les paramètres ou réassociez l'avoir à un autre fournisseur."
|
||||
exclude_subtitle: Cette transaction ne sera pas incluse dans les rapports et les calculs
|
||||
exclude_title: Exclure des analyses
|
||||
no_category: Aucune catégorie
|
||||
note_label: Note
|
||||
note_placeholder: Ajoutez tout commentaire supplémentaire ici...
|
||||
quantity_label: Quantité
|
||||
sell: Vendre
|
||||
settings: Paramètres
|
||||
type_label: Type
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
---
|
||||
fr:
|
||||
transactions:
|
||||
unknown_name: Transaction inconnue
|
||||
selection_bar:
|
||||
duplicate: Dupliquer
|
||||
edit: Modifier
|
||||
form:
|
||||
account: Compte
|
||||
account_prompt: Sélectionnez un compte
|
||||
@@ -12,12 +16,13 @@ fr:
|
||||
description_placeholder: Libellé de la transaction
|
||||
expense: Dépense
|
||||
income: Revenu
|
||||
merchant_label: Marchand
|
||||
none: (aucun)
|
||||
note_label: Notes
|
||||
note_placeholder: Entrez une note
|
||||
submit: Ajouter la transaction
|
||||
tags_label: Étiquettes
|
||||
transfer: Transfert
|
||||
transfer: Virement
|
||||
new:
|
||||
new_transaction: Nouvelle transaction
|
||||
show:
|
||||
@@ -29,6 +34,19 @@ fr:
|
||||
delete_subtitle: Cette action supprime définitivement la transaction, affecte vos soldes historiques et ne peut pas être annulée.
|
||||
delete_title: Supprimer la transaction
|
||||
details: Détails
|
||||
attachments: Pièces jointes
|
||||
exclude: Exclure
|
||||
exclude_description: Les transactions exclues seront retirées des calculs budgétaires et des rapports.
|
||||
activity_type: Type d'activité
|
||||
activity_type_description: Type d'activité d'investissement (Achat, Vente, Dividende, etc.). Détecté automatiquement ou défini manuellement.
|
||||
one_time_title: "Transaction ponctuelle (%{type})"
|
||||
one_time_description: Les transactions ponctuelles seront exclues de certains calculs budgétaires et rapports afin de vous aider à voir ce qui compte vraiment.
|
||||
convert_to_trade_title: Convertir en transaction boursière
|
||||
convert_to_trade_description: Convertissez cette transaction en une transaction boursière d'achat ou de vente avec les détails du titre pour le suivi du portefeuille.
|
||||
convert_to_trade_button: Convertir en transaction boursière
|
||||
pending_duplicate_merger_title: Doublon d'une transaction validée ?
|
||||
pending_duplicate_merger_description: Fusionnez manuellement cette transaction en attente avec sa version validée.
|
||||
pending_duplicate_merger_button: Ouvrir la fusion
|
||||
merchant_label: Marchand
|
||||
name_label: Nom
|
||||
nature: Type
|
||||
@@ -38,18 +56,167 @@ fr:
|
||||
overview: Aperçu
|
||||
settings: Paramètres
|
||||
tags_label: Étiquettes
|
||||
tab_transactions: Transactions
|
||||
tab_upcoming: À venir
|
||||
uncategorized: "(non catégorisée)"
|
||||
activity_labels:
|
||||
buy: Achat
|
||||
sell: Vente
|
||||
sweep_in: Balayage entrant
|
||||
sweep_out: Balayage sortant
|
||||
dividend: Dividende
|
||||
reinvestment: Réinvestissement
|
||||
interest: Intérêts
|
||||
fee: Frais
|
||||
transfer: Transfert
|
||||
contribution: Contribution
|
||||
withdrawal: Retrait
|
||||
exchange: Échange
|
||||
other: Autre
|
||||
mark_recurring: Marquer comme récurrente
|
||||
mark_recurring_subtitle: Suivez cette transaction comme récurrente. La variance du montant est calculée automatiquement à partir des 6 derniers mois de transactions similaires.
|
||||
mark_recurring_title: Transaction récurrente
|
||||
potential_duplicate_title: Doublon possible détecté
|
||||
potential_duplicate_description: Cette transaction en attente peut être identique à la transaction validée ci-dessous. Si c'est le cas, fusionnez-les pour éviter le double comptage.
|
||||
merge_duplicate: Oui, les fusionner
|
||||
keep_both: Non, garder les deux
|
||||
split_parent_row:
|
||||
split_label: "Fractionner"
|
||||
transaction:
|
||||
pending: En attente
|
||||
pending_tooltip: Transaction en attente — peut changer une fois validée
|
||||
linked_with_provider: Lié avec %{provider}
|
||||
activity_type_tooltip: Type d'activité d'investissement
|
||||
possible_duplicate: Doublon ?
|
||||
potential_duplicate_tooltip: Cette transaction peut être un doublon d'une autre transaction
|
||||
review_recommended: Vérifier
|
||||
review_recommended_tooltip: Écart de montant important — vérification recommandée pour vérifier s'il s'agit d'un doublon
|
||||
split: Fractionner
|
||||
split_tooltip: Cette transaction a été fractionnée en plusieurs entrées
|
||||
split_child_tooltip: Partie d'une transaction fractionnée
|
||||
merge_duplicate:
|
||||
success: Transactions fusionnées avec succès
|
||||
failure: Impossible de fusionner les transactions
|
||||
dismiss_duplicate:
|
||||
success: Conservées comme transactions distinctes
|
||||
failure: Impossible d'écarter la suggestion de doublon
|
||||
pending_duplicate_merge:
|
||||
possible_duplicate: Doublon ?
|
||||
possible_duplicate_short: Dbl ?
|
||||
review_recommended: Vérifier
|
||||
review_recommended_short: Vérif
|
||||
confirm_title: "Fusionner avec la transaction validée (%{posted_amount})"
|
||||
reject_title: Conserver comme transactions distinctes
|
||||
summary:
|
||||
total_transactions: Total des transactions
|
||||
income: Revenus
|
||||
expenses: Dépenses
|
||||
inflow: Entrées
|
||||
outflow: Sorties
|
||||
header:
|
||||
edit_categories: Modifier les catégories
|
||||
edit_imports: Modifier les importations
|
||||
edit_merchants: Modifier les marchands
|
||||
edit_tags: Modifier les étiquettes
|
||||
import: Importer
|
||||
transaction:
|
||||
linked_with_provider: Lié avec %{provider}
|
||||
index:
|
||||
transaction: transaction
|
||||
transactions: transactions
|
||||
import: Importer
|
||||
categorize_button:
|
||||
one: "Catégoriser (1)"
|
||||
other: "Catégoriser (%{count})"
|
||||
categorizes:
|
||||
show:
|
||||
exit: "Quitter"
|
||||
skip: "Ignorer"
|
||||
remaining:
|
||||
one: "1 transaction non catégorisée restante"
|
||||
other: "%{count} transactions non catégorisées restantes"
|
||||
transaction_count:
|
||||
one: "1 transaction"
|
||||
other: "%{count} transactions"
|
||||
transactions_hint: "Décochez pour exclure une transaction, ou assignez-lui une catégorie différente directement dans sa ligne."
|
||||
assign_category: "Assigner une catégorie"
|
||||
assign_category_prompt: "→ assigner"
|
||||
filter_placeholder: "Rechercher des catégories…"
|
||||
col_transaction: "Transaction"
|
||||
col_date: "Date"
|
||||
col_amount: "Montant"
|
||||
col_category: "Catégorie"
|
||||
type_income: "Revenu"
|
||||
type_expense: "Dépense"
|
||||
create_rule_label: "Créer une règle de catégorisation"
|
||||
rule_description_prefix: "Les futures transactions de type %{type} dont le nom contient"
|
||||
rule_description_suffix: "devraient également recevoir cette catégorie."
|
||||
no_categories: "Aucune catégorie correspondante"
|
||||
all_done: "Toutes les transactions sont catégorisées"
|
||||
create:
|
||||
categorized:
|
||||
one: "1 transaction catégorisée"
|
||||
other: "%{count} transactions catégorisées"
|
||||
rule_creation_failed: "Transactions catégorisées, mais la règle n'a pas pu être créée (elle existe peut-être déjà)."
|
||||
entry_row:
|
||||
include_checkbox: "Inclure %{name}"
|
||||
assign_category_select: "Assigner une catégorie pour %{name}"
|
||||
list:
|
||||
drag_drop_title: Déposez un CSV à importer
|
||||
drag_drop_subtitle: Téléversez directement les transactions
|
||||
transaction: transaction
|
||||
transactions: transactions
|
||||
toggle_recurring_section: Afficher/masquer les transactions récurrentes à venir
|
||||
search:
|
||||
filters:
|
||||
account: Compte
|
||||
date: Date
|
||||
type: Type
|
||||
status: Statut
|
||||
amount: Montant
|
||||
category: Catégorie
|
||||
tag: Étiquette
|
||||
merchant: Marchand
|
||||
convert_to_trade:
|
||||
title: Convertir en transaction boursière
|
||||
description: Convertir cette transaction en une transaction boursière avec les détails du titre
|
||||
date_label: "Date :"
|
||||
account_label: "Compte :"
|
||||
amount_label: "Montant :"
|
||||
security_label: Titre
|
||||
security_prompt: Sélectionnez un titre…
|
||||
security_custom: "+ Saisir un ticker personnalisé"
|
||||
security_not_listed_hint: Vous ne voyez pas votre titre ? Sélectionnez « Saisir un ticker personnalisé » au bas de la liste.
|
||||
ticker_placeholder: AAPL
|
||||
ticker_hint: Saisissez le symbole ticker de l'action ou de l'ETF (ex. AAPL, MSFT)
|
||||
ticker_search_placeholder: Rechercher un ticker…
|
||||
ticker_search_hint: Recherchez par symbole ticker ou nom d'entreprise, ou saisissez un ticker personnalisé
|
||||
price_mismatch_title: Le prix ne correspond peut-être pas
|
||||
price_mismatch_message: "Votre prix (%{entered_price}/action) diffère significativement du prix de marché actuel de %{ticker} (%{market_price}). Si cela semble erroné, il se peut que vous ayez sélectionné le mauvais titre — essayez « Saisir un ticker personnalisé » pour indiquer le bon."
|
||||
quantity_label: Quantité (Actions)
|
||||
quantity_placeholder: ex. 20
|
||||
quantity_hint: Nombre d'actions négociées
|
||||
price_label: Prix par action
|
||||
price_placeholder: ex. 52.15
|
||||
price_hint: Prix par action (%{currency})
|
||||
qty_or_price_hint: Saisissez au moins la quantité OU le prix. L'autre sera calculé à partir du montant de la transaction (%{amount}).
|
||||
trade_type_label: Type de transaction boursière
|
||||
trade_type_hint: Acheter ou vendre des actions d'un titre
|
||||
exchange_label: Place de cotation (Facultatif)
|
||||
exchange_placeholder: XNAS
|
||||
exchange_hint: Laissez vide pour une détection automatique
|
||||
cancel: Annuler
|
||||
submit: Convertir en transaction boursière
|
||||
success: Transaction convertie en transaction boursière
|
||||
conversion_note: "Convertie depuis la transaction : %{original_name} (%{original_date})"
|
||||
errors:
|
||||
not_investment_account: Seules les transactions des comptes d'investissement peuvent être converties en transactions boursières
|
||||
already_converted: Cette transaction a déjà été convertie ou exclue
|
||||
enter_ticker: Veuillez saisir un symbole ticker
|
||||
security_not_found: Le titre sélectionné n'existe plus. Veuillez en sélectionner un autre.
|
||||
select_security: Veuillez sélectionner ou saisir un titre
|
||||
enter_qty_or_price: Veuillez saisir la quantité ou le prix par action. L'autre sera calculé à partir du montant de la transaction.
|
||||
invalid_qty_or_price: Quantité ou prix invalide. Veuillez saisir des valeurs positives valides.
|
||||
conversion_failed: "Échec de la conversion de la transaction : %{error}"
|
||||
unexpected_error: "Erreur inattendue lors de la conversion : %{error}"
|
||||
searches:
|
||||
filters:
|
||||
amount_filter:
|
||||
@@ -62,11 +229,16 @@ fr:
|
||||
income: Revenu
|
||||
on_or_after: le %{date} et après
|
||||
on_or_before: le %{date} et avant
|
||||
transfer: Transfert
|
||||
transfer: Virement
|
||||
confirmed: Confirmée
|
||||
pending: En attente
|
||||
type_filter:
|
||||
expense: Dépense
|
||||
income: Revenu
|
||||
transfer: Transfert
|
||||
transfer: Virement
|
||||
status_filter:
|
||||
confirmed: Confirmée
|
||||
pending: En attente
|
||||
menu:
|
||||
account_filter: Compte
|
||||
amount_filter: Montant
|
||||
@@ -76,9 +248,30 @@ fr:
|
||||
clear_filters: Effacer les filtres
|
||||
date_filter: Date
|
||||
merchant_filter: Marchand
|
||||
status_filter: Statut
|
||||
tag_filter: Étiquette
|
||||
type_filter: Type
|
||||
search:
|
||||
equal_to: égal à
|
||||
greater_than: supérieur à
|
||||
less_than: inférieur à
|
||||
form:
|
||||
toggle_selection_checkboxes: Basculer toutes les cases à cocher
|
||||
attachments:
|
||||
cannot_exceed: "Ne peut dépasser %{count} pièces jointes par transaction"
|
||||
uploaded_one: "Pièce jointe téléversée avec succès"
|
||||
uploaded_many: "%{count} pièces jointes téléversées avec succès"
|
||||
failed_upload: "Échec du téléversement de la pièce jointe : %{error}"
|
||||
no_files_selected: "Aucun fichier sélectionné pour le téléversement"
|
||||
attachment_deleted: "Pièce jointe supprimée avec succès"
|
||||
failed_delete: "Échec de la suppression de la pièce jointe : %{error}"
|
||||
upload_failed: "Échec du téléversement de la pièce jointe. Veuillez réessayer ou contacter le support."
|
||||
delete_failed: "Échec de la suppression de la pièce jointe. Veuillez réessayer ou contacter le support."
|
||||
upload: "Téléverser"
|
||||
no_attachments: "Aucune pièce jointe pour l'instant"
|
||||
select_up_to: "Sélectionnez jusqu'à %{count} fichiers (images ou PDF, %{size} Mo max chacun) • %{used} sur %{count} utilisés"
|
||||
files:
|
||||
one: "Fichier (1)"
|
||||
other: "Fichiers (%{count})"
|
||||
browse_to_add: "Parcourir pour ajouter des fichiers"
|
||||
max_reached: "Limite maximale de fichiers atteinte (%{count}/%{max}). Supprimez un fichier existant pour en téléverser un autre."
|
||||
|
||||
@@ -7,11 +7,19 @@ fr:
|
||||
success: Transfert supprimé
|
||||
form:
|
||||
amount: Montant
|
||||
calculate_rate_tab: Calculer le taux de change
|
||||
convert_tab: Convertir avec taux de change
|
||||
date: Date
|
||||
destination_amount: Montant de destination
|
||||
destination_amount_display: "Montant de destination : %{amount}"
|
||||
exchange_rate: Taux de change
|
||||
exchange_rate_display: "Taux de change : %{rate}"
|
||||
exchange_rate_help: Choisissez comment saisir le montant du transfert.
|
||||
expense: Dépense
|
||||
from: De
|
||||
income: Revenu
|
||||
select_account: Sélectionner un compte
|
||||
source_amount: Montant source
|
||||
submit: Créer le transfert
|
||||
to: Vers
|
||||
transfer: Transfert
|
||||
|
||||
@@ -7,6 +7,9 @@ fr:
|
||||
email_change_failed: Échec du changement d'adresse e-mail.
|
||||
email_change_initiated: Veuillez vérifier votre nouvelle adresse e-mail pour les instructions de confirmation.
|
||||
success: Votre profil a été mis à jour.
|
||||
resend_confirmation_email:
|
||||
success: Un nouvel e-mail de confirmation est en file d'attente pour être envoyé.
|
||||
no_pending_change: Aucun changement d'adresse e-mail n'est actuellement en attente !
|
||||
reset:
|
||||
success: Votre compte a été réinitialisé. Les données seront supprimées en arrière-plan dans un certain temps.
|
||||
unauthorized: Vous n'êtes pas autorisé à effectuer cette action.
|
||||
|
||||
Reference in New Issue
Block a user