template_0205
This commit is contained in:
303
RN_TEMPLATE/app/i18n/fr.ts
Normal file
303
RN_TEMPLATE/app/i18n/fr.ts
Normal file
@@ -0,0 +1,303 @@
|
||||
import demoFr from "./demo-fr"
|
||||
import { Translations } from "./en"
|
||||
|
||||
const fr: Translations = {
|
||||
common: {
|
||||
ok: "OK !",
|
||||
cancel: "Annuler",
|
||||
save: "Enregistrer",
|
||||
back: "Retour",
|
||||
logOut: "Déconnexion",
|
||||
copied: "Copié",
|
||||
},
|
||||
welcomeScreen: {
|
||||
postscript:
|
||||
"psst — Ce n'est probablement pas à quoi ressemble votre application. (À moins que votre designer ne vous ait donné ces écrans, dans ce cas, mettez la en prod !)",
|
||||
readyForLaunch: "Votre application, presque prête pour le lancement !",
|
||||
exciting: "(ohh, c'est excitant !)",
|
||||
letsGo: "Allons-y !",
|
||||
},
|
||||
errorScreen: {
|
||||
title: "Quelque chose s'est mal passé !",
|
||||
friendlySubtitle:
|
||||
"C'est l'écran que vos utilisateurs verront en production lorsqu'une erreur sera lancée. Vous voudrez personnaliser ce message (situé dans `app/i18n/fr.ts`) et probablement aussi la mise en page (`app/screens/ErrorScreen`). Si vous voulez le supprimer complètement, vérifiez `app/app.tsx` pour le composant <ErrorBoundary>.",
|
||||
reset: "RÉINITIALISER L'APPLICATION",
|
||||
traceTitle: "Erreur depuis %{name}",
|
||||
},
|
||||
emptyStateComponent: {
|
||||
generic: {
|
||||
heading: "Si vide... si triste",
|
||||
content:
|
||||
"Aucune donnée trouvée pour le moment. Essayez de cliquer sur le bouton pour rafraîchir ou recharger l'application.",
|
||||
button: "Essayons à nouveau",
|
||||
},
|
||||
},
|
||||
|
||||
errors: {
|
||||
invalidEmail: "Adresse e-mail invalide.",
|
||||
},
|
||||
authErrors: {
|
||||
timeout: "Délai d'attente dépassé. Veuillez réessayer.",
|
||||
cannotConnect: "Impossible de se connecter au serveur. Veuillez vérifier votre réseau.",
|
||||
serverError: "Erreur serveur. Veuillez réessayer plus tard.",
|
||||
badData: "Réponse invalide du serveur.",
|
||||
unknownError: "Une erreur inconnue s'est produite.",
|
||||
E001: "Ce nom d'utilisateur existe déjà.",
|
||||
E002: "Cet e-mail est déjà enregistré.",
|
||||
E003: "Code de parrainage invalide.",
|
||||
E004: "Aucune demande d'inscription en attente.",
|
||||
E005: "Code de vérification invalide.",
|
||||
E006: "Code de parrainage déjà lié.",
|
||||
E007: "Vous ne pouvez pas utiliser votre propre code de parrainage.",
|
||||
E011: "E-mail ou mot de passe invalide.",
|
||||
E012: "Compte temporairement verrouillé. Veuillez réessayer plus tard.",
|
||||
E013: "Aucune demande de connexion en attente.",
|
||||
E014: "L'utilisateur n'existe pas ou a été désactivé.",
|
||||
E015: "Code de vérification invalide.",
|
||||
E016: "Authentification Telegram invalide.",
|
||||
E017: "Format de données Telegram invalide.",
|
||||
E018: "Échec de l'authentification Google.",
|
||||
E019: "Veuillez fournir le token Google.",
|
||||
E021: "Le mot de passe actuel est incorrect.",
|
||||
E022: "Le nouveau mot de passe ne peut pas être identique à l'actuel.",
|
||||
E023: "L'e-mail n'est pas enregistré.",
|
||||
E024: "Le compte a été désactivé.",
|
||||
E025: "Aucune demande de réinitialisation de mot de passe en attente.",
|
||||
E026: "Le code de réinitialisation du mot de passe a expiré.",
|
||||
E027: "Code de réinitialisation du mot de passe invalide.",
|
||||
E028: "L'utilisateur n'existe pas.",
|
||||
E029: "Aucun champ fourni pour la mise à jour.",
|
||||
E041: "Envoi du code de vérification trop fréquent. Veuillez patienter.",
|
||||
E042: "Le code de vérification de l'e-mail a expiré.",
|
||||
E043: "Code de vérification de l'e-mail invalide.",
|
||||
E044: "L'e-mail est déjà vérifié.",
|
||||
E045: "L'e-mail est déjà utilisé par un autre utilisateur.",
|
||||
E046: "Aucune adresse e-mail vérifiée.",
|
||||
E047: "Veuillez d'abord envoyer le code de vérification à l'e-mail actuel.",
|
||||
E048: "Veuillez d'abord vérifier l'e-mail actuel.",
|
||||
E049: "Veuillez d'abord envoyer le code de vérification au nouvel e-mail.",
|
||||
E050: "Paramètre d'action invalide.",
|
||||
},
|
||||
loginScreen: {
|
||||
logIn: "Se connecter",
|
||||
enterDetails:
|
||||
"Entrez vos informations ci-dessous pour débloquer des informations top secrètes. Vous ne devinerez jamais ce que nous avons en attente. Ou peut-être que vous le ferez ; ce n'est pas de la science spatiale ici.",
|
||||
emailFieldLabel: "E-mail",
|
||||
passwordFieldLabel: "Mot de passe",
|
||||
emailFieldPlaceholder: "Entrez votre adresse e-mail",
|
||||
passwordFieldPlaceholder: "Mot de passe super secret ici",
|
||||
tapToLogIn: "Appuyez pour vous connecter!",
|
||||
hint: "Astuce : vous pouvez utiliser n'importe quelle adresse e-mail et votre mot de passe préféré :)",
|
||||
},
|
||||
navigator: {
|
||||
componentsTab: "Composants",
|
||||
debugTab: "Débogage",
|
||||
communityTab: "Communauté",
|
||||
podcastListTab: "Podcasts",
|
||||
profileTab: "Profil",
|
||||
},
|
||||
profileScreen: {
|
||||
title: "Profil",
|
||||
guest: "Invité",
|
||||
uid: "UID",
|
||||
username: "Nom d'utilisateur",
|
||||
referralCode: "Code de parrainage",
|
||||
settings: "Paramètres",
|
||||
darkMode: "Mode sombre",
|
||||
notifications: "Notifications",
|
||||
security: "Sécurité",
|
||||
account: "Compte",
|
||||
accountStatus: "Statut du compte",
|
||||
active: "Actif",
|
||||
inactive: "Inactif",
|
||||
regular: "Standard",
|
||||
emailVerified: "Email vérifié",
|
||||
verified: "Vérifié",
|
||||
unverified: "Non vérifié",
|
||||
loginMethods: "Méthodes de connexion",
|
||||
version: "Version",
|
||||
changePassword: "Changer le mot de passe",
|
||||
changeEmail: "Changer l'email",
|
||||
editNickname: "Modifier le pseudo",
|
||||
editProfile: "Modifier le profil",
|
||||
nicknamePlaceholder: "Entrez votre pseudo",
|
||||
nickname: "Pseudo",
|
||||
tapToChangeAvatar: "Appuyez pour changer l'avatar",
|
||||
about: "À propos",
|
||||
},
|
||||
changePasswordScreen: {
|
||||
title: "Changer le mot de passe",
|
||||
description: "Entrez votre mot de passe actuel et choisissez un nouveau.",
|
||||
oldPassword: "Mot de passe actuel",
|
||||
newPassword: "Nouveau mot de passe",
|
||||
confirmPassword: "Confirmer le nouveau mot de passe",
|
||||
logoutOtherDevices: "Déconnecter les autres appareils",
|
||||
submit: "Changer le mot de passe",
|
||||
success: "Succès",
|
||||
successMessage: "Votre mot de passe a été changé avec succès.",
|
||||
oldPasswordRequired: "Le mot de passe actuel est requis.",
|
||||
newPasswordRequired: "Le nouveau mot de passe est requis.",
|
||||
passwordTooShort: "Le mot de passe doit contenir au moins 6 caractères.",
|
||||
passwordMismatch: "Les mots de passe ne correspondent pas.",
|
||||
samePassword: "Le nouveau mot de passe ne peut pas être identique à l'actuel.",
|
||||
},
|
||||
changeEmailScreen: {
|
||||
title: "Changer l'email",
|
||||
step1Label: "Vérifier",
|
||||
step2Label: "Lier",
|
||||
step1Title: "Étape 1 : Vérifier l'email actuel",
|
||||
step1Description: "Nous enverrons un code de vérification à votre email actuel.",
|
||||
step2Title: "Étape 2 : Lier le nouvel email",
|
||||
step2Description: "Entrez votre nouvelle adresse email et vérifiez-la.",
|
||||
currentEmail: "Email actuel",
|
||||
newEmail: "Nouvelle adresse email",
|
||||
verificationCode: "Code de vérification",
|
||||
sendCode: "Envoyer le code de vérification",
|
||||
sendCodeToNewEmail: "Envoyer le code au nouvel email",
|
||||
verify: "Vérifier",
|
||||
confirmNewEmail: "Confirmer le nouvel email",
|
||||
resendCode: "Renvoyer le code",
|
||||
success: "Succès",
|
||||
successMessage: "Votre email a été changé avec succès.",
|
||||
codeRequired: "Le code de vérification est requis.",
|
||||
codeInvalid: "Le code de vérification doit contenir 6 chiffres.",
|
||||
newEmailRequired: "La nouvelle adresse email est requise.",
|
||||
emailInvalid: "Veuillez entrer une adresse email valide.",
|
||||
sameEmail: "Le nouvel email ne peut pas être identique à l'actuel.",
|
||||
},
|
||||
settingsScreen: {
|
||||
title: "Paramètres",
|
||||
appearance: "Apparence",
|
||||
theme: "Thème",
|
||||
darkMode: "Mode Sombre",
|
||||
language: "Langue",
|
||||
currentLanguage: "Langue",
|
||||
},
|
||||
languageScreen: {
|
||||
title: "Langue",
|
||||
selectHint: "Sélectionnez votre langue préférée",
|
||||
},
|
||||
themeScreen: {
|
||||
title: "Thème",
|
||||
selectHint: "Sélectionnez votre thème préféré",
|
||||
system: "Système",
|
||||
light: "Clair",
|
||||
dark: "Sombre",
|
||||
},
|
||||
securityScreen: {
|
||||
title: "Sécurité",
|
||||
description: "Gérez les paramètres de sécurité de votre compte.",
|
||||
changePassword: "Changer le Mot de Passe",
|
||||
changeEmail: "Changer l'Email",
|
||||
// Session management
|
||||
activeSessions: "Active Sessions",
|
||||
activeSessionsDescription: "Devices currently logged into your account",
|
||||
currentDevice: "Current Device",
|
||||
lastActive: "Last active",
|
||||
loginMethod: "Login via",
|
||||
logoutDevice: "Logout",
|
||||
logoutAllOther: "Logout All Other Devices",
|
||||
logoutAllOtherDescription: "This will log out all devices except the current one.",
|
||||
noOtherSessions: "No other active sessions",
|
||||
sessionRevoked: "Device has been logged out",
|
||||
sessionsRevoked: "{{count}} devices have been logged out",
|
||||
confirmLogout: "Confirm Logout",
|
||||
confirmLogoutMessage: "Are you sure you want to log out this device?",
|
||||
confirmLogoutAllMessage: "Are you sure you want to log out all other devices?",
|
||||
deviceTypes: {
|
||||
desktop: "Desktop",
|
||||
mobile: "Mobile",
|
||||
tablet: "Tablet",
|
||||
unknown: "Unknown Device",
|
||||
},
|
||||
},
|
||||
aboutScreen: {
|
||||
title: "À propos",
|
||||
appInfo: "Informations de l'Application",
|
||||
appName: "Nom de l'Application",
|
||||
version: "Version",
|
||||
buildVersion: "Version de Compilation",
|
||||
appId: "ID de l'Application",
|
||||
appVersion: "Version de l'Application",
|
||||
legal: "Mentions Légales",
|
||||
privacyPolicy: "Politique de Confidentialité",
|
||||
termsOfService: "Conditions d'Utilisation",
|
||||
},
|
||||
communityScreen: {
|
||||
title: "Connectez-vous avec la communauté",
|
||||
tagLine:
|
||||
"Rejoignez la communauté d'ingénieurs React Native d'Infinite Red et améliorez votre développement d'applications avec nous !",
|
||||
joinUsOnSlackTitle: "Rejoignez-nous sur Slack",
|
||||
joinUsOnSlack:
|
||||
"Vous souhaitez vous connecter avec des ingénieurs React Native du monde entier ? Rejoignez la conversation dans la communauté Slack d'Infinite Red ! Notre communauté en pleine croissance est un espace sûr pour poser des questions, apprendre des autres et développer votre réseau.",
|
||||
joinSlackLink: "Rejoindre la communauté Slack",
|
||||
makeIgniteEvenBetterTitle: "Rendre Ignite encore meilleur",
|
||||
makeIgniteEvenBetter:
|
||||
"Vous avez une idée pour rendre Ignite encore meilleur ? Nous sommes heureux de l'entendre ! Nous cherchons toujours des personnes qui veulent nous aider à construire les meilleurs outils React Native. Rejoignez-nous sur GitHub pour nous aider à construire l'avenir d'Ignite.",
|
||||
contributeToIgniteLink: "Contribuer à Ignite",
|
||||
theLatestInReactNativeTitle: "Les dernières nouvelles de React Native",
|
||||
theLatestInReactNative:
|
||||
"Nous sommes là pour vous tenir au courant de tout ce que React Native a à offrir.",
|
||||
reactNativeRadioLink: "React Native Radio",
|
||||
reactNativeNewsletterLink: "React Native Newsletter",
|
||||
reactNativeLiveLink: "React Native Live",
|
||||
chainReactConferenceLink: "Conférence Chain React",
|
||||
hireUsTitle: "Engagez Infinite Red pour votre prochain projet",
|
||||
hireUs:
|
||||
"Que ce soit pour gérer un projet complet ou pour former des équipes à notre formation pratique, Infinite Red peut vous aider pour presque tous les projets React Native.",
|
||||
hireUsLink: "Envoyez-nous un message",
|
||||
},
|
||||
showroomScreen: {
|
||||
jumpStart: "Composants pour démarrer votre projet !",
|
||||
lorem2Sentences:
|
||||
"Nulla cupidatat deserunt amet quis aliquip nostrud do adipisicing. Adipisicing excepteur elit laborum Lorem adipisicing do duis.",
|
||||
demoHeaderTxExample: "Yay",
|
||||
demoViaTxProp: "Via la propriété `tx`",
|
||||
demoViaSpecifiedTxProp: "Via la propriété `{{prop}}Tx` spécifiée",
|
||||
},
|
||||
demoDebugScreen: {
|
||||
howTo: "COMMENT FAIRE",
|
||||
title: "Débugage",
|
||||
tagLine:
|
||||
"Félicitations, vous avez un modèle d'application React Native très avancé ici. Profitez de cette base de code !",
|
||||
reactotron: "Envoyer à Reactotron",
|
||||
reportBugs: "Signaler des bugs",
|
||||
demoList: "Liste de démonstration",
|
||||
demoPodcastList: "Liste de podcasts de démonstration",
|
||||
androidReactotronHint:
|
||||
"Si cela ne fonctionne pas, assurez-vous que l'application de bureau Reactotron est en cours d'exécution, exécutez adb reverse tcp:9090 tcp:9090 à partir de votre terminal, puis rechargez l'application.",
|
||||
iosReactotronHint:
|
||||
"Si cela ne fonctionne pas, assurez-vous que l'application de bureau Reactotron est en cours d'exécution, puis rechargez l'application.",
|
||||
macosReactotronHint:
|
||||
"Si cela ne fonctionne pas, assurez-vous que l'application de bureau Reactotron est en cours d'exécution, puis rechargez l'application.",
|
||||
webReactotronHint:
|
||||
"Si cela ne fonctionne pas, assurez-vous que l'application de bureau Reactotron est en cours d'exécution, puis rechargez l'application.",
|
||||
windowsReactotronHint:
|
||||
"Si cela ne fonctionne pas, assurez-vous que l'application de bureau Reactotron est en cours d'exécution, puis rechargez l'application.",
|
||||
},
|
||||
demoPodcastListScreen: {
|
||||
title: "Épisodes de Radio React Native",
|
||||
onlyFavorites: "Afficher uniquement les favoris",
|
||||
favoriteButton: "Favori",
|
||||
unfavoriteButton: "Non favori",
|
||||
accessibility: {
|
||||
cardHint:
|
||||
"Double-cliquez pour écouter l'épisode. Double-cliquez et maintenez pour {{action}} cet épisode.",
|
||||
switch: "Activez pour afficher uniquement les favoris",
|
||||
favoriteAction: "Basculer en favori",
|
||||
favoriteIcon: "Épisode non favori",
|
||||
unfavoriteIcon: "Épisode favori",
|
||||
publishLabel: "Publié le {{date}}",
|
||||
durationLabel: "Durée : {{hours}} heures {{minutes}} minutes {{seconds}} secondes",
|
||||
},
|
||||
noFavoritesEmptyState: {
|
||||
heading: "C'est un peu vide ici",
|
||||
content:
|
||||
"Aucun favori n'a été ajouté pour le moment. Appuyez sur le cœur d'un épisode pour l'ajouter à vos favoris !",
|
||||
},
|
||||
},
|
||||
|
||||
...demoFr,
|
||||
}
|
||||
|
||||
export default fr
|
||||
Reference in New Issue
Block a user