- lib/api.ts: sends x-device-name + x-device-model + x-device-os headers
(cached per session, URL-encoded). Backend persists into user_devices for
visual differentiation in DeviceLimitSheet.
- DeviceLimitReachedSheet: renders name (primary) + model · OS-version
(secondary), "Dieses Gerät"-Pill on isCurrent. Stale phantoms become
distinguishable.
- Profile i18n sweep: 8 keys × 3 languages = 24 fixes — all {{var}} placeholders
switched to %{var} matching i18next config (Vue-i18n leftover from Nuxt-port).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
986 lines
54 KiB
JSON
986 lines
54 KiB
JSON
{
|
||
"common": {
|
||
"loading": "Un instant...",
|
||
"cancel": "Annuler",
|
||
"continue": "Continuer",
|
||
"back": "Retour",
|
||
"error": "Erreur",
|
||
"success": "Succès",
|
||
"ok": "OK",
|
||
"confirm": "Confirmer",
|
||
"retry": "Réessayer",
|
||
"unknown_error": "Erreur inconnue"
|
||
},
|
||
"auth": {
|
||
"welcomeBack": "Bon retour",
|
||
"signinSubtitle": "Connectez-vous pour continuer.",
|
||
"signin": "Se connecter",
|
||
"signingIn": "Un instant...",
|
||
"signup": "S'inscrire",
|
||
"signupTitle": "Créer un compte",
|
||
"signupSubtitle": "Rejoignez la communauté.",
|
||
"signOut": "Se déconnecter",
|
||
"email": "E-mail",
|
||
"emailPlaceholder": "E-mail",
|
||
"emailRequired": "E-mail *",
|
||
"password": "Mot de passe",
|
||
"passwordPlaceholder": "Mot de passe",
|
||
"passwordRequired": "Mot de passe * (min. 8 caractères)",
|
||
"passwordMin8": "Le mot de passe doit comporter au moins 8 caractères.",
|
||
"newPassword": "Nouveau mot de passe",
|
||
"firstName": "Prénom",
|
||
"lastName": "Nom",
|
||
"nickname": "Pseudo",
|
||
"nicknamePlaceholder": "Pseudo * (visible par les autres)",
|
||
"noAccount": "Pas encore de compte ?",
|
||
"alreadyRegistered": "Déjà inscrit ?",
|
||
"fillRequired": "Veuillez remplir tous les champs obligatoires.",
|
||
"googleSignin": "Se connecter avec Google",
|
||
"appleSignin": "Se connecter avec Apple",
|
||
"googleSignup": "S'inscrire avec Google",
|
||
"appleSignup": "S'inscrire avec Apple",
|
||
"orWithEmail": "ou avec e-mail",
|
||
"forgotPassword": "Mot de passe oublié ?",
|
||
"resetPasswordTitle": "Réinitialiser le mot de passe",
|
||
"resetPasswordSubtitle": "Saisissez votre e-mail et nous vous enverrons un lien de réinitialisation.",
|
||
"resetPasswordSend": "Envoyer le lien",
|
||
"resetPasswordSent": "E-mail envoyé",
|
||
"resetPasswordSentDesc": "Vérifiez votre boîte de réception. Le lien est valable 60 minutes.",
|
||
"resetPasswordSentDescPrefix": "Vérifiez votre boîte de réception pour ",
|
||
"resetPasswordSentDescSuffix": ". Le lien est valable 60 minutes.",
|
||
"backToLogin": "← Retour à la connexion",
|
||
"backToLoginPlain": "Retour à la connexion",
|
||
"backToSignup": "← Retour à l'inscription",
|
||
"chooseAvatar": "Choisir un avatar",
|
||
"privacyNotice": "Vos données sont stockées en toute sécurité sur des serveurs en Allemagne. Nous ne vendons jamais vos données à des tiers.",
|
||
"acceptTerms": "J'accepte les",
|
||
"acceptTermsSuffix": " et j'ai lu la politique de confidentialité.",
|
||
"termsLink": "Conditions d'utilisation",
|
||
"pleaseAcceptTerms": "Veuillez accepter les conditions d'utilisation.",
|
||
"confirmEmailTitle": "Confirmer l'e-mail",
|
||
"confirmEmailDesc": "Nous avons envoyé un code à 6 chiffres à %{email}.",
|
||
"confirmEmailLine1": "Nous avons envoyé un code à 6 chiffres à",
|
||
"confirmEmailLine2": "",
|
||
"confirmBtn": "Confirmer",
|
||
"confirmed": "Confirmé ! Redirection en cours...",
|
||
"confirming": "Confirmation de la connexion...",
|
||
"confirmSuccess": "Connexion réussie !",
|
||
"confirmTimeout": "Délai dépassé – veuillez réessayer.",
|
||
"confirmFailed": "La confirmation a échoué.",
|
||
"resend": "Renvoyer",
|
||
"resendCooldown": "Renvoyer (%{seconds}s)",
|
||
"noCode": "Vous n'avez pas reçu de code ?",
|
||
"deviceLimitTitle": "Limite d'appareils atteinte",
|
||
"deviceLimitDesc": "Votre abonnement actuel ne permet pas d'ajouter d'autres appareils. Libérez un appareil ou passez à un abonnement supérieur pour continuer sur cet appareil.",
|
||
"deviceLimitUpgrade": "Améliorer l'abonnement",
|
||
"toLogin": "Retour à la connexion",
|
||
"oauthFailed": "Connexion échouée",
|
||
"loginFailed": "Connexion échouée",
|
||
"registerFailed": "Inscription échouée"
|
||
},
|
||
"landing": {
|
||
"appName": "Rebreak",
|
||
"tagline": "Vous n'avancez pas seul.",
|
||
"start": "S'inscrire"
|
||
},
|
||
"splash": {
|
||
"tagline": "You will never walk alone!",
|
||
"subtitle": "Ensemble, nous y arriverons.",
|
||
"madeInGermany": "Made in Germany"
|
||
},
|
||
"applock": {
|
||
"title": "Rebreak est verrouillé",
|
||
"subtitle": "Déverrouillez l'application pour continuer.",
|
||
"unlock": "Déverrouiller",
|
||
"prompt": "Déverrouiller Rebreak",
|
||
"signOut_title": "Se déconnecter ?",
|
||
"signOut_body": "Vous pourrez vous reconnecter avec votre e-mail et mot de passe."
|
||
},
|
||
"appHeader": {
|
||
"appName": "ReBreak",
|
||
"sosLabel": "SOS",
|
||
"sosTagline": "nous sommes là pour vous",
|
||
"sosSubtitle": "Appuyez ici si vous avez besoin d'aide",
|
||
"editProfile": "Modifier le profil",
|
||
"settings": "Paramètres",
|
||
"signOut": "Se déconnecter"
|
||
},
|
||
"headerMenu": {
|
||
"profile": "Profil",
|
||
"settings": "Paramètres",
|
||
"games": "ReBreak Games",
|
||
"debug": "Debug",
|
||
"logout": "Se déconnecter"
|
||
},
|
||
"tabs": {
|
||
"home": "Accueil",
|
||
"chat": "Chat",
|
||
"coach": "Coach",
|
||
"blocker": "Bloqueur",
|
||
"mail": "Mail",
|
||
"profile": "Profil"
|
||
},
|
||
"games": {
|
||
"title": "ReBreak Games",
|
||
"subtitle": "Jouer librement hors SOS — Memory, Snake, Tetris et Tic-Tac-Toe.",
|
||
"back_to_picker": "Jeux",
|
||
"last_score": "Score : %{score}",
|
||
"skeleton_footer": "Skeleton — classement des meilleurs scores à venir en phase C"
|
||
},
|
||
"home": {
|
||
"tagline": "Vous n'avancez pas seul.",
|
||
"start": "Commencer",
|
||
"greeting_morning": "Bonjour",
|
||
"greeting_day": "Bon après-midi",
|
||
"greeting_evening": "Bonsoir",
|
||
"streak_days_one": "jour sans jouer",
|
||
"streak_days_other": "jours sans jouer",
|
||
"streak_start": "Commencez votre premier jour",
|
||
"quote_of_day": "Pensée du jour",
|
||
"quick_access": "Accès rapide",
|
||
"stats_urges": "Envies",
|
||
"stats_chats": "Conversations",
|
||
"stats_mails": "Mails bloqués"
|
||
},
|
||
"coach": {
|
||
"title": "Lyra",
|
||
"subtitle": "Votre Coach TCC",
|
||
"welcome": "Bonjour ! Je suis Lyra, votre coach personnel. Comment allez-vous aujourd'hui ? Je suis là pour vous écouter et vous aider.",
|
||
"input_placeholder": "Écrivez-moi...",
|
||
"new_chat": "Nouvelle conversation",
|
||
"lyra": "Lyra",
|
||
"modeBadge": {
|
||
"coach": "Coach",
|
||
"sos": "SOS"
|
||
},
|
||
"placeholder": "Qu'est-ce qui vous préoccupe ?",
|
||
"speaking": "Lyra parle...",
|
||
"recording": "Enregistrement en cours...",
|
||
"transcribing": "Traitement en cours...",
|
||
"feedback_saved": "Avis enregistré",
|
||
"welcome_back": "Bon retour",
|
||
"online": "en ligne",
|
||
"thinking": "écrit …",
|
||
"error": "Une erreur est survenue. Veuillez réessayer."
|
||
},
|
||
"blocker": {
|
||
"title": "Bloqueur",
|
||
"subtitle": "208 000+ domaines bloqués",
|
||
"status_active": "Actif",
|
||
"status_inactive": "Inactif",
|
||
"filter_label": "Filtre jeux d'argent",
|
||
"filter_active_desc": "Tous les sites de jeux d'argent sont bloqués",
|
||
"filter_inactive_desc": "Le filtre est désactivé",
|
||
"tamper_title": "Protection contre la manipulation",
|
||
"tamper_desc": "Le filtre est sécurisé contre toute désactivation facile. Le déverrouillage nécessite une période de blocage de 6 heures.",
|
||
"custom_domains": "Domaines personnalisés",
|
||
"add_domain": "Ajouter",
|
||
"help_link": "Aide & FAQ sur le bloqueur",
|
||
"status_approved": "Approuvé",
|
||
"status_rejected": "Refusé",
|
||
"status_pending": "En attente",
|
||
"add_sheet_title": "Bloquer un domaine",
|
||
"add_sheet_label": "Domaine",
|
||
"add_sheet_placeholder": "ex. bet365.com",
|
||
"add_sheet_invalid": "Veuillez saisir un domaine valide (ex. example.com)",
|
||
"add_sheet_warning_free": "Ce domaine reste définitivement dans votre liste — vous ne pourrez pas le supprimer plus tard.",
|
||
"add_sheet_warning_pro": "Ce domaine est permanent. Vous pouvez le proposer à la liste de blocage globale — le slot sera libéré et protégera tous les utilisateurs ReBreak.",
|
||
"add_sheet_confirm_permanent": "Je comprends que ce domaine est permanent.",
|
||
"add_sheet_add_failed": "Échec de l'ajout.",
|
||
"add_sheet_already_global": "%{domain} est déjà dans la liste de blocage globale — aucun slot nécessaire.",
|
||
"cooldown_banner_title": "Pause de sécurité en cours",
|
||
"deactivation_actionsheet_title": "Démarrer une pause de sécurité de 24h ?",
|
||
"deactivation_actionsheet_message": "La protection reste active pendant cette période. Vous pouvez annuler à tout moment.",
|
||
"deactivation_start_cta": "Démarrer la pause de sécurité",
|
||
"deactivation_failed_msg": "Impossible de démarrer la pause de sécurité.",
|
||
"deactivation_heading": "Avant de désactiver",
|
||
"deactivation_title": "Nous comprenons.",
|
||
"deactivation_intro": "Avant de désactiver la protection, voici ce que vous devez savoir :",
|
||
"deactivation_bullet1_title": "24 heures de pause de sécurité",
|
||
"deactivation_bullet1_text": "La protection reste active pendant 24h même après le démarrage de la pause. Ce temps vous permet de laisser passer l'envie.",
|
||
"deactivation_bullet2_title": "Vous pouvez annuler à tout moment",
|
||
"deactivation_bullet2_text": "Si l'envie passe : un seul appui et la pause est annulée. La protection reste simplement activée.",
|
||
"deactivation_bullet3_title": "D'autres outils sont disponibles",
|
||
"deactivation_bullet3_text": "Exercice de respiration, Lyra, votre série — tout reste disponible pendant que vous attendez.",
|
||
"deactivation_breathe_cta": "Respirer 3 min maintenant",
|
||
"deactivation_start_anyway": "Démarrer la pause quand même",
|
||
"deactivation_starting": "Démarrage de la pause de sécurité…",
|
||
"deactivation_cancel_failed": "Impossible d'annuler la pause de sécurité.",
|
||
"domain_section_title": "Domaines personnalisés",
|
||
"domain_add_a11y": "Ajouter un domaine",
|
||
"domain_limit_title": "Limite atteinte",
|
||
"domain_limit_desc": "Pro : 208k+ domaines, rechargement à la libération — appuyez pour les détails",
|
||
"domain_empty": "Aucun domaine personnalisé.\nAppuyez sur + pour en ajouter un.",
|
||
"domain_badge_voting": "Vote",
|
||
"domain_badge_pruefung": "Vérification",
|
||
"domain_badge_rejected": "Refusé",
|
||
"domain_badge_active": "Actif",
|
||
"domain_btn_freigeben": "Proposer",
|
||
"domain_btn_erneut": "Réessayer",
|
||
"domain_btn_in_abstimmung": "En cours de vote",
|
||
"domain_btn_rebreak_prueft": "ReBreak vérifie",
|
||
"domain_confirm_legend_resubmit": "Soumettre à nouveau à ReBreak ?",
|
||
"domain_confirm_legend_first": "Envoyer le domaine à ReBreak ?",
|
||
"domain_confirm_community_resubmit": "Soumettre à nouveau au vote communautaire ?",
|
||
"domain_confirm_community_first": "Proposer le domaine au vote communautaire ?",
|
||
"domain_confirm_legend_message": "%{domain} sera transmis directement à l'équipe ReBreak pour une vérification manuelle.",
|
||
"domain_confirm_community_message": "%{domain} sera soumis au vote communautaire (vote oui/non).",
|
||
"domain_success_legend_title": "Domaine soumis",
|
||
"domain_success_community_title": "Domaine en cours de vote",
|
||
"domain_success_legend_message": "L'équipe ReBreak vérifie ce domaine manuellement. Vous recevrez une notification avec le résultat.",
|
||
"domain_success_community_message": "La communauté peut maintenant voter. Vous serez notifié dès le résultat.",
|
||
"upgrade_alert_title": "Passer à Pro",
|
||
"upgrade_alert_desc": "Le paiement Stripe arrive à l'étape 11.",
|
||
"protection_card_title": "Protection ReBreak",
|
||
"protection_card_locked_title": "Protection ReBreak active",
|
||
"protection_subtitle_inactive": "Appuyez pour activer la protection",
|
||
"protection_subtitle_cooldown": "Pause de sécurité en cours — protection toujours active",
|
||
"protection_subtitle_free": "Filtre actif — %{count} domaines personnalisés",
|
||
"protection_subtitle_legend": "Protégé contre 208 000+ domaines + jusqu'à 10 personnalisés",
|
||
"protection_subtitle_pro": "Protégé contre 208 000+ domaines + 5 personnalisés",
|
||
"protection_settings_a11y": "Paramètres de protection",
|
||
"protection_stat_domains": "Domaines",
|
||
"protection_stat_method": "Méthode",
|
||
"protection_stat_method_dns": "DNS",
|
||
"protection_stat_method_native": "Natif",
|
||
"protection_stat_status": "Statut",
|
||
"protection_stat_status_live": "En direct",
|
||
"activate_url_failed_title": "Impossible d'activer le filtre URL",
|
||
"activate_url_failed_msg": "Erreur inconnue.\nVous pouvez réessayer ou vérifier les réglages système.",
|
||
"activate_settings_btn": "Paramètres",
|
||
"protection_off_title": "La protection est désactivée",
|
||
"protection_off_message": "Le filtre ne fonctionne pas alors qu'il devrait être actif. Voulez-vous le réactiver ?",
|
||
"reactivate_btn": "Réactiver",
|
||
"activate_app_lock_failed_title": "Impossible d'activer le verrouillage",
|
||
"activate_app_lock_failed_msg": "L'autorisation requise a été refusée. Vous pouvez réessayer.",
|
||
"sync_list_failed_title": "Impossible de charger la liste de filtrage",
|
||
"sync_list_failed_msg": "Veuillez réessayer plus tard.",
|
||
"activation_failed_title": "Échec de l'activation",
|
||
"details_done": "Terminé",
|
||
"details_title": "Détails de la protection",
|
||
"details_active_title": "Protection active",
|
||
"details_domains_blocked": "%{value} domaines bloqués",
|
||
"details_layers_heading": "Couches actives",
|
||
"details_layer_url_label": "Filtre réseau",
|
||
"details_layer_url_desc": "Bloque les domaines de jeux d'argent à l'échelle du système (extension NEFilter)",
|
||
"details_layer_applock_label": "Verrouillage de l'app",
|
||
"details_layer_applock_desc": "ReBreak ne peut pas être supprimé impulsivement",
|
||
"details_layer_vpn_label": "Filtre VPN",
|
||
"details_layer_vpn_desc": "Filtre DNS local via VpnService",
|
||
"details_layer_a11y_label": "Filtre navigateur",
|
||
"details_layer_a11y_desc": "Détecte les saisies d'URL dans les navigateurs",
|
||
"details_layer_tamper_label": "Verrou anti-manipulation",
|
||
"details_layer_tamper_desc": "Surveillance contre la désactivation externe",
|
||
"details_lyra_cta_title": "Vous n'avez plus besoin de la protection ?",
|
||
"details_lyra_cta_subtitle": "Parlez-en à Lyra — elle vous écoute.",
|
||
"details_deactivate_link": "Désactiver quand même",
|
||
"layers_url_filter_title": "Filtre URL",
|
||
"layers_url_filter_subtitle_active": "Filtre système actif",
|
||
"layers_url_filter_subtitle_inactive": "Bloque les sites de jeux d'argent dans Safari et les apps",
|
||
"layers_app_lock_title": "Verrouillage de l'app",
|
||
"layers_app_lock_subtitle_active": "Verrouillé — désactivation uniquement via la pause de sécurité",
|
||
"layers_app_lock_subtitle_inactive": "Vous empêche de désactiver ReBreak ou le filtre sous l'impulsion",
|
||
"layers_app_lock_warning": "Une fois actif, vous ne pouvez désactiver la protection que via une pause de sécurité de 24 heures. C'est voulu.",
|
||
"kpi_global_label": "Domaines bloqués dans le monde",
|
||
"kpi_global_subtitle": "Entrées actives dans la liste de blocage globale",
|
||
"delta_week": "cette semaine",
|
||
"delta_month": "ce mois-ci",
|
||
"kpi_submissions_title": "Vos domaines soumis",
|
||
"kpi_submissions_subtitle": "Statut de vos contributions à la liste globale",
|
||
"kpi_my_submissions": "au total",
|
||
"kpi_status_active": "actif",
|
||
"kpi_status_vote": "en vote",
|
||
"kpi_status_review": "en vérification",
|
||
"kpi_in_vote": "En vote",
|
||
"kpi_in_review": "En vérification",
|
||
"kpi_avg_per_user": "Moy. domaines par utilisateur",
|
||
"kpi_avg_wait": "Délai moyen",
|
||
"kpi_days_suffix": "jours",
|
||
"faq_heading": "Questions fréquentes",
|
||
"faq1_q": "Comment fonctionne la protection ?",
|
||
"faq1_a": "La protection fonctionne directement dans iOS comme filtre de contenu. Les sites de jeux d'argent sont bloqués localement sur votre appareil — aucun trafic ne quitte votre iPhone.",
|
||
"faq2_q": "Combien de sites sont bloqués ?",
|
||
"faq2_a": "Plus de 208 000 domaines issus d'une liste de blocage globale soigneusement sélectionnée — casinos en ligne, paris sportifs, plateformes de jeux d'argent et sites associés. La liste est mise à jour régulièrement.",
|
||
"faq3_q": "Puis-je ajouter mes propres domaines ?",
|
||
"faq3_a": "Oui. Via la liste de domaines sur la page du bloqueur, vous pouvez ajouter des domaines personnalisés qui seront bloqués en plus de la liste globale.",
|
||
"faq4_q": "Pourquoi ne puis-je pas désactiver la protection immédiatement ?",
|
||
"faq4_a": "Dans un moment d'impulsion, on veut souvent désactiver rapidement — pour le regretter ensuite. La pause de sécurité de 24 heures vous laisse le temps de laisser passer l'envie. Vous pouvez annuler la pause à tout moment — la protection reste alors simplement active.",
|
||
"more_info_title": "Désactiver la protection",
|
||
"cooldown_elapsed_title": "La protection est désactivée",
|
||
"cooldown_elapsed_message": "La pause de sécurité est terminée — la protection a été désactivée. Vous pouvez maintenant désactiver le service d'accessibilité ReBreak dans les Réglages.",
|
||
"cooldown_elapsed_open_settings": "Ouvrir les Réglages",
|
||
"app_lock_coming_soon_badge": "Bientôt",
|
||
"app_lock_coming_soon_desc": "Verrouillage de l'app bientôt disponible — la protection par filtre est déjà active."
|
||
},
|
||
"mail": {
|
||
"title": "Protection Mail",
|
||
"subtitle": "Bloquer automatiquement les mails de jeux d'argent",
|
||
"plan_free": "Gratuit",
|
||
"stat_accounts": "Boîte mail",
|
||
"stat_domains": "Domaines",
|
||
"stat_interval": "Intervalle de scan",
|
||
"connect_title": "Connectez votre boîte mail",
|
||
"connect_desc": "Rebreak scanne automatiquement les mails de jeux d'argent et les bloque — sans lire vos e-mails.",
|
||
"connect_cta": "Connecter maintenant",
|
||
"privacy_1": "Seuls l'objet et l'expéditeur sont vérifiés",
|
||
"privacy_2": "Aucun accès au contenu des mails",
|
||
"privacy_3": "Conforme au RGPD, serveurs en Allemagne",
|
||
"providers_title": "Fournisseurs pris en charge",
|
||
"provider_other": "Autres fournisseurs",
|
||
"empty_title": "Aucun mail bloqué pour l'instant",
|
||
"empty_subtitle": "Connectez votre boîte mail pour que Rebreak vous protège automatiquement.",
|
||
"connect_sheet_title": "Connecter une boîte mail",
|
||
"connect_sheet_subtitle": "Choisissez votre fournisseur de messagerie. Rebreak supprime automatiquement les mails de jeux d'argent — le contenu de vos messages n'est jamais lu.",
|
||
"provider_gmail": "Gmail",
|
||
"provider_icloud": "iCloud Mail",
|
||
"provider_outlook": "Outlook",
|
||
"provider_outlook_disabled_badge": "Bientôt disponible",
|
||
"provider_outlook_disabled_hint": "Les comptes Microsoft nécessitent une nouvelle méthode de connexion, nous y travaillons.",
|
||
"provider_yahoo": "Yahoo Mail",
|
||
"provider_gmx": "GMX / Web.de",
|
||
"app_password_required_title": "Mot de passe d'application requis",
|
||
"app_password_guide_gmail": "Gmail exige un mot de passe d'application spécifique (pas votre mot de passe Google habituel). Activez la validation en 2 étapes et créez un mot de passe d'application sur myaccount.google.com/apppasswords.",
|
||
"app_password_guide_icloud": "iCloud exige un mot de passe d'application spécifique. Rendez-vous sur appleid.apple.com → Connexion → Mots de passe spécifiques aux apps.",
|
||
"app_password_guide_outlook": "Outlook avec compte Microsoft : activez la validation en 2 étapes et créez un mot de passe d'application sur account.microsoft.com/security.",
|
||
"app_password_guide_yahoo": "Yahoo exige un mot de passe d'application. Activez la validation en 2 étapes et créez-en un sur login.yahoo.com/account/security.",
|
||
"app_password_guide_gmx": "GMX / Web.de : activez IMAP dans les paramètres et utilisez votre mot de passe habituel ou un mot de passe d'application si la validation en 2 étapes est active.",
|
||
"app_password_guide_other": "Saisissez votre adresse e-mail et votre mot de passe d'application. Rebreak détecte automatiquement votre fournisseur d'après le domaine (ex. IONOS, Strato, 1&1). Un mot de passe d'application est recommandé si disponible.",
|
||
"app_password_open_link": "Créer un mot de passe d'application maintenant",
|
||
"form_email_label": "Adresse e-mail",
|
||
"form_email_placeholder": "votre@email.fr",
|
||
"form_password_label": "Mot de passe d'application",
|
||
"form_password_placeholder": "Mot de passe d'application (pas votre mot de passe de connexion)",
|
||
"form_privacy_note": "Votre mot de passe est stocké avec chiffrement AES. Le contenu de vos mails n'est jamais lu — seuls l'objet et l'expéditeur sont traités.",
|
||
"form_connect_btn": "Connecter la boîte mail",
|
||
"form_fields_required": "L'e-mail et le mot de passe sont requis.",
|
||
"connect_failed": "Connexion échouée. Vérifiez vos identifiants.",
|
||
"section_accounts": "Boîtes mail",
|
||
"add_account_a11y": "Ajouter une boîte mail",
|
||
"empty_state_title": "Aucune boîte mail connectée",
|
||
"empty_state_subtitle": "Connectez votre première boîte mail — Rebreak supprimera automatiquement les mails de jeux d'argent avant que vous les voyiez.",
|
||
"empty_state_cta": "Connecter la première boîte mail",
|
||
"account_active": "Active",
|
||
"account_inactive": "Inactive",
|
||
"account_last_scan": "Il y a %{time}",
|
||
"account_never_scanned": "Pas encore scanné",
|
||
"account_just_now": "à l'instant",
|
||
"account_stat_blocked": "Bloqués",
|
||
"account_stat_scanned": "Scannés",
|
||
"account_stat_block_rate": "Taux de blocage",
|
||
"account_disconnect_confirm_title": "Déconnecter la boîte mail ?",
|
||
"account_disconnect_confirm_message": "%{email} sera déconnecté et toutes les données de scan seront supprimées.",
|
||
"account_disconnect_confirm_btn": "Déconnecter",
|
||
"stats_blocked": "Bloqués",
|
||
"stats_accounts": "Boîtes mail",
|
||
"stats_next_scan": "Prochain scan",
|
||
"stats_next_scan_soon": "bientôt",
|
||
"stats_mode": "Mode",
|
||
"stats_account_summary": "sur %{count} boîte(s) mail",
|
||
"scheduled": "Planifié",
|
||
"account_of_scanned": "sur %{scanned} scannés",
|
||
"activity_log_count": "%{count} mail(s) bloqué(s)",
|
||
"connect_success_title": "Boîte mail connectée",
|
||
"connect_success_message": "Rebreak va maintenant scanner automatiquement les mails de jeux d'argent.",
|
||
"upgrade_alert_title": "Plus de boîtes mail",
|
||
"upgrade_alert_desc": "Passez à Pro pour jusqu'à 3 boîtes mail, ou Legend pour un nombre illimité.",
|
||
"add_account": "Ajouter une boîte mail",
|
||
"section_accounts_count": "%{used} sur %{max} connectées",
|
||
"section_accounts_count_unlimited": "%{used} connectées · illimité",
|
||
"live": "En direct",
|
||
"disconnect": "Déconnecter",
|
||
"loading": "Chargement…",
|
||
"app_password_placeholder": "Mot de passe d'application",
|
||
"scan_interval_label": "Intervalle de scan",
|
||
"realtime_desc": "Blocage en temps réel via IMAP IDLE",
|
||
"free_scan_interval_hint": "Plan gratuit : intervalle fixe de 4h. Passez à Pro pour 1h.",
|
||
"account_change_password": "Changer le mot de passe",
|
||
"edit_account_title": "Mettre à jour le mot de passe",
|
||
"edit_account_subtitle": "Saisissez le nouveau mot de passe d'application pour %{email}. L'ancien mot de passe sera remplacé.",
|
||
"edit_account_save": "Enregistrer",
|
||
"activity_log_title": "Récemment bloqués",
|
||
"activity_log_subtitle": "Mails bloqués dans les dernières 24h",
|
||
"activity_log_empty": "Aucun mail bloqué dans les dernières 24h",
|
||
"activity_log_more": "+ %{count} de plus",
|
||
"activity_no_subject": "(sans objet)",
|
||
"chart_title": "7 derniers jours",
|
||
"chart_week_total": "%{count} cette semaine",
|
||
"status_auth_error": "Erreur d'authentification",
|
||
"status_connect_error": "Erreur de connexion",
|
||
"status_error_tap_hint": "Appuyez pour corriger",
|
||
"status_stale": "Obsolète",
|
||
"status_stale_last_scan": "dernier scan %{rel}",
|
||
"status_live_idle": "IDLE actif depuis %{rel}",
|
||
"status_live_no_new_mail": "connecté · aucun nouveau mail depuis %{rel}",
|
||
"status_waiting_first_connect": "En attente de la première connexion",
|
||
"auth_error_title": "Mot de passe d'application invalide",
|
||
"auth_error_subtitle": "Le mot de passe d'application pour %{email} a expiré ou est incorrect. Veuillez le renouveler et le saisir ici.",
|
||
"auth_error_renew_link": "Créer un nouveau mot de passe d'application",
|
||
"errors": {
|
||
"auth_failed": "Le mot de passe d'application est incorrect. Veuillez le renouveler auprès de votre fournisseur de messagerie et le saisir ici.",
|
||
"app_password_required": "Votre fournisseur de messagerie exige un mot de passe d'application spécifique. Créez-en un dans les paramètres de votre compte.",
|
||
"connection_failed": "Impossible de se connecter au serveur de messagerie. Veuillez réessayer plus tard.",
|
||
"host_unreachable": "Serveur de messagerie inaccessible. Vérifiez votre connexion Internet — ou votre fournisseur n'est peut-être pas encore pris en charge. Écrivez-nous : support@rebreak.org",
|
||
"tls_error": "Impossible d'établir une connexion sécurisée au serveur de messagerie. Contactez votre fournisseur.",
|
||
"rate_limited": "Trop de tentatives de connexion. Veuillez patienter quelques minutes et réessayer.",
|
||
"unknown": "Connexion échouée. Vérifiez le mot de passe d'application ou écrivez-nous à support@rebreak.org — nous ajouterons volontiers votre fournisseur."
|
||
},
|
||
"consent": {
|
||
"title": "Avant de connecter votre boîte mail",
|
||
"intro": "Rebreak recherche spécifiquement dans votre boîte mail les e-mails publicitaires de jeux d'argent et les supprime automatiquement. Ce traitement peut permettre de déduire l'existence d'une addiction au jeu — nous le traitons comme une catégorie particulière de données au sens de l'Art. 9 du RGPD.",
|
||
"legal_text": "En connectant ma boîte mail, je consens expressément à ce que Rebreak recherche dans ma boîte mail les e-mails publicitaires de jeux d'argent et les supprime. Je suis conscient(e) que ce traitement peut permettre de déduire l'existence d'une addiction au jeu, et je consens expressément à ce traitement de données de santé conformément à l'Art. 9, al. 2, lit. a du RGPD. Je peux révoquer ce consentement à tout moment pour l'avenir en déconnectant la connexion mail dans les paramètres de l'application.",
|
||
"checkbox_label": "Je consens expressément",
|
||
"cta_next": "Continuer",
|
||
"more_link": "En savoir plus sur ce traitement",
|
||
"reminder_title": "Information importante sur la confidentialité",
|
||
"reminder_body_one": "Pour votre connexion mail existante, nous avons besoin de votre consentement explicite renouvelé — sinon nous suspendrons la suppression automatique.",
|
||
"reminder_body_other": "Pour vos %{count} connexions mail existantes, nous avons besoin de votre consentement explicite renouvelé — sinon nous suspendrons la suppression automatique.",
|
||
"reminder_legal_short": "Je consens au traitement du contenu de ma boîte mail conformément à l'Art. 9, al. 2, lit. a du RGPD.",
|
||
"reminder_cta_consent": "Je consens",
|
||
"reminder_cta_later": "Plus tard",
|
||
"reminder_cta_disconnect": "Déconnecter maintenant",
|
||
"reminder_consent_error": "Impossible d'enregistrer le consentement. Veuillez réessayer."
|
||
},
|
||
"title_label": "Libellé",
|
||
"title_placeholder": "ex. Gmail personnel, Travail",
|
||
"title_edit_title": "Modifier le libellé",
|
||
"title_save": "Enregistrer",
|
||
"settings_section_label": "Paramètres",
|
||
"row_title": "Libellé",
|
||
"row_email": "E-mail",
|
||
"row_password": "Mot de passe",
|
||
"row_disconnect": "Déconnecter",
|
||
"account_chart_unavailable": "Graphique quotidien en chargement …",
|
||
"disconnect_confirm_title": "Déconnecter la boîte mail ?",
|
||
"disconnect_confirm_body": "%{email} sera déconnecté et toutes les données de scan seront supprimées.",
|
||
"more_infos_title": "Plus d'informations",
|
||
"more_infos_subtitle": "Bloqués — 30 derniers jours",
|
||
"stats": {
|
||
"blocked_per_day_heading": "Bloqués",
|
||
"blocked_per_day_sublabel": "%{total} mails bloqués · %{avg} la semaine dernière",
|
||
"blocked_per_week_heading": "Bloqués — semaines récentes",
|
||
"blocked_per_month_heading": "Bloqués — mois récents",
|
||
"distribution_heading": "Répartition par boîte mail",
|
||
"distribution_center_label": "au total",
|
||
"distribution_other": "Autres",
|
||
"distribution_other_n": "+%{n} de plus",
|
||
"empty_title": "Aucun mail bloqué pour l'instant",
|
||
"empty_body": "Dès que des mails sont bloqués, un aperçu apparaîtra ici."
|
||
},
|
||
"filter": {
|
||
"all": "Tous"
|
||
},
|
||
"oauth": {
|
||
"warning_title": "Note sur la visibilité dans votre compte Microsoft",
|
||
"warning_body": "Microsoft va vous afficher une boîte de dialogue d'autorisation. Le nom de l'application \"Rebreak\" y apparaîtra et sera visible dans l'aperçu de votre compte Microsoft sous Autorisations des apps. Si votre compte Microsoft est partagé avec d'autres personnes, veuillez en tenir compte.",
|
||
"warning_continue": "Compris, se connecter avec Microsoft",
|
||
"warning_cancel": "Retour à la sélection",
|
||
"pending_label": "Connexion Microsoft en cours…",
|
||
"pending_hint": "Finalisez l'étape dans votre navigateur puis revenez ici.",
|
||
"error_aborted": "Connexion annulée.",
|
||
"error_no_code": "OAuth échoué — aucun code d'autorisation reçu.",
|
||
"error_callback_failed": "La connexion n'a pas pu être finalisée. Veuillez réessayer.",
|
||
"disconnect_hint_title": "Connexion supprimée",
|
||
"disconnect_hint_body": "Les tokens ont été supprimés de notre base de données. Microsoft ne prend malheureusement pas en charge la révocation côté serveur par des applications tierces. Pour supprimer complètement l'autorisation Rebreak dans votre compte Microsoft : account.microsoft.com → Sécurité → Autorisations des apps → rechercher Rebreak → Supprimer.",
|
||
"disconnect_hint_open_ms": "Ouvrir Microsoft"
|
||
},
|
||
"account_chart_collecting_title": "Collecte des données",
|
||
"account_chart_collecting_body": "Analyse disponible après 24h",
|
||
"scan_now": "Scanner maintenant",
|
||
"scan_running": "Scan en cours…",
|
||
"scan_done": "%{count} bloqué(s)",
|
||
"scan_error": "Scan échoué",
|
||
"email_change_not_supported": "La modification de l'e-mail arrive bientôt"
|
||
},
|
||
"settings": {
|
||
"title": "Paramètres",
|
||
"account_section": "Compte",
|
||
"prefs_section": "Préférences",
|
||
"danger_section": "Zone de danger",
|
||
"edit_profile": "Modifier le profil",
|
||
"devices": "Appareils",
|
||
"devices_desc": "Gérer les appareils enregistrés",
|
||
"subscription": "Abonnement",
|
||
"subscription_desc": "Plan & voie d'amélioration",
|
||
"subscription_plan_free": "Gratuit",
|
||
"subscription_plan_pro": "Pro",
|
||
"subscription_plan_legend": "Legend",
|
||
"subscription_sheet_title": "Votre abonnement",
|
||
"subscription_sheet_body": "Gérez votre abonnement sur rebreak.org — vous pouvez y monter en gamme, descendre ou résilier.",
|
||
"subscription_sheet_cta": "Aller sur rebreak.org/account",
|
||
"plan_free": "Gratuit",
|
||
"push_notifications": "Notifications push",
|
||
"streak_reminders": "Rappels de série",
|
||
"language": "Langue",
|
||
"language_desc": "Allemand / Anglais / Français",
|
||
"language_current": "Français",
|
||
"upgrade_cta": "Passer à Pro — 29 €/an",
|
||
"delete_account": "Supprimer le compte",
|
||
"delete_desc": "Toutes les données seront définitivement supprimées.",
|
||
"sign_out": "Se déconnecter",
|
||
"coming_soon_title": "Bientôt disponible",
|
||
"coming_soon_desc": "Les paramètres seront configurés en phase 3. Actuellement en version squelette uniquement.",
|
||
"soon_badge": "Bientôt",
|
||
"skeleton_footer": "Squelette des paramètres — voir ops/UI_MIGRATION_PLAN.md",
|
||
"section_profile": "Profil",
|
||
"profile_edit": "Pseudo & avatar",
|
||
"profile_edit_desc": "Pseudo, avatar, données personnelles",
|
||
"profile_avatar": "Choisir un avatar",
|
||
"profile_avatar_desc": "Bibliothèque de préréglages ou votre propre photo",
|
||
"section_theme": "Thème & langue",
|
||
"theme": "Thème",
|
||
"theme_desc": "Clair / Sombre / Système",
|
||
"section_notifications": "Notifications",
|
||
"notifications_push": "Notifications push",
|
||
"notifications_push_desc": "Activer/désactiver par catégorie",
|
||
"notifications_streak": "Rappels de série",
|
||
"notifications_streak_desc": "Rappels quotidiens pour rester sur la bonne voie",
|
||
"section_devices": "Appareils & abonnement",
|
||
"section_lyra": "Lyra (Legend)",
|
||
"lyra_voice": "Voix de Lyra",
|
||
"lyra_voice_desc": "Sélecteur de voix — réservé au plan Legend",
|
||
"lyra_voice_only_legend": "Réservé au plan Legend",
|
||
"theme_picker_title": "Choisir le thème",
|
||
"theme_system": "Système",
|
||
"theme_light": "Clair",
|
||
"theme_dark": "Sombre",
|
||
"language_picker_title": "Choisir la langue",
|
||
"language_de": "Deutsch",
|
||
"language_en": "English",
|
||
"language_fr": "Français",
|
||
"lyra_voice_default": "Par défaut",
|
||
"lyra_voice_1": "Voix 1",
|
||
"lyra_voice_2": "Voix 2",
|
||
"lyra_voice_picker_title": "Choisir la voix de Lyra",
|
||
"lyra_voice_sarah": "Sarah (chaleureuse)",
|
||
"lyra_voice_aria": "Aria (apaisante)",
|
||
"lyra_voice_charlotte": "Charlotte (claire)",
|
||
"lyra_voice_alice": "Alice (sobre)",
|
||
"lyra_voice_bill": "Bill (grave)",
|
||
"section_debug": "Debug",
|
||
"debug_llm": "Fournisseur LLM",
|
||
"debug_llm_desc": "Modèle & réglage des prompts (DEV)",
|
||
"debug_tts": "Fournisseur TTS",
|
||
"debug_tts_desc": "Cartesia / ElevenLabs / Gemini (DEV)",
|
||
"debug_plan": "Remplacer le plan (DEV)",
|
||
"debug_plan_desc": "POST /api/dev/set-plan — staging uniquement",
|
||
"debug_realtime": "Connexion temps réel (DEV)",
|
||
"debug_realtime_desc": "État de la connexion, canaux, journal des événements",
|
||
"devices_page_title": "Appareils enregistrés",
|
||
"devices_slots": "Emplacements d'appareils",
|
||
"devices_slots_desc": "Votre plan %{plan} permet ce nombre d'appareils simultanés.",
|
||
"devices_this_device": "Cet appareil",
|
||
"devices_since": "depuis",
|
||
"devices_just_now": "actif à l'instant",
|
||
"devices_mins_ago": "il y a %{count}min",
|
||
"devices_hours_ago": "il y a %{count}h",
|
||
"devices_days_ago": "il y a %{count}j",
|
||
"devices_empty": "Aucun appareil enregistré",
|
||
"devices_hint": "Les appareils que vous supprimez se réenregistreront à la prochaine connexion. Cet appareil ne peut pas être supprimé tant que vous êtes connecté.",
|
||
"devices_remove_title": "Supprimer l'appareil",
|
||
"devices_remove_desc": "L'emplacement de l'appareil sera libéré. Il pourra se réenregistrer à la prochaine connexion.",
|
||
"devices_remove_confirm": "Supprimer",
|
||
"section_security": "Sécurité",
|
||
"app_lock": "Verrouillage de l'app",
|
||
"app_lock_desc": "Déverrouiller avec Face ID, Touch ID ou code à l'ouverture",
|
||
"app_lock_unavailable": "Non disponible sur cet appareil",
|
||
"app_lock_desc_android": "Déverrouiller avec empreinte digitale, déverrouillage facial ou PIN à l'ouverture"
|
||
},
|
||
"device_limit": {
|
||
"title": "Limite d'appareils atteinte",
|
||
"subtitle": "%{count} sur %{max} emplacements utilisés (%{plan}) — supprimez un appareil pour continuer",
|
||
"hint": "Les appareils supprimés peuvent se réenregistrer à la prochaine connexion.",
|
||
"remove_cta": "Supprimer un appareil",
|
||
"this_device": "Cet appareil"
|
||
},
|
||
"urge": {
|
||
"title": "SOS — Exercice de respiration",
|
||
"step_dashboard": "Début",
|
||
"step_emotion": "Émotion",
|
||
"step_breathing": "Respiration",
|
||
"step_games": "Lyra Games",
|
||
"step_result": "Réflexion",
|
||
"step_done": "Terminé",
|
||
"feel_urge": "Ressentez-vous une forte envie en ce moment ?",
|
||
"feel_urge_desc": "Nous vous guidons pas à pas vers un retour au calme.",
|
||
"yes_urge": "Oui, j'ai besoin d'aide",
|
||
"just_play": "Juste jouer",
|
||
"this_week": "Cette semaine",
|
||
"total_urges": "Envies",
|
||
"overcome_count": "Surmontées",
|
||
"breathing_exercises": "Exercices de respiration",
|
||
"having_urge": "Vous n'êtes pas seul.",
|
||
"how_feeling": "Comment vous sentez-vous en ce moment ?",
|
||
"emotion_stress": "Stress",
|
||
"emotion_sadness": "Tristesse",
|
||
"emotion_anger": "Colère",
|
||
"emotion_empty": "Vide",
|
||
"emotion_boredom": "Ennui",
|
||
"emotion_other": "Autre",
|
||
"lets_breathe": "Respirons un moment",
|
||
"breathing_desc": "Seulement 3 cycles. Votre esprit se calme généralement après.",
|
||
"round": "Cycle %{current} / %{total}",
|
||
"round_simple": "Cycle %{current} / %{total}",
|
||
"intro": "Respirer profondément aide à surmonter l'envie.",
|
||
"inhale": "Inspirez",
|
||
"hold": "Retenez",
|
||
"exhale": "Expirez",
|
||
"start": "Démarrer l'exercice",
|
||
"start_exercise": "Démarrer la respiration",
|
||
"skip": "Passer",
|
||
"game_offer_title": "Lyra Games",
|
||
"game_offer_text": "Choisissez un jeu rapide. 2-3 minutes suffisent souvent pour briser l'envie.",
|
||
"just_play_lyra": "Besoin d'un rapide retour au focus ? Choisissez un jeu.",
|
||
"game_memory": "Memory",
|
||
"game_tictactoe": "Tic-Tac-Toe",
|
||
"game_snake": "Snake",
|
||
"game_tetris": "Tetris",
|
||
"game_memory_desc": "Trouver des paires et retrouver la concentration",
|
||
"game_tictactoe_desc": "Duel rapide pour des décisions claires",
|
||
"game_snake_desc": "Le rythme plutôt que la rumination",
|
||
"game_tetris_desc": "Organiser des motifs, apaiser l'esprit",
|
||
"skip_games": "Passer les jeux",
|
||
"back": "Retour",
|
||
"open_lyra": "Ouvrir avec Lyra",
|
||
"game_start_title": "Démarrer le jeu",
|
||
"game_start_desc": "%{game} va démarrer avec Lyra.",
|
||
"how_overcome": "Comment s'est passé la suite ?",
|
||
"answer_helps": "Votre réponse vous aide à repérer des schémas et à vous renforcer.",
|
||
"i_overcame": "J'ai surmonté l'envie",
|
||
"i_gave_in": "J'ai cédé",
|
||
"overcame_msg": "Courageux. Chaque envie surmontée reconfigure votre cerveau.",
|
||
"gave_in_msg": "Sans jugement. L'honnêteté est le point de départ de la prochaine victoire.",
|
||
"save": "Enregistrer",
|
||
"done_title": "Très bien !",
|
||
"done_desc": "Vous avez terminé l'exercice de respiration. Votre système nerveux s'est apaisé.",
|
||
"done_back": "Retour",
|
||
"well_done": "Bravo",
|
||
"chin_up": "Courage",
|
||
"overcame_result": "Vous avez brisé le cycle de l'envie. Restez proche de ce qui vous fait du bien.",
|
||
"gave_in_result": "Un recul n'est pas une fin. Respirez et recommencez.",
|
||
"back_to_dashboard": "Retour au tableau de bord"
|
||
},
|
||
"notifications": {
|
||
"title": "Notifications",
|
||
"empty_title": "Aucune notification",
|
||
"empty_subtitle": "Vous êtes à jour.",
|
||
"mark_all_read": "Tout marquer comme lu",
|
||
"liked_post": "a aimé votre publication",
|
||
"commented_post": "a commenté votre publication",
|
||
"voted_domain": "a voté pour votre domaine",
|
||
"domain_accepted": "est maintenant dans la liste de blocage globale",
|
||
"domain_accepted_sub": "Appuyez pour ouvrir votre liste de blocage",
|
||
"domain_rejected": "a été refusé et supprimé de votre liste",
|
||
"new_follower": "vous suit maintenant",
|
||
"generic": "vous a envoyé une notification",
|
||
"just_now": "à l'instant",
|
||
"min_ago": "il y a %{n} min",
|
||
"hours_ago": "il y a %{n} h",
|
||
"days_ago": "il y a %{n} j"
|
||
},
|
||
"chat": {
|
||
"title": "Chat",
|
||
"dms": "Messages directs",
|
||
"rooms": "Groupes",
|
||
"groups": "Groupes",
|
||
"direct": "Direct",
|
||
"no_chats": "Aucune conversation pour l'instant",
|
||
"no_rooms": "Aucun groupe pour l'instant",
|
||
"start_dm": "Démarrer un nouveau message direct",
|
||
"placeholder": "Écrire un message…",
|
||
"you": "Vous : ",
|
||
"just_now": "à l'instant",
|
||
"loading": "Chargement…",
|
||
"send_failed": "Impossible d'envoyer le message.",
|
||
"create_group": "Créer un groupe",
|
||
"create": "Créer",
|
||
"room_name": "Nom du groupe",
|
||
"room_description": "Description (facultatif)",
|
||
"public_room": "Groupe public",
|
||
"join_mode": "Mode d'adhésion",
|
||
"join_mode_approval": "Avec approbation",
|
||
"join_mode_invite": "Sur invitation uniquement",
|
||
"join": "Rejoindre",
|
||
"join_pending": "Demande d'adhésion en cours…",
|
||
"join_required": "Rejoignez le groupe pour participer.",
|
||
"members": "Membres",
|
||
"settings": "Paramètres",
|
||
"info": "Info",
|
||
"leave_room": "Quitter le groupe",
|
||
"reply": "Répondre",
|
||
"reply_to": "Réponse à",
|
||
"like": "J'aime",
|
||
"unlike": "Retirer le j'aime",
|
||
"copy": "Copier",
|
||
"image_attachment": "Image",
|
||
"file_attachment": "Fichier",
|
||
"upload_failed": "Échec du téléversement",
|
||
"member_count": "%{n} membres",
|
||
"pending_request": "Demandes d'adhésion",
|
||
"approve": "Accepter",
|
||
"reject": "Refuser",
|
||
"avatar_updated": "Photo du groupe mise à jour",
|
||
"send": "Envoyer"
|
||
},
|
||
"community": {
|
||
"compose_placeholder": "Qu'est-ce qui vous préoccupe en ce moment ?",
|
||
"compose_default_user": "Vous",
|
||
"compose_photo_perm_title": "Accès aux photos",
|
||
"compose_photo_perm_desc": "Veuillez autoriser l'accès à vos photos dans les Réglages iOS.",
|
||
"image": "Image",
|
||
"cancel": "Annuler",
|
||
"share": "Partager",
|
||
"no_posts": "Soyez le premier à partager quelque chose",
|
||
"cat_all": "Tous",
|
||
"cat_games": "Jeux",
|
||
"cat_domain": "Votes de domaines",
|
||
"cat_lyra": "Lyra",
|
||
"cat_rebreak": "ReBreak",
|
||
"like": "J'aime",
|
||
"comment": "Commenter",
|
||
"comments_title": "Commentaires",
|
||
"comments_empty": "Aucun commentaire pour l'instant — soyez le premier !",
|
||
"reply": "Répondre",
|
||
"reply_to": "Réponse à",
|
||
"send": "Envoyer",
|
||
"comment_placeholder": "Écrire un commentaire…",
|
||
"filter": "Filtrer",
|
||
"published": "Publié",
|
||
"post_failed": "Impossible de publier la publication.",
|
||
"anonymous_label": "Anonyme",
|
||
"tier_starter": "Starter",
|
||
"tier_pro": "Pro",
|
||
"tier_legend": "Legend",
|
||
"bot_admin": "Admin",
|
||
"bot_ai": "IA",
|
||
"reposted_suffix": "a repartagé",
|
||
"domain_proposal_label": "Proposition de liste de blocage",
|
||
"domain_added_to_blocklist": "Ajouté à la liste de blocage globale",
|
||
"domain_added": "Dans la liste de blocage globale",
|
||
"domain_proposed": "Proposé pour inclusion",
|
||
"domain_vote_own": "Vous ne pouvez pas voter pour votre propre proposition.",
|
||
"vote_yes": "Oui",
|
||
"vote_no": "Non",
|
||
"vote_rejected": "Refusé",
|
||
"vote_in_review": "En vérification",
|
||
"voted_thanks": "Merci pour votre vote !"
|
||
},
|
||
"streak": {
|
||
"label_one": "jour",
|
||
"label_other": "jours",
|
||
"label_suffix": "sans jouer"
|
||
},
|
||
"profile": {
|
||
"edit_title": "Modifier le profil",
|
||
"edit_save": "Enregistrer",
|
||
"edit_photo_cta": "Choisir votre propre photo",
|
||
"edit_photo_perm_title": "Accès aux photos",
|
||
"edit_photo_perm_desc": "Veuillez autoriser l'accès à vos photos dans les Réglages iOS.",
|
||
"edit_preset_label": "Choisir un avatar",
|
||
"edit_nickname_label": "Pseudo",
|
||
"edit_nickname_hint": "Visible par les autres membres — max. 32 caractères.",
|
||
"crop_title": "Choisir le recadrage",
|
||
"crop_confirm": "Appliquer",
|
||
"crop_hint": "Déplacez et zoomez l'image pour sélectionner la zone de recadrage souhaitée.",
|
||
"crop_reset": "Réinitialiser",
|
||
"streak_section_label": "SÉRIE",
|
||
"streak_days_protected": "jours protégés",
|
||
"streak_since": "depuis %{date}",
|
||
"streak_longest": "Série la plus longue : %{days} jours",
|
||
"cooldown": {
|
||
"heading": "HISTORIQUE DES PAUSES",
|
||
"window_label": "%{weeks} dernières sem.",
|
||
"week_label": "S%{n}",
|
||
"none": "Aucune pause dans les 8 dernières semaines",
|
||
"count_one": "1 pause sur %{weeks} semaines",
|
||
"count_other": "%{n} pauses sur %{weeks} semaines",
|
||
"avg_last": "Ø 1 toutes les %{avg} semaines · dernière %{date}",
|
||
"patterns": {
|
||
"toggle_label": "Plus d'infos",
|
||
"hour_heading": "Quand démarrez-vous des pauses ?",
|
||
"day_heading": "Quels jours ?",
|
||
"reason_heading": "Termes fréquents",
|
||
"cancel_rate": "Pauses annulées : %{pct}%",
|
||
"not_enough": "Pas encore assez de données",
|
||
"weekday_mon": "Lun",
|
||
"weekday_tue": "Mar",
|
||
"weekday_wed": "Mer",
|
||
"weekday_thu": "Jeu",
|
||
"weekday_fri": "Ven",
|
||
"weekday_sat": "Sam",
|
||
"weekday_sun": "Dim",
|
||
"hour_morning": "Matin",
|
||
"hour_afternoon": "Après-midi",
|
||
"hour_evening": "Soir",
|
||
"hour_night": "Nuit"
|
||
}
|
||
}
|
||
},
|
||
"demographics": {
|
||
"employment_status_employed": "salarié",
|
||
"employment_status_self_employed": "indépendant",
|
||
"employment_status_in_training": "en formation / études",
|
||
"employment_status_unemployed": "sans emploi / en recherche d'emploi",
|
||
"employment_status_retired": "retraité",
|
||
"employment_status_homemaking": "travaux domestiques / aide à la personne",
|
||
"employment_status_other": "autre",
|
||
"industry_it_software": "IT / Logiciel",
|
||
"industry_healthcare": "Santé / Médecine",
|
||
"industry_education": "Éducation / Enseignement",
|
||
"industry_hospitality": "Restauration / Hôtellerie",
|
||
"industry_construction": "Construction / Artisanat",
|
||
"industry_banking_finance": "Banque / Finance",
|
||
"industry_sales_marketing": "Vente / Marketing",
|
||
"industry_public_admin": "Administration publique",
|
||
"industry_logistics": "Logistique / Transport",
|
||
"industry_creative_media": "Créatif / Médias",
|
||
"industry_other": "autre",
|
||
"tenure_less_1y": "moins d'1 an",
|
||
"tenure_1_3y": "1-3 ans",
|
||
"tenure_3_5y": "3-5 ans",
|
||
"tenure_5_10y": "5-10 ans",
|
||
"tenure_more_10y": "plus de 10 ans",
|
||
"shift_work_yes": "Oui",
|
||
"shift_work_no": "Non",
|
||
"shift_work_unknown": "n/a",
|
||
"section_beruf": "EMPLOI",
|
||
"section_wohnort": "LIEU DE RÉSIDENCE",
|
||
"field_status": "Statut",
|
||
"field_shift_work": "Travail en équipes",
|
||
"field_industry": "Secteur",
|
||
"field_job_tenure": "Dans ce poste depuis",
|
||
"field_bundesland": "Région",
|
||
"field_city": "Ville",
|
||
"picker_employment_status": "Statut professionnel",
|
||
"picker_industry": "Secteur d'activité",
|
||
"picker_job_tenure": "Durée dans le poste actuel",
|
||
"picker_bundesland": "Région"
|
||
},
|
||
"devices": {
|
||
"section_title_this": "Cet appareil",
|
||
"section_title_others": "Autres appareils protégés",
|
||
"subtitle_legend": "Protection sur jusqu'à 3 appareils — quel que soit celui que vous utilisez.",
|
||
"subtitle_free": "Appareil actuel protégé.",
|
||
"add_mac": "Ajouter un Mac",
|
||
"add_windows": "Ajouter Windows (bientôt)",
|
||
"upgrade_cta": "Passer à Legend",
|
||
"status_pending": "Prêt à installer",
|
||
"status_active": "Actif",
|
||
"status_revoked": "Supprimé",
|
||
"label_placeholder": "ex. MacBook Pro",
|
||
"label_default": "MacBook Pro",
|
||
"label_question": "Comment appeler ce Mac ?",
|
||
"prepare_profile": "Préparer le profil",
|
||
"lyra_intro": "Trois étapes. Je vous guide à travers chacune — si quelque chose ne va pas, appuyez sur Aide.",
|
||
"step_1_title": "Télécharger le profil",
|
||
"step_1_body": "Appuyez sur le bouton ci-dessous. Si vous êtes sur votre Mac, cela ouvre directement le fichier de profil. Sur votre téléphone ? Vous obtiendrez un QR code — à scanner sur votre Mac pour obtenir le fichier.",
|
||
"step_2_title": "Installer le profil",
|
||
"step_2_body": "Sur le Mac : double-cliquez sur le fichier téléchargé → Les Réglages système s'ouvrent → \"Installer le profil\" → saisir votre mot de passe Mac → terminé.",
|
||
"step_3_title": "Utiliser un compte standard",
|
||
"step_3_body": "Important : utilisez un compte standard sur le Mac, pas administrateur. Si vous avez besoin de supprimer le profil en urgence, vous aurez besoin du mot de passe administrateur — idéalement détenu par quelqu'un en qui vous avez confiance (partenaire, ami). C'est la vraie couche de protection.",
|
||
"step_4_title": "Terminé",
|
||
"step_4_body": "Une fois installé, appuyez sur \"Je l'ai installé\" — je comptabiliserai alors le Mac comme appareil protégé.",
|
||
"download_button": "Télécharger le profil sur le Mac",
|
||
"confirm_installed": "Je l'ai installé ✓",
|
||
"need_help": "J'ai besoin d'aide",
|
||
"success_title": "Mac protégé !",
|
||
"success_body": "Vous pouvez ajouter d'autres appareils quand vous le souhaitez.",
|
||
"remove_warning_title": "Supprimer le profil manuellement",
|
||
"remove_warning_body": "Nous ne pouvons pas supprimer le profil à distance. Sur le Mac : Réglages système → Profils → ReBreak → Supprimer (mot de passe administrateur requis).",
|
||
"add_windows_enabled": "Ajouter un PC Windows",
|
||
"windows_label_question": "Comment appeler ce PC Windows ?",
|
||
"windows_label_default": "PC Windows",
|
||
"windows_label_placeholder": "ex. PC de jeux",
|
||
"windows_lyra_intro": "Cinq étapes rapides. Je vous guide à travers chacune — si quelque chose ne fonctionne pas, appuyez sur Aide.",
|
||
"windows_step_1_title": "Télécharger le fichier",
|
||
"windows_step_1_body": "Appuyez sur le bouton ci-dessous — sur votre PC Windows. Le fichier .reg sera téléchargé.",
|
||
"windows_step_2_title": "Exécuter le fichier .reg",
|
||
"windows_step_2_body": "Double-cliquez sur le fichier .reg téléchargé. Windows demande : 'Voulez-vous ajouter des clés au Registre ?' → Cliquez sur 'Oui'.",
|
||
"windows_step_3_title": "Confirmer l'invite UAC",
|
||
"windows_step_3_body": "Si une invite UAC bleue apparaît : cliquez sur 'Oui'. C'est la confirmation administrateur.",
|
||
"windows_step_4_title": "Activer le DNS",
|
||
"windows_step_4_body": "Ouvrez les Paramètres Windows → Réseau et Internet → cliquez sur votre Wi-Fi → Attribution du serveur DNS → 'Modifier' → choisissez 'Chiffré uniquement (DNS sur HTTPS)' → sélectionnez 'rebreak-...' dans la liste.",
|
||
"windows_step_5_title": "Terminé",
|
||
"windows_step_5_body": "Une fois la sélection DNS enregistrée, appuyez sur 'Je l'ai installé' et je comptabiliserai votre PC comme appareil protégé.",
|
||
"windows_download_button": "Télécharger le fichier sur le PC Windows",
|
||
"windows_success_title": "PC Windows protégé !",
|
||
"windows_success_body": "Vous pouvez ajouter d'autres appareils quand vous le souhaitez.",
|
||
"windows_remove_warning_body": "Nous ne pouvons pas supprimer l'entrée de registre à distance. Sur le PC : Regedit → HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\DoHSvc → supprimer la clé."
|
||
},
|
||
"plan": {
|
||
"change": {
|
||
"header_upgrade": "Vous passez à {{to}}.",
|
||
"header_downgrade": "Vous passez de {{from}} à {{to}}.",
|
||
"section_gains": "Ce que vous obtenez",
|
||
"section_keeps": "Ce qui reste pareil",
|
||
"section_changes": "Ce qui change",
|
||
"downgrade_reassurance": "Votre protection de base continue de fonctionner.",
|
||
"downgrade_no_delete_title": "Rien n'est supprimé.",
|
||
"downgrade_no_delete_body": "Tout ce qui est mis en pause revient immédiatement si vous repassez à un plan supérieur.",
|
||
"downgrade_recovery_note": "Si ce changement affaiblit votre protection à un moment où vous vous sentez incertain — écrivez à Lyra. Ou écrivez-nous. Nous trouverons une solution.",
|
||
"billing_hint": "Gérez votre abonnement sur rebreak.org.",
|
||
"grace_days_one": "expire dans {{count}} jour",
|
||
"grace_days_other": "expire dans {{count}} jours",
|
||
"cta_confirm_upgrade": "C'est parti",
|
||
"cta_confirm_downgrade": "Compris, continuer",
|
||
"cta_stay": "Rester sur {{plan}}",
|
||
"action_keep": "reste",
|
||
"action_limited": "sera limité",
|
||
"action_paused": "sera mis en pause",
|
||
"action_grace": "Période de grâce",
|
||
"action_degraded": "protection en cours d'expiration",
|
||
"action_unlocked": "déverrouillé"
|
||
}
|
||
},
|
||
"plan_limit": {
|
||
"mail_banner_title": "Boîtes mail au-dessus de la limite du plan",
|
||
"mail_banner_body_one": "Vous avez {{used}} boîte mail, {{plan}} en protège {{max}} — {{over}} est en pause.",
|
||
"mail_banner_body_other": "Vous avez {{used}} boîtes mail, {{plan}} en protège {{max}} — {{over}} sont en pause.",
|
||
"mail_account_paused": "En pause (passage à un plan inférieur)",
|
||
"mail_add_disabled_hint": "Supprimez d'abord une boîte mail ou passez à un plan supérieur.",
|
||
"blocker_domain_over_limit": "Vous avez {{used}} domaines personnalisés, {{plan}} en autorise {{max}} — tous restent actifs, vous ne pouvez pas en ajouter de nouveaux avant d'être sous {{max}}.",
|
||
"blocker_add_disabled_hint": "Supprimez d'abord un domaine ou passez à un plan supérieur.",
|
||
"blocker_basic_protection": "Protection de base active — protection complète contre tous les sites de jeux d'argent connus : Pro/Legend.",
|
||
"device_degraded_title": "Protection expirée",
|
||
"device_degraded_body": "Le profil est toujours installé sur l'appareil. Supprimez-le manuellement ou repassez à Legend.",
|
||
"device_add_limit_hint": "Tous les {{max}} emplacements d'appareils sont occupés. Supprimez un appareil ou passez à un plan supérieur.",
|
||
"device_add_limit_short": "Limite atteinte"
|
||
},
|
||
"gameOver": {
|
||
"title": "Partie terminée",
|
||
"score": "Score",
|
||
"best": "Record",
|
||
"newBest": "Nouveau record",
|
||
"retry": "Rejouer",
|
||
"exit": "Quitter",
|
||
"motivational_0": "Vous vous êtes accordé une courte pause. Ça compte.",
|
||
"motivational_1": "Chaque minute de concentration est une minute pour vous.",
|
||
"motivational_2": "Entraîner votre attention — c'est exactement ce que vous venez de faire.",
|
||
"motivational_3": "Bien joué. Et bien que vous soyez là.",
|
||
"motivational_4": "Petites pauses, grand impact.",
|
||
"lyra_title_record": "Nouveau record !",
|
||
"lyra_body_record": "Vous vous êtes surpassé. Impressionnant.",
|
||
"lyra_title_good": "Excellent !",
|
||
"lyra_body_good": "Vous étiez pleinement dans le flux — l'envie n'avait aucune chance.",
|
||
"lyra_title_ok": "Continuez",
|
||
"lyra_body_ok": "Chaque partie vous fait avancer. Restez-y.",
|
||
"lyra_title_low": "La prochaine fois",
|
||
"lyra_body_low": "Être là compte déjà. Vous y arriverez.",
|
||
"rating_saved": "Avis enregistré",
|
||
"save_rating": "Enregistrer l'avis",
|
||
"feedback_placeholder": "Qu'avez-vous aimé ou trouvé manquant ?",
|
||
"share_result": "Partager dans la communauté",
|
||
"share_to_community": "Partager votre résultat",
|
||
"share_challenge": "Pouvez-vous faire mieux ?",
|
||
"share_loading": "Lyra rédige...",
|
||
"post_to_community": "Publier",
|
||
"posted": "Publié dans le fil communautaire",
|
||
"post_error": "Publication échouée, veuillez réessayer"
|
||
},
|
||
"alert": {
|
||
"error_generic": "Une erreur est survenue — veuillez réessayer.",
|
||
"error_file_too_large": "L'image est trop grande.",
|
||
"details_label": "Détails",
|
||
"compress_error_title": "Impossible de traiter l'image"
|
||
}
|
||
}
|