From d52a81fbcf7ea82905698f54c10a9af3eee75639 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 28 Jun 2026 23:16:11 +0800 Subject: [PATCH] chore(i18n): update translations (#2000) This PR contains updated translations from Crowdin. Created from [GitHub Actions](https://github.com/moeru-ai/airi/blob/main/.github/workflows/crowdin-cron-sync.yml). You can review the source of translations [here](https://crowdin.com/project/proj-airi) --------- Co-authored-by: Crowdin Bot Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> --- packages/i18n/src/locales/fr/docs/theme.yaml | 2 +- packages/i18n/src/locales/fr/server/auth.yaml | 282 +++++++++--------- packages/i18n/src/locales/fr/stage.yaml | 34 +-- .../i18n/src/locales/fr/tamagotchi/stage.yaml | 74 ++--- 4 files changed, 196 insertions(+), 196 deletions(-) diff --git a/packages/i18n/src/locales/fr/docs/theme.yaml b/packages/i18n/src/locales/fr/docs/theme.yaml index 1a494b934..26c61e26d 100644 --- a/packages/i18n/src/locales/fr/docs/theme.yaml +++ b/packages/i18n/src/locales/fr/docs/theme.yaml @@ -15,7 +15,7 @@ doc: title: Page suivante previous-page: title: Page précédente - published-at: Published at {date} + published-at: Publié le {date} home: subtitle: >- Recréer Neuro-sama, un contenant d’âmes de waifus / personnages virtuels IA pour les amener dans notre monde. diff --git a/packages/i18n/src/locales/fr/server/auth.yaml b/packages/i18n/src/locales/fr/server/auth.yaml index e41d9406b..75d8a1e74 100644 --- a/packages/i18n/src/locales/fr/server/auth.yaml +++ b/packages/i18n/src/locales/fr/server/auth.yaml @@ -1,200 +1,200 @@ electronCallback: title: - loading: Completing sign-in - openingAiri: Opening AIRI - signedIn: You are signed in - signInFailed: Sign-in failed - finishSignInInAiri: Finish sign-in in AIRI - openAiriToContinue: Open AIRI to continue + loading: Finalisation de connexion + openingAiri: Ouverture d'AIRI + signedIn: Vous êtes connecté + signInFailed: Échec de la connexion + finishSignInInAiri: Terminer la connexion dans AIRI + openAiriToContinue: Ouvrez AIRI pour continuer message: - checkingResponse: Checking your sign-in response and preparing the handoff to AIRI. - passingToAiri: Passing your sign-in back to AIRI now. This page should close in a moment. - syncedAndSafeToClose: We notified AIRI client you signed from. - invalidResponse: We could not use this sign-in response. - loopbackUnreachable: The browser could not reach AIRI through the local callback port. - tryOpenDirectly: We will try opening the local handoff directly. If that still fails, use the button below. - automaticHandoffFailed: Automatic handoff did not finish in this browser session. + checkingResponse: Vérification de votre réponse de connexion et préparation du transfert vers AIRI. + passingToAiri: Transmission de votre connexion à AIRI en cours. Cette page devrait se fermer dans un instant. + syncedAndSafeToClose: Nous avons notifié le client AIRI depuis lequel vous vous êtes connecté. + invalidResponse: Nous n'avons pas pu utiliser cette réponse de connexion. + loopbackUnreachable: Le navigateur n'a pas pu joindre AIRI via le port de rappel local. + tryOpenDirectly: Nous allons essayer d'ouvrir le transfert local directement. Si cela échoue encore, utilisez le bouton ci-dessous. + automaticHandoffFailed: Le transfert automatique ne s'est pas terminé dans cette session de navigateur. label: - signIn: Sign in - safeToClose: It is safe to close this tab now. - whyStillHere: Why this tab still here? + signIn: Se connecter + safeToClose: Vous pouvez fermer cet onglet en toute sécurité. + whyStillHere: Pourquoi cet onglet est-il encore là ? action: - openAiriManually: Open AIRI manually + openAiriManually: Ouvrir AIRI manuellement hint: - closeTabManually: Some browsers do not allow this page to close itself automatically. You can close it manually. + closeTabManually: Certains navigateurs ne permettent pas à cette page de se fermer automatiquement. Vous pouvez la fermer manuellement. signIn: - title: Sign in + title: Connexion step: identify: - heading: Sign in - description: Enter your email to sign in or create an account. + heading: Connexion + description: Saisissez votre e-mail pour vous connecter ou créer un compte. password: - heading: Welcome back - description: Continue as {email}. + heading: Bon retour + description: Continuer en tant que {email}. create: - heading: Create your account - description: We will create a new account for {email}. + heading: Créez votre compte + description: Nous allons créer un nouveau compte pour {email}. email: - label: Email - placeholder: you{'@'}example.com + label: E-mail + placeholder: vous{'@'}exemple.com password: - label: Password - placeholder: Your password + label: Mot de passe + placeholder: Votre mot de passe newPassword: - label: Create password - placeholder: At least 8 characters + label: Créer un mot de passe + placeholder: Au moins 8 caractères confirmPassword: - label: Confirm password - placeholder: Repeat your password + label: Confirmez le mot de passe + placeholder: Confirmez votre mot de passe name: - label: Display name - placeholder: Optional, defaults to your email handle + label: Nom d'affichage + placeholder: Facultatif, utilisez par défaut votre e-mail action: - continue: Continue - signIn: Sign in - createAccount: Create account - forgotPassword: Forgot password? - useDifferentEmail: Use a different email + continue: Continuer + signIn: Se connecter + createAccount: Créer un compte + forgotPassword: Mot de passe oublié ? + useDifferentEmail: Utiliser une adresse e-mail différente divider: - or: or + or: ou error: - fallback: Sign in failed - unknown: An unknown error occurred - socialOnlyNoPassword: This email was registered with Google or GitHub. Sign in with a button below; you can add a password in account settings after signing in. - passwordMismatch: Password and confirmation do not match. - invalidEmail: Please enter a valid email address. + fallback: Échec de la connexion + unknown: Une erreur inconnue s'est produite + socialOnlyNoPassword: Cet e-mail a été enregistré avec Google ou GitHub. Connectez-vous avec un bouton ci-dessous, vous pouvez ajouter un mot de passe dans les paramètres du compte après vous être connecté. + passwordMismatch: Problème de correspondance des mots de passe. + invalidEmail: Veuillez saisir une adresse courriel valide. footer: - prefix: By continuing, you agree to our - terms: Terms - and: and - privacy: Privacy Policy + prefix: En continuant, vous acceptez nos + terms: Conditions Générales d'Utilisation + and: et + privacy: Politique de Confidentialité verifyEmail: title: - pending: Check your inbox - success: Email verified - failed: Verification failed + pending: Vérifiez votre boîte de réception + success: E-mail vérifié + failed: Échec de la vérification message: - pending: We sent a verification link to your email. Open it to finish creating your account — this page will continue automatically once you click the link. - pendingWithAddress: We sent a verification link to {email}. Open it to finish creating your account — this page will continue automatically once you click the link. - success: Your email has been verified and you are signed in. You can close this tab. - failed: We could not verify your email ({error}). Try requesting a new link. + pending: Nous avons envoyé un lien de vérification à votre adresse e-mail. Ouvrez-le pour terminer la création de votre compte — cette page continuera automatiquement une fois le lien cliqué. + pendingWithAddress: Nous avons envoyé un lien de vérification à {email}. Ouvrez-le pour terminer la création de votre compte — cette page se chargera automatiquement une fois que vous aurez cliqué sur le lien. + success: Votre adresse e-mail a été vérifiée et vous êtes connecté. Vous pouvez fermer cet onglet. + failed: Nous n'avons pas pu vérifier votre e-mail ({error}). Essayez de demander un nouveau lien. action: - backToSignIn: Back to sign in + backToSignIn: Revenir à la page de connexion forgotPassword: - title: Reset your password - description: Enter the email address associated with your account and we will send you a reset link. + title: Réinitialisez votre mot de passe + description: Saisissez l'adresse e-mail associée à votre compte et nous vous enverrons un lien de réinitialisation. email: - label: Email - placeholder: you{'@'}example.com + label: E-mail + placeholder: vous{'@'}exemple.com action: - send: Send reset link - backToSignIn: Back to sign in + send: Envoyer un lien de réinitialisation + backToSignIn: Revenir à la page de connexion message: - sent: If {email} matches an account, a reset link is on the way. + sent: Si {email} correspond à un compte, un lien de réinitialisation sera bientôt disponible. error: - fallback: We could not send the reset email. + fallback: Nous n'avons pas pu envoyer l'e-mail de réinitialisation. deleteAccount: title: - success: Account deleted - failed: Could not delete account + success: Compte supprimé + failed: Impossible de supprimer le compte message: - success: Your account has been deleted. + success: Votre compte a été supprimé. action: - closeTab: You can close this tab. + closeTab: Vous pouvez fermer cet onglet. resetPassword: title: - default: Set a new password - success: Password updated + default: Définir un nouveau mot de passe + success: Mot de passe modifié avec succès password: - label: New password - placeholder: At least 8 characters + label: Nouveau mot de passe + placeholder: Au moins 8 caractères confirmPassword: - label: Confirm new password - placeholder: Repeat your new password + label: Confirmer le nouveau mot de passe + placeholder: Répétez votre nouveau mot de passe action: - reset: Update password - goSignIn: Go to sign in + reset: Mettre à jour le mot de passe + goSignIn: Aller à la page de connexion message: - success: Your password has been updated. Sign in with your new password. + success: Votre mot de passe a été mis à jour. Connectez-vous avec votre nouveau mot de passe. error: - fallback: We could not update your password. - missingToken: Reset link is invalid or has expired. - passwordMismatch: Password and confirmation do not match. + fallback: Nous n'avons pas pu mettre à jour votre mot de passe. + missingToken: Le lien de réinitialisation est invalide ou a expiré. + passwordMismatch: Les mots de passe ne correspondent pas. profile: - title: Account profile - description: Manage your avatar, display name, and connected accounts. + title: Compte + description: Gérez votre avatar, votre nom d'affichage et vos comptes connectés. section: - profile: Profile - avatar: Avatar - password: Password - linkedAccounts: Connected accounts + profile: Profil + avatar: Image de profil + password: Mot de passe + linkedAccounts: Comptes connectés field: - email: Email - emailVerified: Email status - createdAt: Joined + email: E-mail + emailVerified: État du courriel + createdAt: Rejoint label: - verified: Verified - unverified: Unverified + verified: Vérifié + unverified: Non vérifié name: - label: Display name - placeholder: How others see you + label: Nom d'affichage + placeholder: Comment les autres vous voient avatar: - altText: Profile avatar - gravatarNotice: Avatar from Gravatar. - gravatarLink: Manage on gravatar.com + altText: Image de profil + gravatarNotice: Avatar de Gravatar. + gravatarLink: Gérer sur gravatar.com password: - currentLabel: Current password - currentPlaceholder: Enter your current password - newLabel: New password - newPlaceholder: At least 8 characters - confirmLabel: Confirm new password - confirmPlaceholder: Repeat your new password - setDescription: You signed in via a social provider, so there is no current password yet. We'll email a secure link to set one. - setLinkSent: Check {email} for the link to set your password. - setLinkFailed: We could not send the password setup link. + currentLabel: Mot de passe actuel + currentPlaceholder: Entrez votre de masse de passe actuel + newLabel: Nouveau mot de passe + newPlaceholder: Au moins 8 caractères + confirmLabel: Confirmer le nouveau mot de passe + confirmPlaceholder: Répétez votre nouveau mot de passe + setDescription: Vous vous êtes connecté via un réseau social, donc il n'y a pas encore de mot de passe. Nous vous enverrons un lien sécurisé pour en définir. + setLinkSent: Vérifiez {email} pour le lien pour définir votre mot de passe. + setLinkFailed: Nous n'avons pas pu envoyer le lien de configuration du mot de passe. linkedAccounts: - description: Sign in to AIRI through these providers. Unlink to revoke access, then link again to switch to a different account. + description: Connectez-vous à AIRI par l'intermédiaire de ces fournisseurs. Déconnectez-vous en pour révoquer l'accès, puis liez à nouveau pour basculer vers un autre compte. status: - linked: Linked - notLinked: Not linked - linkedSince: Linked on {date} + linked: Relié + notLinked: Non relié + linkedSince: Lié le {date} action: - link: Link - unlink: Unlink + link: Lien + unlink: Dissocier message: - loading: Loading connected accounts... - unlinked: '{provider} disconnected.' - linkStarted: Redirecting to {provider}… + loading: Chargement des comptes connectés... + unlinked: '{provider} Déconnecté.' + linkStarted: Redirection vers {provider}… error: - listFailed: Could not load connected accounts. - unlinkFailed: Could not unlink this account. - linkFailed: Could not start the link flow. - lastAccount: This is your only sign-in method. Set a password first before unlinking it. + listFailed: Impossible de charger les comptes connectés. + unlinkFailed: Impossible de dissocier ce compte. + linkFailed: Impossible de démarrer le flux de liaison. + lastAccount: C'est votre seule méthode de connexion. Définissez d'abord un mot de passe avant de le dissocier. action: - saveProfile: Save changes - changePassword: Change password - sendSetPasswordLink: Email me a link to set my password - signOut: Sign out + saveProfile: Enregistrer les modifications + changePassword: Changer le mot de passe + sendSetPasswordLink: Envoyez-moi un lien pour définir mon mot de passe + signOut: Se déconnecter message: - loading: Loading your profile... - profileSaved: Profile updated. - passwordChanged: Password changed. Other sessions have been signed out. + loading: Chargement de votre profil... + profileSaved: Profil mis à jour. + passwordChanged: Mot de passe modifié. Les autres sessions ont été déconnectées. error: - loadFailed: We could not load your profile. - saveFailed: We could not save your changes. - changePasswordFailed: We could not change your password. - signOutFailed: We could not sign you out. - passwordMismatch: New password and confirmation do not match. - passwordSameAsCurrent: New password must differ from the current one. + loadFailed: Nous n'avons pas pu charger votre profil. + saveFailed: Nous n'avons pas pu enregistrer vos modifications. + changePasswordFailed: Nous n'avons pas pu changer votre mot de passe. + signOutFailed: Nous n'avons pas pu vous déconnecter. + passwordMismatch: Les mots de passe ne correspondent pas. + passwordSameAsCurrent: Le nouveau mot de passe doit être différent du mot de passe actuel. webCallback: title: - signIn: Sign in - errorLabel: We encountered an error while signing you in - loading: Signing in... + signIn: Se connecter + errorLabel: Nous avons rencontré une erreur lors de votre connexion + loading: Connexion en cours... message: - missingCodeOrState: Missing authorization code or state - missingFlowState: Missing OIDC flow state - please try logging in again - tokenExchangeFailed: Token exchange failed - finalizing: Finalizing authentication with AIRI. + missingCodeOrState: Code d'autorisation ou état manquant + missingFlowState: État du flux OIDC manquant - veuillez réessayer de vous connecter + tokenExchangeFailed: L'échange de jetons a échoué + finalizing: Finalisation de l'authentification avec AIRI. action: - tryAgain: Try again + tryAgain: Réessayez diff --git a/packages/i18n/src/locales/fr/stage.yaml b/packages/i18n/src/locales/fr/stage.yaml index 5cda55d77..a27e2eba1 100644 --- a/packages/i18n/src/locales/fr/stage.yaml +++ b/packages/i18n/src/locales/fr/stage.yaml @@ -1,6 +1,6 @@ chat: actions: - retry: Retry + retry: Réessayer message: character-name: airi: AIRI @@ -9,14 +9,14 @@ chat: reasoning: Raisonnement sessions: title: Conversations - new: + New - empty: No conversations yet - cloud-badge: Synced to cloud - new-chat-fallback: New chat - delete: Delete conversation + new: + Nouveau + empty: Pas encore de conversation + cloud-badge: Synchronisé dans le cloud + new-chat-fallback: Nouvelle conversation + delete: Supprimer conversation message: Dites quelque chose... send-mode: - title: Send key + title: Envoyer la clef enter: Entrée ctrl-enter: Ctrl + Entrée double-enter: Double Entrée @@ -54,14 +54,14 @@ promo-banner: items: signin: watermark: Lune - fallbackLabel: Moon Gift + fallbackLabel: Cadeau de la Lune title: Connexion sur 7 jours eventName: Connectez-vous pour récupérer de la poussière d’étoiles, des cadres d’avatar et des cadeaux de lancement. date: 28/03 - 10/04 reward: Jusqu’à 120 poussières d’étoiles cta: Se connecter build: - watermark: Build + watermark: Version fallbackLabel: Bonus de construction title: Bonus de boîte de ravitaillement eventName: Terminez des tâches de construction pour obtenir des bons bonus et des matériaux doublés. @@ -71,18 +71,18 @@ promo-banner: spring: watermark: Printemps fallbackLabel: Tirage de printemps - title: Capsule Carnival - eventName: Join the spring draw to unlock bubbles, charms, and themed furniture. + title: Capsule Carnaval + eventName: Participez au tirage au printemps pour débloquer des bulles, des charmes et des meubles à thème. date: 01/04 - 18/04 - reward: Half-Price First Pull + Rare Charm - cta: Draw Now + reward: Premier tirage à moitié prix + charme rare + cta: Tirer au sort Maintenant coupon: watermark: Discussion fallbackLabel: Coupon title: Coupon de recharge eventName: Terminez des interactions de chat pour récupérer des coupons pour l’extension et les packs vocaux. date: 02/04 - 20/04 - reward: Save 6 on 30 / Save 15 on 68 + reward: Économisez 6% sur 30 / Économisez 15% sur 68 cta: Récupérer le coupon home: watermark: Accueil @@ -90,10 +90,10 @@ promo-banner: title: Mise à jour du thème de printemps eventName: Débloquez des thèmes de fenêtre, bureau et lampe de nuit pour rafraîchir votre chambre. date: 05/04 - 22/04 - reward: Free Theme Draw Ticket on Sign-in + reward: Ticket de tirage de thème gratuit à la connexion cta: Voir le thème waiting: En attente websocket-status: connected: Connecté - disconnected: Pas de connexion - open-settings: Ouvrir les réglages de connexion + disconnected: Aucune connexion + open-settings: Ouvrir les paramètres de connexion diff --git a/packages/i18n/src/locales/fr/tamagotchi/stage.yaml b/packages/i18n/src/locales/fr/tamagotchi/stage.yaml index dee4599f2..8386e1c85 100644 --- a/packages/i18n/src/locales/fr/tamagotchi/stage.yaml +++ b/packages/i18n/src/locales/fr/tamagotchi/stage.yaml @@ -30,12 +30,12 @@ docs: 'account': Compte 'logout': Compte widgets: - close: Close widget + close: Fermer le widget empty: - title: No widget active - description: Widgets will appear here when a tool or plugin spawns one. - loading: Loading widget… - waiting: Waiting for widget data for "{id}"… + title: Pas de widget actif + description: Les widgets apparaîtront ici lorsqu'un outil ou un plugin en génèrera un. + loading: Chargement du widget… + waiting: En attente des données du widget pour "{id}"… notice: 'fade-on-hover': title: Disparaître au survol @@ -52,47 +52,47 @@ notice: read-more: En savoir plus preview-title: C’est quoi ? about: - subtitle: Desktop ver. - current-version: Current Version + subtitle: Version de bureau. + current-version: Version actuelle common: - cancel: Cancel + cancel: Annuler links: - title: Links - home: Home - documentation: Documentations + title: Liens + home: Accueil + documentation: Documentation github: GitHub update: lane: - label: Update lane - description: Choose channel release to follow - placeholder: Choose update lane + label: Canal de mise à jour + description: Choisissez le canal de mise à jour à utiliser + placeholder: Sélectionnez un canal de mise à jour channels: - auto: Auto + auto: Automatique stable: Stable alpha: Alpha - beta: Beta - nightly: Nightly - canary: Canary + beta: Bêta + nightly: Nocturne + canary: Expérimental status: - downloading: Downloading update... - error-prefix: Error - latest: Up to date (v{version}). + downloading: Téléchargement de la mise à jour... + error-prefix: Erreur + latest: À jour (v.{version}). downloaded: - windows: Update ready to install silently (v{version}). - restart: Update ready to install on restart (v{version}). + windows: Mise à jour prête à être installée silencieusement (v{version}). + restart: Mise à jour prête à être installée au redémarrage (v{version}). actions: - download: Download Update - download-short: Download - confirm-download: Confirm Download - check-for-updates: Check for updates - checking: Checking... - latest-version: Latest version - disabled-dev: Updates disabled in Dev - retry-check: Retry Check - restart-silent: Restart to update silently - restart-install: Restart to install update - confirm-restart: Confirm Restart + download: Télécharger la mise à jour + download-short: Télécharger + confirm-download: Confirmer le téléchargement + check-for-updates: Rechercher des mises à jour + checking: Vérification en cours... + latest-version: Dernière version + disabled-dev: Mises à jour désactivées en développement + retry-check: Réessayer la vérification + restart-silent: Redémarrer pour mettre à jour silencieusement + restart-install: Redémarrez pour installer la mise à jour + confirm-restart: Confirmer le redémarrage dialog: - title: Update Available - description: A new version (v{version}) is available. - no-release-notes-markdown: _No release notes provided._ + title: Mise à jour disponible + description: Une nouvelle version (v{version}) est disponible. + no-release-notes-markdown: _ Aucune note de mise à jour fournie._