diff --git a/config/locales/concerns/fr.yml b/config/locales/concerns/fr.yml index c0b983619..13bcbcc0d 100644 --- a/config/locales/concerns/fr.yml +++ b/config/locales/concerns/fr.yml @@ -2,5 +2,5 @@ fr: concerns: image_uploads: - too_long: filename too long - the max is %{max} characters. - is_not_file: invalid file type. Please upload a valid image. + too_long: nom de fichier trop long - le maximum est de %{max} caractères. + is_not_file: Type de fichier non valide. Veuillez télécharger une image valide. diff --git a/config/locales/controllers/admin/fr.yml b/config/locales/controllers/admin/fr.yml index 62cd6a597..477c51341 100644 --- a/config/locales/controllers/admin/fr.yml +++ b/config/locales/controllers/admin/fr.yml @@ -2,48 +2,48 @@ fr: admin: articles_controller: - saved: Article saved! - pinned: Article Pinned! - unpinned: Article Unpinned! + saved: Article sauvegardé ! + pinned: Article épinglé ! + unpinned: Article désépinglé ! badge_achievements_controller: - deleted: Badge achievement has been deleted! - rewarded: Badges are being rewarded. The task will finish shortly. - congrats: Congrats! - award: Please choose a badge to award - wrong: Something went wrong. + deleted: La réalisation du badge a été supprimée ! + rewarded: Les badges sont en train d'être récompensés. La tâche sera bientôt terminée. + congrats: Félicitations ! + award: Veuillez choisir un badge à décerner + wrong: Quelque chose a mal fonctionné. badges_controller: - created: Badge has been created! - updated: Badge has been updated! + created: Le badge a été créé ! + updated: Le badge a été mis à jour ! broadcasts_controller: - created: Broadcast has been created! - deleted: Broadcast has been deleted! - updated: Broadcast has been updated! - wrong: Something went wrong with deleting the broadcast. + created: Le Broadcast a été créée ! + deleted: Le Broadcast a été supprimée ! + updated: Le Broadcast a été mise à jour ! + wrong: Quelque chose s'est mal passé avec la suppression du Broadcast. consumer_apps_controller: - created: '%{app} has been created!' - deleted: '%{app} has been deleted!' - updated: '%{app} has been updated!' - wrong: Something went wrong with deleting %{app}. + created: '%{app} a été créé !' + deleted: '%{app} a été supprimé !' + updated: '%{app} a été mis à jour !' + wrong: Quelque chose s'est mal passé en supprimant %{app}. display_ads_controller: - created: Display Ad has been created! - deleted: Display Ad has been deleted! - updated: Display Ad has been updated! - wrong: Something went wrong with deleting the Display Ad. + created: L'annonce publicitaire a été créée ! + deleted: L'annonce a été supprimée ! + updated: L'annonce publicitaire a été mise à jour ! + wrong: Quelque chose s'est mal passé avec la suppression de l'annonce publicitaire. extensions_controller: update_success: Les extensions ont été mises à jour. gdpr_delete_requests_controller: - deleted: Successfully marked as deleted + deleted: Marqué comme supprimé avec succès html_variants_controller: fork: '%{name} FORK-%{rand}' - created: HTML Variant has been created! - deleted: HTML Variant has been deleted! - updated: HTML Variant has been updated! - wrong: Something went wrong with deleting the HTML Variant. + created: La variante HTML a été créée ! + deleted: La variante HTML a été supprimée ! + updated: La variante HTML a été mise à jour ! + wrong: Quelque chose s'est mal passé avec la suppression de la variante HTML. invitations_controller: - duplicate: 'Invitation was not sent. There is already a registered user with the email: %{email}' - create_success: The invite has been sent to the user's email. - destroy_success: Invite cancelled for %{email}. - resend_success: Invite resent to %{email}. + duplicate: "L'invitation n'a pas été envoyée. Il y a déjà un utilisateur enregistré avec l'email : %{email}" + create_success: L'invitation a été envoyée à l'email de l'utilisateur. + destroy_success: Invitation annulée pour %{email}. + resend_success: Invitation envoyée à %{email}. listing_categories_controller: created: Listing Category has been created! updated: Listing Category has been updated! @@ -53,100 +53,100 @@ fr: destroyed: "'%{title}' was destroyed successfully" no_credit: Not enough available credits mods_controller: - trusted: '%{username} now has a Trusted role!' + trusted: '%{username} a maintenant un rôle de confiance !' navigation_links_controller: - deleted: Navigation Link %{link} deleted - created: 'Successfully created navigation link: %{link}' - updated: 'Successfully updated navigation link: %{link}' + deleted: Lien de navigation %{link} supprimé + created: 'Le lien de navigation a été créé avec succès : %{link}' + updated: 'Le lien de navigation a été mis à jour avec succès : %{link}' organization_memberships_controller: - not_exist: 'Organization #%{org_id} does not exist.' - wrong: Something went wrong with removing the user from %{org} - added: User was successfully added to %{org} - removed: User was successfully removed from %{org} - updated: User was successfully updated to %{type} + not_exist: "L'organisation #%{org_id} n'existe pas." + wrong: Quelque chose s'est mal passé en retirant l'utilisateur de %{org} + added: L'utilisateur a été ajouté avec succès à %{org} + removed: L'utilisateur a été supprimé avec succès de %{org} + updated: L'utilisateur a été mis à jour avec succès vers %{type} organizations_controller: - credit_updated: Successfully updated credits + credit_updated: Crédits actualisés avec succès pages_controller: - updated: Page has been successfully updated. - created: Page has been successfully created. - deleted: Page has been successfully deleted. + updated: La page a été mise à jour avec succès. + created: La page a été créée avec succès. + deleted: La page a été supprimée avec succès. code_of_conduct: - title: Code of Conduct - description: A page that describes how to behave on this platform + title: Code de conduite + description: Une page qui décrit comment se comporter sur cette plateforme privacy_policy: - title: Privacy Policy - description: A page that describes the privacy policy + title: Politique de confidentialité + description: Une page qui décrit la politique de confidentialité terms_of_use: - title: Terms of Use - description: A page that describes the terms of use for the application + title: Conditions d'utilisation + description: Une page qui décrit les conditions d'utilisation de l'application. podcasts_controller: - new_owner_added: New owner added! - no_such_user: No such user - scheduled: "Podcast's episodes fetching was scheduled (%{title}, #%{id})" - updated: Podcast updated + new_owner_added: Nouveau propriétaire ajouté ! + no_such_user: Aucun utilisateur n'existe + scheduled: "La récupération des épisodes du podcast a été programmée (%{title}, #%{id})" + updated: Podcast mis à jour profile_field_groups_controller: - deleted: Group %{group} deleted - updated: Group %{group} updated - created: 'Successfully created group: %{group}' + deleted: Groupe %{group} supprimé + updated: Groupe %{group} mis à jour + created: 'Le groupe a été créé avec succès : %{group}' profile_fields_controller: - created: Profile field %{field} created - deleted: Profile field %{field} deleted - updated: Profile field %{field} updated + created: Champ de profil %{field} créé + deleted: Champ de profil %{field} supprimé + updated: Champ de profil %{field} mis à jour response_templates_controller: - saved: 'Response Template: "%{title}" saved successfully.' - updated: The response template "%{title}" was updated. - deleted: The response template "%{title}" was deleted. + saved: 'Modèle de réponse : "%{title}" enregistré avec succès.' + updated: Le modèle de réponse "%{title}" a été mis à jour. + deleted: Le modèle de réponse "%{title}" a été supprimé. secrets_controller: - not_in_vault: Not In Vault - updated: Secret %{key} was successfully updated in Vault. + not_in_vault: Pas dans le coffre-fort + updated: Le secret %{key} a été mis à jour avec succès dans le coffre-fort. value: '%{first8}******' settings_controller: - confirmation: My username is @%{username} and this action is 100% safe and appropriate. + confirmation: Mon nom d'utilisateur est @%{username} et cette action est 100% sûre et appropriée. spaces_controller: update_success: L'espace a été mis à jour. tags: moderators_controller: - not_found: 'User ID #%{user_id} was not found' - not_found_or: 'User ID #%{user_id} was not found, or their account has errors: %{errors}' - removed: '@%{username} - ID #%{user_id} was removed as a tag moderator.' - added: '%{username} was added as a tag moderator!' + not_found: "L'ID utilisateur #%{user_id} n'a pas été trouvé" + not_found_or: "L'identifiant de l'utilisateur #%{user_id} n'a pas été trouvé, ou son compte présente des erreurs : %{errors}" + removed: "@%{username} - ID #%{user_id} a été supprimé en tant que modérateur de tags." + added: "%{username} a été ajouté en tant que modérateur de tags !" tags_controller: - created: '%{tag_name} has been created!' - updated: '%{tag_name} tag successfully updated!' - update_fail: 'The tag update failed: %{errors}' + created: '%{tag_name} a été créé !' + updated: '%{tag_name} tag mis à jour avec succès !' + update_fail: 'La mise à jour de la balise a échoué : %{errors}' tools_controller: - article_busted: 'Article #%{article} was successfully busted' - user_busted: 'User #%{user} was successfully busted' - link_busted: '%{link} was successfully busted' + article_busted: "L'article #%{article} a été bloqué avec succès." + user_busted: "L'utilisateur #%{user} a été arrêté avec succès." + link_busted: "%{link} a été cassé avec succès" users_controller: - exported: Data exported to the %{receiver}. The job will complete momentarily. - email_fail: Email failed to send! - email_sent: Email sent! - verify_sent: Verification email sent! - full_delete_html: '@%{user} (email: %{email}, user_id: %{id}) has been fully deleted. If this is a GDPR delete, delete them from Mailchimp & Google Analytics and confirm on %{the_page}.' - no_email: no email - parameter_missing: Both subject and body are required! - role_removed: 'Role: %{role} has been successfully removed from the user!' - identity_removed: The %{provider} identity was successfully deleted and backed up. - the_page: the page - banished: This user is being banished in the background. The job will complete soon. - unlocked: Unlocked User account! - unpublished: Posts are being unpublished in the background. The job will complete soon. - updated: User has been updated - updated_json: Success! %{username} has been updated. - credits_added: Credits have been added! - credits_removed: Credits have been removed. + exported: Données exportées vers le %{receiver}. Le travail sera terminé dans un instant. + email_fail: L'envoi de l'e-mail a échoué ! + email_sent: Courriel envoyé ! + verify_sent: E-mail de vérification envoyé ! + full_delete_html: "@%{user} (email: %{email}, user_id: %{id}) a été entièrement supprimé. S'il s'agit d'une suppression GDPR, supprimez-les de Mailchimp & Google Analytics et confirmez sur %{the_page}." + no_email: Aucun e-mail + parameter_missing: Le sujet et le corps sont tous deux requis ! + role_removed: "Le rôle : %{role} a été supprimé avec succès de l'utilisateur !" + identity_removed: L'identité %{provider} a été supprimée et sauvegardée avec succès. + the_page: la page + banished: Cet utilisateur est en train d'être banni en arrière-plan. Le travail sera bientôt terminé. + unlocked: Compte utilisateur débloqué ! + unpublished: Les messages sont en train d'être dépubliés en arrière-plan. Le travail sera bientôt terminé. + updated: L'utilisateur a été mis à jour + updated_json: Succès ! %{username} a été mis à jour. + credits_added: Les crédits ont été ajoutés ! + credits_removed: Les crédits ont été supprimés. welcome_controller: thread_content: | --- - title: Welcome Thread - v0 + title: Fil de bienvenue - v0 published: false - description: Introduce yourself to the community! + description: Présentez-vous à la communauté ! tags: welcome --- - Hey there! Welcome to %{community}! + Bonjour à tous ! Bienvenue sur %{community}! - ![WELCOME TO THE INTERNET](https://slack-imgs.com/?c=1&url=http%3A%2F%2Fmedia0.giphy.com%2Fmedia%2FzhbrTTpmSCYog%2Fgiphy-downsized.gif) + ![BIENVENUE SUR INTERNET](https://slack-imgs.com/?c=1&url=http%3A%2F%2Fmedia0.giphy.com%2Fmedia%2FzhbrTTpmSCYog%2Fgiphy-downsized.gif) - Leave a comment below to introduce yourself to the community!✌️ + Laissez un commentaire ci-dessous pour vous présenter à la communauté!✌️ diff --git a/config/locales/controllers/api/fr.yml b/config/locales/controllers/api/fr.yml index 70cb0db87..520222e87 100644 --- a/config/locales/controllers/api/fr.yml +++ b/config/locales/controllers/api/fr.yml @@ -3,19 +3,19 @@ fr: api: v0: analytics_controller: - invalid_date_format: Date parameters 'start' or 'end' must be in the format of 'yyyy-mm-dd' - start_missing: Required 'start' parameter is missing + invalid_date_format: Les paramètres de date "début" ou "fin" doivent être au format "yyyy-mm-dd" + start_missing: Le paramètre 'début' requis est manquant articles_controller: - must_be_json: article param must be a JSON object. You provided article as a %{type} + must_be_json: Le paramètre article doit être un objet JSON. Vous avez fourni l'article comme %{type} follows_controller: followed: - one: followed %{count} user - other: followed %{count} users + one: a suivi %{count} utilisateur + other: a suivi %{count} utilisateurs health_checks_controller: - app_is_up: App is up! - database_connected: Database connected - database_not_connected: Database NOT connected! - redis_connected: Redis connected - redis_not_connected: Redis NOT connected! + app_is_up: L'application est en place ! + database_connected: Base de données connectée + database_not_connected: Base de données NON connectée ! + redis_connected: Redis connecté + redis_not_connected: Redis NON connecté ! listings_controller: - no_credit: Not enough available credits + no_credit: Pas assez de crédits disponibles diff --git a/config/locales/controllers/fr.yml b/config/locales/controllers/fr.yml index 675780bc6..4abe617bd 100644 --- a/config/locales/controllers/fr.yml +++ b/config/locales/controllers/fr.yml @@ -1,123 +1,123 @@ --- fr: api_secrets_controller: - generated: 'Your API Key has been generated: %{secret}' - revoked: Your API Key has been revoked. + generated: 'Votre clé d API a été générée : %{secret}' + revoked: Votre clé API a été révoquée. application_controller: - bad_request: 'Error: Bad Request' - not_authorized: 'Error: not authorized' - please_sign_in: Please sign in + bad_request: 'Erreur : mauvaise demande' + not_authorized: 'Erreur : non autorisé' + please_sign_in : Veuillez vous connecter articles_controller: - deleted: Article was successfully deleted. + deleted: L'article a été supprimé avec succès. comments_controller: create: - success: created - failure: comment already exists - authorization_error: Your privileges have been suspended. + success: créé avec succès + failure: commentaire déjà existant + authorization_error: Vos privilèges ont été suspendus. delete: - error: Something went wrong; Comment NOT deleted. - notice: Comment was successfully deleted. - markdown: 'There was an error in your markdown: %{error}' - markdown_html: "

😔 There was an error in your markdown


%{error}

" - moderated: Not allowed due to moderation action + error: Un problème est survenu ; le commentaire n'a PAS été supprimé. + notice: Le commentaire a été supprimé avec succès. + markdown: 'Il y a une erreur dans votre markdown : %{error}' + markdown_html: "

😔 Il y a une erreur dans votre markdown


%{error}

" + moderated: Non autorisé en raison d'une action de modération. confirmations_controller: - email_sent: Email sent! Please contact support at %{email} if you are having trouble receiving your confirmation instructions. + email_sent: E-mail envoyé ! Veuillez contacter le service d'assistance à l'adresse %{email} si vous avez des difficultés à recevoir les instructions de confirmation. credits_controller: done: - one: "%{count} new credits purchased!" - other: "%{count} new credits purchased!" + one: "%{count} nouveau crédit acheté !" + other: "%{count} nouveaux crédits achetés !" devices_controller: - not_found: Not Found + not_found: Non trouvé discussion_locks_controller: - locked: Discussion was successfully locked! - unlocked: Discussion was successfully unlocked! + locked: La discussion a été verrouillée avec succès ! + unlocked: La discussion a été déverrouillée avec succès ! email_subscriptions_controller: - badge_notifications: badge notifications - comment_notifications: comment notifications - digest_emails: "%{community} digest emails" - follower_notifications: follower notifications - mention_notifications: mention notifications - this_list: this list - unread_notifications: unread notifications + badge_notifications: notifications de badges + comment_notifications: notifications de commentaires + digest_emails: "%{community} e-mails récapitulatifs" + follower_notifications: notifications de followers + mention_notifications: notifications de mentions + this_list: cette liste + unread_notifications: notifications non lues feedback_messages_controller: - error_fill: "Make sure the forms are filled. 🤖 Other possible errors: %{errors}" - n_a: N/A - submitted: Your report is submitted + error_fill: "Assurez-vous que les formulaires sont remplis. 🤖 Autres erreurs possibles : %{errors}" + n_a: NON DISPONIBLE + submitted: Votre rapport est soumis follows_controller: - already_followed: already followed - daily_limit: Daily account follow limit reached! - followed: followed - unfollowed: unfollowed + already_followed: déjà suivi + daily_limit: La limite de suivi quotidien des comptes est atteinte ! + followed: suivi + unfollowed: non-suivi github_repos_controller: - repo_not_found: GitHub repository not found - github_unauthorized: 'GitHub Unauthorized: %{e_message}' + repo_not_found: Dépôt GitHub non trouvé + github_unauthorized: 'GitHub non autorisé : %{e_message}' image_uploads_controller: - server_error: A server error has occurred! + server_error: Une erreur de serveur s'est produite ! listings_controller: - deleted: Listing was successfully deleted. - no_credit: Not enough available credits + deleted: L'inscription a été supprimée avec succès. + no_credit: Pas assez de crédits disponibles omniauth_callbacks_controller: - log_in_error: 'Log in error: %{e}' - username_taken: username has already been taken + log_in_error: 'Erreur de connexion: %{e}' + username_taken: le nom d'utilisateur a déjà été pris organizations_controller: - secret_updated: Your org secret was updated - deletion_scheduled: 'Your organization: "%{organization_name}" deletion is scheduled. You''ll be notified when it''s deleted.' - not_deleted: Your organization was not deleted; you must be an admin, the only member in the organization, and have no articles connected to the organization. - created: Your organization was successfully created and you are an admin. - updated: Your organization was successfully updated. + secret_updated: Votre secret d'organisation a été mis à jour + deletion_scheduled: "Votre organisation: %{organization_name}. la suppression est prévue. Vous serez averti lorsqu'il sera supprimé." + not_deleted: Votre organisation n'a pas été supprimée ; vous devez être un administrateur, le seul membre de l'organisation, et n'avoir aucun article connecté à l'organisation. + created: Votre organisation a été créée avec succès et vous êtes un administrateur. + updated: Votre organisation a été mise à jour avec succès. podcasts_controller: - podcast_suggested: Podcast suggested + podcast_suggested: Podcast proposé profiles_controller: - updated: Your profile has been updated + updated: Votre profil a été mis à jour rating_votes_controller: - not_upserted_successfully: Not Upserted Successfully + not_upserted_successfully: Pas d'insertion réussie registrations_controller: error: - recaptcha: You must complete the recaptcha ✅ - domain: is not included in allowed domains. + recaptcha: Vous devez remplir le recaptcha ✅ + domain: n'est pas inclus dans les domaines autorisés. response_templates_controller: - response_template_error: 'Response template error: %{errors}' - created: Your response template "%{title}" was created. - deleted: Your response template "%{title}" was deleted. - updated: Your response template "%{title}" was updated. + response_template_error: 'Erreur de modèle de réponse: %{errors}' + created: Votre modèle de réponse "%{title}" a été créée. + deleted: Votre modèle de réponse "%{title}" a été supprimée. + updated: Votre modèle de réponse "%{title}" a été mis à jour. social_previews_controller: fonts: Roboto|Roboto+Condensed stories: pinned_articles_controller: - not_found: not found + not_found: non trouvé stories_controller: - 404_bio_not_found: 404 bio not found - searching: "...searching" + 404_bio_not_found: 404 bio non trouvé + searching: "...recherche" stripe_active_cards_controller: - cannot_remove: Can't remove card if you have an active membership. Please cancel your membership first. - cannot_update: There was a problem updating your billing info. - updated: Your billing information has been updated - removed: Your card has been successfully removed. + cannot_remove: Vous ne pouvez pas retirer la carte si vous avez une adhésion active. Veuillez d'abord annuler votre adhésion. + cannot_update: Il y a eu un problème pour mettre à jour vos informations de facturation. + updated: Vos informations de facturation ont été mises à jour + removed: Votre carte a été retirée avec succès. tag_adjustments_controller: - failure: 'Failure: %{errors}' - destroyed: Tag adjustment destroyed + failure: 'Échec : %{errors}' + destroyed: Tag détruit tags_controller: - tag_successfully_updated: "Tag successfully updated! 👍 " + tag_successfully_updated: "Tag mis à jour avec succès ! 👍 " users_controller: - removed_admin: "%{name} is no longer an admin." - removed_member: "%{name} is no longer part of your organization." - added_admin: "%{name} is now an admin." - provide_email: Please, provide an email to delete your account. - provide_email_delete: Please, provide an email to delete your account - send_export: " The export will be emailed to you shortly." - invalid_secret: The given organization secret was invalid. - username_blank: Username cannot be blank - deletion_in_progress: You have already requested account deletion. Please, check your email for further instructions. - joined_org: You have joined the %{organization_name} organization. - left_org: You have left your organization. - deletion_requested: You have requested account deletion. Please, check your email for further instructions. - log_in_to_delete: You must be logged in to proceed with account deletion. - deletion_scheduled: Your account deletion is scheduled. You'll be notified when it's deleted. - removed_identity: Your %{provider} account was successfully removed. - updated_config: Your config has been updated. Refresh to see all changes. - updated_profile: Your profile was successfully updated. - token_expired: Your token has expired, please request a new one. Tokens only last for 12 hours after account deletion is initiated. - notifications_settings_updated: Your notifications settings have been updated. + removed_admin: "%{name} n'est plus un administrateur." + removed_member: "%{name} ne fait plus partie de votre organisation." + added_admin: "%{name} est maintenant un administrateur." + provide_email: Veuillez fournir une adresse e-mail pour supprimer votre compte + provide_email_delete: Veuillez fournir une adresse e-mail pour supprimer votre compte + send_export: " L'exportation vous sera envoyée par e-mail sous peu." + invalid_secret: Le secret d'organisation donné n'est pas valide. + username_blank: Le nom d'utilisateur ne peut pas être vide + deletion_in_progress: Vous avez déjà demandé la suppression de votre compte. Veuillez vérifier votre e-mail pour de nouvelles instructions. + joined_org: Vous avez rejoint l'organisation %{organization_name}. + left_org: Vous avez quitté votre organisation. + deletion_requested: Vous avez demandé la suppression de votre compte. Veuillez vérifier votre e-mail pour de plus amples instructions. + log_in_to_delete: Vous devez être connecté pour procéder à la suppression du compte. + deletion_scheduled: La suppression de votre compte est programmée. Vous serez notifié quand il sera supprimé. + removed_identity: Votre compte %{provider} a été supprimé avec succès. + updated_config: Votre configuration a été mise à jour. Rafraîchissez pour voir tous les changements. + updated_profile: Votre profil a été mis à jour avec succès. + token_expired: Votre jeton a expiré, veuillez en demander un nouveau. Les jetons ne durent que 12 heures après la suppression du compte. + notifications_settings_updated: Vos paramètres de notification ont été mis à jour. video_states_controller: - related_article_not_found: Related article not found - video_state_updated: Video state updated + related_article_not_found: Article connexe non trouvé + video_state_updated: Mise à jour de l'état de la vidéo diff --git a/config/locales/decorators/fr.yml b/config/locales/decorators/fr.yml index a1595226c..1a23f8896 100644 --- a/config/locales/decorators/fr.yml +++ b/config/locales/decorators/fr.yml @@ -2,4 +2,4 @@ fr: decorators: article_decorator: - tagged_with: " Tagged with %{cached_tag_list}." + tagged_with: " Tagué avec %{cached_tag_list}." diff --git a/config/locales/fr.yml b/config/locales/fr.yml index de7cd396c..208f97010 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -75,80 +75,80 @@ fr: other: il y a %{count} ans expired_ago: about_x_hours: - one: Expired about 1 hour ago - other: Expired about %{count} hours ago + one: Expiré il y a environ 1 heure + other: Expiré il y a environ %{count} heures about_x_months: - one: Expired about 1 month ago - other: Expired about %{count} months ago + one: Expiré il y a environ 1 mois + other: Expiré il y a environ %{count} mois about_x_years: - one: Expired about 1 year ago - other: Expired about %{count} years ago + one: Expiré il y a environ 1 an + other: Expiré il y a environ %{count} ans almost_x_years: - one: Expired almost 1 year ago - other: Expired almost %{count} years ago - half_a_minute: Expired half a minute ago + one: Expiré il y a presque 1 an + other: Expiré il y a presque %{count} an + half_a_minute: Expiré il y a une demi-minute less_than_x_seconds: - one: Expired less than 1 second ago - other: Expired less than %{count} seconds ago + one: Expiré il y a moins d'une seconde + other: Expiré il y a moins de %{count} secondes less_than_x_minutes: - one: Expired less than a minute ago - other: Expired less than %{count} minutes ago + one: Expiré il y a moins d'une minute + other: Expiré il y a moins de %{count} minutes over_x_years: - one: Expired over 1 year ago - other: Expired over %{count} years ago + one: Expiré il y a plus de 1 an + other: Expiré il y a plus de %{count} ans x_seconds: - one: Expired 1 second ago - other: Expired %{count} seconds ago + one: Expiré il y a plus de 1 seconde + other: Expiré il y a %{count} secondes x_minutes: - one: Expired 1 minute ago - other: Expired %{count} minutes ago + one: Expiré il y a plus de 1 minute + other: Expiré il y a %{count} minutes x_days: - one: Expired 1 day ago - other: Expired %{count} days ago + one: Expiré il y a 1 jour + other: Expiré il y a %{count} jours x_months: - one: Expired 1 month ago - other: Expired %{count} months ago + one: Expiré il y a 1 mois + other: Expiré %{count} mois auparavant x_years: - one: Expired 1 year ago - other: Expired %{count} years ago + one: Expiré il y a 1 an + other: Expiré il y a %{count} ans expires_in: about_x_hours: - one: Expires in about 1 hour - other: Expires in about %{count} hours + one: Expire dans environ 1 heure + other: Expire dans environ %{count} heures about_x_months: - one: Expires in about 1 month - other: Expires in about %{count} months + one: Expire dans environ 1 mois + other: Expire dans environ %{count} mois about_x_years: - one: Expires in about 1 year - other: Expires in about %{count} years + one: Expire dans environ 1 an + other: Expire dans environ %{count} années almost_x_years: - one: Expires in almost 1 year - other: Expires in almost %{count} years - half_a_minute: Expires in half a minute + one: Expire dans presque 1 an + other: Expire dans presque %{count} années + half_a_minute: Expire dans une demi-minute less_than_x_seconds: - one: Expires in less than 1 second - other: Expires in less than %{count} seconds + one: Expire dans moins d'une seconde + other: Expire dans moins de %{count} secondes less_than_x_minutes: - one: Expires in less than a minute - other: Expires in less than %{count} minutes + one: Expire dans moins d'une minute + other: Expire dans moins de %{count} minutes over_x_years: - one: Expires in over 1 year - other: Expires in over %{count} years + one: Expire dans plus d'un an + other: Expire dans plus de %{count} ans x_seconds: - one: Expires in 1 second - other: Expires in %{count} seconds + one: Expire dans 1 seconde + other: Expire dans %{count} secondes x_minutes: - one: Expires in 1 minute - other: Expires in %{count} minutes + one: Expire dans 1 minute + other: Expire dans %{count} minutes x_days: - one: Expires in 1 day - other: Expires in %{count} days + one: Expire dans 1 jour + other: Expire dans %{count} jours x_months: - one: Expires in 1 month - other: Expires in %{count} months + one: Expire dans 1 mois + other: Expire dans %{count} mois x_years: - one: Expires in 1 year - other: Expires in %{count} years + one: Expire dans 1 an + other: Expire dans %{count} ans display_ad: menu: aria_label: Basculer le menu déroulant @@ -196,7 +196,7 @@ fr: too_short: one: est trop court (au moins 1 caractère) other: est trop court (le minimum est de %{count} caractères) - try_again_email: 'An error occurred. Please try again or send an email to: %{email}' + try_again_email: "Une erreur s'est produite. Veuillez réessayer ou envoyer un e-mail à: %{email}" wrong_length: one: est la mauvaise longueur (devrait être 1 caractère) other: est la mauvaise longueur (devrait être %{count} caractères) diff --git a/config/locales/helpers/fr.yml b/config/locales/helpers/fr.yml index 0f0b7e918..6cb62769e 100644 --- a/config/locales/helpers/fr.yml +++ b/config/locales/helpers/fr.yml @@ -4,83 +4,83 @@ fr: label: listing: body_markdown: Body Markdown - expires_at: Custom Expire Date - location: Location - organization_id: Post under an organization + expires_at: Date d'expiration personnalisée + location: Emplacement + organization_id: Publier sous une organisation tag_list: Tags - title: Title + title: Titre organization: - name: Name - slug: Username - profile_image: Profile image - nav_image: Logo for light themes - dark_nav_image: Logo for dark themes - twitter_username: Twitter username - github_username: GitHub username - url: Website url - tag_line: Tag line - summary: Summary - location: Location - email: Support email - company_size: Organization size - story: Our story - tech_stack: Our stack - cta_body_markdown: Body text - cta_button_text: Link text - cta_button_url: Link url - proof: Proof + name: Nom + slug: Nom d'utilisateur + profile_image: Image du profil + nav_image: Logo pour les thèmes clairs + dark_nav_image: Logo pour les thèmes sombres + twitter_username: Nom d'utilisateur Twitter + github_username: nom d'utilisateur GitHub + url: URL du site web + tag_line: Ligne de présentation + summary: Résumé + location: Emplacement + email: Email du support + company_size: Taille de l'organisation + story: Notre histoire + tech_stack: Notre tech stack + cta_body_markdown: Corps du texte + cta_button_text: Texte du lien + cta_button_url: URL du lien + proof: Preuve podcast: - android_url: Android url + android_url: URL Android description: Description - feed_url: Feed url + feed_url: URL du flux image: Image - itunes_url: Itunes url - main_color_hex: Main color hex + itunes_url: URL Itunes + main_color_hex: Couleur principale hex overcast_url: Overcast url - pattern_image: Pattern image + pattern_image: Image du motif slug: Slug - soundcloud_url: Soundcloud url - title: Title - twitter_username: Twitter username - website_url: Website url + soundcloud_url: URL Soundcloud + title: Titre + twitter_username: Nom d'utilisateur Twitter + website_url: URL du site web response_template: - title: Title - content: Comment body (Markdown) + title: Titre + content: Corps du commentaire (Markdown) user: - name: Name + name: Nom email: Email - username: Username - profile_image: Profile image + username: Nom d'utilisateur + profile_image: Image de profil users_notification_setting: - email_newsletter: Send me weekly newsletter emails - email_digest_periodic: Send me a periodic digest of top posts from my tags - email_tag_mod_newsletter: Send me tag moderator newsletter emails - email_community_mod_newsletter: Send me community moderator newsletter emails - email_comment_notifications: Send me an email when someone replies to me in a comment thread - email_follower_notifications: Send me an email when someone new follows me - email_mention_notifications: Send me an email when someone mentions me - email_badge_notifications: Send me an email when I receive a badge - email_unread_notifications: Send me occasional reminders that I have unread notifications on %{community} - mobile_mention_notifications: Send me a push notification when someone mentions me - mobile_comment_notifications: Send me a push notification when someone replies to me in a comment thread - welcome_notifications: Send me occasional tips on how to enhance my %{community} experience - reaction_notifications: Send notifications when someone reacts to my content, such as comments or posts - mod_roundrobin_notifications: Send me occasional community-success mod notifications + email_newsletter: Envoyez-moi une newsletter hebdomadaire + email_digest_periodic: Envoyez-moi un condensé périodique des meilleurs messages de mes tags + email_tag_mod_newsletter: Envoyez-moi des e-mails de newsletter pour les modérateurs de tags + email_community_mod_newsletter: Envoyez-moi les e-mails de la newsletter des modérateurs de communauté + email_comment_notifications: Envoyez-moi un e-mail lorsque quelqu'un me répond dans un fil de commentaires + email_follower_notifications: Envoyez-moi un e-mail lorsque quelqu'un me suit + email_mention_notifications: Envoyez-moi un e-mail lorsque quelqu'un me mentionne + email_badge_notifications: Envoyez-moi un e-mail lorsque je reçois un badge + email_unread_notifications: Envoyez-moi des rappels occasionnels lorsque j'ai des notifications non lues sur %{community} + mobile_mention_notifications: Envoyez-moi une notification push lorsque quelqu'un me mentionne + mobile_comment_notifications: Envoyez-moi une notification push lorsque quelqu'un me répond dans un fil de commentaires + welcome_notifications: Envoyez-moi de temps en temps des conseils pour améliorer mon expérience sur %{community} + reaction_notifications: Envoyer des notifications lorsque quelqu'un réagit à mon contenu, comme des commentaires ou des messages + mod_roundrobin_notifications: Envoyez-moi des notifications occasionnelles sur le succès de la communauté users_setting: - feed_url: RSS Feed URL + feed_url: URL du flux RSS placeholder: organization: name: Acme Inc. slug: acmeinc - url: https://yoursite.com - location: Halifax, Nova Scotia + url: https://votresite.com + location: France, Toulouse email: mail@example.com company_size: "..." story: "..." tech_stack: "..." cta_body_markdown: "..." - cta_button_text: Visit Acme Site - cta_button_url: https://example.com + cta_button_text: Visiter le site Acme + cta_button_url: https://votresite.com proof: "..." response_template: title: "..." @@ -88,145 +88,144 @@ fr: name: John Doe email: john.doe@example.com username: johndoe - feed_url: https://yoursite.com/feed + feed_url: https://votresite.com/feed application_helper: - app_logo: App logo + app_logo: Logo de l'application follow: aria_label: - Organization: 'Follow organization: %{name}' - Tag: 'Follow tag: %{name}' - User: 'Follow user: %{name}' - default: 'Follow %{type}: %{name}' + Organization: "Suivre l'organisation: %{name}" + Tag: 'Suivre le tag: %{name}' + User: "Suivre L'utilisateur : %{name}" + default: "Suivre %{type}: %{name}" text: Organization: Suivre Tag: Suivre User: Suivre default: Suivre - required: Required + required: Requis subtitle: - week: Top posts this week - month: Top posts this month - year: Top posts this year - infinity: All posts - latest: Latest posts + week: Les meilleurs articles de cette semaine + month: Les meilleurs articles de ce mois + year: Les meilleurs articles de cette année + infinity: Tous les messages + latest: Derniers messages title_text: "%{title} - %{timeframe}" articles_helper: logo: "%{service_name} logo" - most_comments: Most Comments - most_reactions: Most Reactions - most_views: Most Views - recently_created: Recently Created - recently_published: Recently Published + most_comments: Le plus de commentaires + most_reactions: Le plus de réactions + most_views: Le plus de vues + recently_created: Récemment créé + recently_published: Récemment publié authentication_helper: - any_of_those: any of those - email_password: Email & Password - reminder: 'Reminder: you used %{method} to authenticate your account, so please use %{dem} to sign in if prompted.' - that: that - invite_only: You cannot do this until you disable Invite Only Mode + any_of_those: n'importe lequel de ces éléments + email_password: Email et mot de passe + reminder: 'Rappel : vous avez utilisé %{method} pour authentifier votre compte, veuillez donc utiliser %{dem} pour vous connecter si vous y êtes invité' + that: que + invite_only: Vous ne pouvez pas faire cela tant que vous n'avez pas désactivé le mode "Invite Only". comments_helper: ama: ama - ask_me_anything: Ask Me Anything - author: Author + ask_me_anything: Demandez-moi n'importe quoi + author: Auteur nbsp_likes_html: one: " like" other: " likes" feedback_messages_helper: offender: body: | - Hello, + Bonjour, - It has been brought to our attention that you have violated the %{community} Code of Conduct and/or Terms of Use. + Il a été porté à notre attention que vous avez violé le %{community} Code de conduite et/ou conditions d'utilisation. - If this behavior continues, we may need to suspend your %{community} account. + Si ce comportement persiste, nous devrons peut-être suspendre votre compte %{community}. - If you think that there's been a mistake, please reply to this email and we will take another look. + Si vous pensez qu'il s'agit d'une erreur, veuillez répondre à cet e-mail et nous réexaminerons la situation. - %{community} Team - subject: "%{community} Code of Conduct Violation" + L'équipe %{community} + subject: "Violation du code de conduite de %{community}" reporter: body: | - Hi there, - Thank you for flagging content that may be in violation of the %{community} Code of Conduct and/or our Terms of Use. We are looking into your report and will take appropriate - action. - We appreciate your help as we work to foster a positive and inclusive environment for all! - %{community} Team - subject: "%{community} Report" + Bonjour, + Merci de signaler un contenu qui pourrait être en violation du %{community} Code de conduite et/ou nos conditions d'utilisation. Nous examinons votre rapport et prendrons les mesures appropriées. + Nous apprécions votre aide car nous nous efforçons de favoriser un environnement positif et inclusif pour tous ! + L'équipe %{community} + subject: "Reporter %{community}" affected: body: | - Hi there, + Bonjour, - We noticed some comments (made by others) on your post that violate the %{community} Code of Conduct and/or our Terms of Use. We have zero tolerance for such behavior and are - taking appropriate action. + Nous avons remarqué que certains commentaires (faits par d'autres personnes) sur votre message violent le %{community} Code de conduite et/ou nos conditions d'utilisation. Nous avons une tolérance zéro pour de tels comportements et nous + et nous prenons les mesures appropriées. - Thanks for being awesome, and please don't hesitate to email us with any questions! We welcome all feedback and ideas as we continue working to foster an open and inclusive community. + Merci d'avoir été génial, et n'hésitez pas à nous envoyer un e-mail pour toute question ! Tous les commentaires et idées sont les bienvenus pour continuer à favoriser une communauté ouverte et inclusive. - %{community} Team - subject: Courtesy Notice from %{community} + L'équipe %{community} + subject: Avis de courtoisie de %{community} listing_helper: option: - one: "%{cl_name} (%{count} Credit)" - other: "%{cl_name} (%{count} Credits)" + one: "%{cl_name} (%{count} Crédit)" + other: "%{cl_name} (%{count} Crédits)" organization_helper: option: "%{org_name} (%{unspent})" rate_limit_checker_helper: day: - one: day - other: days - general: How many %{thing} can a new member (%{timeframe} or less) create within any 5 minute period? + one: jour + other: jours + general: Combien de %{thing} un nouveau membre (%{timeframe} ou moins) peut-il créer sur une période de 5 minutes ? published: - title: Limit number of posts created - description: How many posts can someone create within any 30 second period? + title: Limiter le nombre de postes créés + description: Combien de messages peut-on créer sur une période de 30 secondes ? antispam: - title: Limit number of posts created by a new member + title: Limiter le nombre de postes créés par un nouveau membre update: - title: Limit number of updates to a post - description: How many updates can someone make within any 30 second period? Update API docs when changed. + title: Limiter le nombre de mises à jour d'un article + description: Combien de mises à jour peut-on faire sur une période de 30 secondes ? Mettre à jour la documentation de l'API en cas de modification. upload: - title: Limit number of images uploaded - description: How many images can someone upload within any 30 second period? + title: Limiter le nombre d'images téléchargées + description: Combien d'images peut-on télécharger sur une période de 30 secondes ? user: - title: Limit number of changes someone can make to their account - description: How many changes can someone make to their user account within any 30 second period? + title: Limiter le nombre de modifications qu'une personne peut apporter à son compte + description: Combien de changements une personne peut-elle apporter à son compte utilisateur sur une période de 30 secondes ? follow: - title: Limit number of followers someone can follow daily - description: How many people can someone follow in a day? + title: Limiter le nombre de followers qu'une personne peut suivre par jour + description: Combien de personnes peut-on suivre en une journée ? reaction: - title: Limit number of reactions to a post or comment - description: How many times can someone react to a post or comment within any 30 second period? + title: Limiter le nombre de réactions à un message ou à un commentaire + description: Combien de fois une personne peut-elle réagir à un message ou à un commentaire sur une période de 30 secondes ? feedback: - title: Limit number of times someone can report abuse - description: How many times can someone report abuse within any 5 minute period? + title: Limiter le nombre de fois où une personne peut signaler un abus + description: Combien de fois une personne peut-elle signaler un abus sur une période de 5 minutes ? comment: - title: Limit number of comments created - description: How many comments can someone create within any 30 second period? + title: Limiter le nombre de commentaires créés + description: Combien de commentaires une personne peut-elle créer dans une période de 30 secondes ? comment_antispam: - title: Limit number of comments created by a new member + title: Limiter le nombre de commentaires créés par un nouveau utilisateur mention: - title: Limit number of @-mentions in a post or comment - description: How many times can someone @-mention other users in a post or comment? + title: Limiter le nombre de @-mentions dans un message ou un commentaire + description: Combien de fois une personne peut-elle @-mentionner d'autres utilisateurs dans un message ou un commentaire ? listing: - title: Limit number of listings created - description: How many listings can someone create within any 1 minute period? + title: Limiter le nombre de listings créés + description: Combien d'annonces peuvent être créées pendant une période d'une minute ? organization: - title: Limit number of organizations created - description: How many organizations can someone create within any 5 minute period? + title: Limiter le nombre d'organisations créées + description: Combien d'organisations une personne peut-elle créer sur une période de 5 minutes ? subscription: - title: Limit number of times someone can subscribe to mailing list liquid tag - description: How many times can someone subscribe to a mailing list within any 30 second period? + title: Limiter le nombre de fois qu'une personne peut s'abonner à une liste de diffusion tag liquide + description: Combien de fois une personne peut-elle s'abonner à une liste de diffusion sur une période de 30 secondes ? recipient: - title: Limit number of general emails we send - description: How many emails can we send to someone within any 2 minute period? + title: Limiter le nombre d'e-mails généraux que nous envoyons + description: Combien d'emails pouvons-nous envoyer à une personne dans une période de 2 minutes ? confirmation: - title: Limit number of confirmation emails we send - description: How many times can we send a confirmation email to someone within a 2 minute period? + title: Limiter le nombre d'e-mails de confirmation que nous envoyons + description: Combien de fois pouvons-nous envoyer un email de confirmation à quelqu'un dans une période de 2 minutes ? thing: - posts: posts - comments: comments + posts: articles + comments: commentaires settings_helper: - advanced: Advanced - beginner: Beginner + advanced: Avancé + beginner: Débutant expert: Expert - mid_level: Mid-level + mid_level: Niveau intermédiaire novice: Novice social_link_helper: n_a: N/A diff --git a/config/locales/kaminari.fr.yml b/config/locales/kaminari.fr.yml index 33f929d4f..8b25bd163 100644 --- a/config/locales/kaminari.fr.yml +++ b/config/locales/kaminari.fr.yml @@ -2,8 +2,8 @@ fr: views: pagination: - aria_next: "Next page" - aria_previous: "Previous page" + aria_next: "Page suivante" + aria_previous: "Page précédente" first: "« Premier" last: Dernier » next: Suivant › @@ -12,4 +12,4 @@ fr: helpers: page_entries_info: more_pages: - display_entries: "%{first} - %{last} of %{total}" + display_entries: "%{first} - %{last} sur %{total}" diff --git a/config/locales/liquid_tags/fr.yml b/config/locales/liquid_tags/fr.yml index a76a25aeb..4e12b721c 100644 --- a/config/locales/liquid_tags/fr.yml +++ b/config/locales/liquid_tags/fr.yml @@ -2,112 +2,112 @@ fr: liquid_tags: asciinema_tag: - invalid_asciinema_id: 'Invalid Asciinema ID: %{id}' + invalid_asciinema_id: "ID d'Asciinema non valide : %{id}" blogcast_tag: - invalid_blogcast_id: Invalid Blogcast ID + invalid_blogcast_id: ID de blogcast non valide codepen_tag: - invalid_codepen_url: Invalid CodePen URL - invalid_options: Invalid Options + invalid_codepen_url: URL du CodePen non valide + invalid_options: Options non valides codesandbox_tag: - invalid_id: 'CodeSandbox Error: Invalid ID' + invalid_id: 'CodeSandbox Erreur : ID invalide' comment_tag: - invalid_comment: Invalid Comment ID or URL + invalid_comment: ID ou URL du commentaire non valide dotnet_fiddle_tag: - invalid_dotnetfiddle_url: Invalid DotnetFiddle URL + invalid_dotnetfiddle_url: URL non valide de DotnetFiddle gist_tag: - invalid_filename: Invalid Filename - invalid_format: 'Invalid Gist link: %{link} Links must follow this format: https://gist.github.com/username/gist_id' - invalid_gist_link: 'Invalid Gist link: You must provide a Gist link' + invalid_filename: Nom de fichier non valide + invalid_format: 'Lien Gist non valide : %{link} Les liens doivent respecter ce format : https://gist.github.com/username/gist_id' + invalid_gist_link: 'Lien Gist non valide : Vous devez fournir un lien Gist' git_pitch_tag: - invalid_gitpitch_url: Invalid GitPitch URL + invalid_gitpitch_url: URL GitPitch non valide github_tag: github_issue_tag: - comment_for: Comment for - commented_on: commented on - invalid_github_issue_pull: Invalid GitHub issue, pull request or comment link - posted_on: posted on + comment_for: Commentaire pour + commented_on: commenté sur + invalid_github_issue_pull: Lien vers une issue, une pull request ou un commentaire GitHub non valide + posted_on: posté sur github_readme_tag: - invalid_options: 'GitHub tag: invalid options: %{invalid} | supported options: %{valid}' - invalid_github_repository: Invalid GitHub repository path or URL + invalid_options: 'Balise GitHub : options invalides : %{invalid} | Options supportées : %{valid}' + invalid_github_repository: Chemin ou URL du dépôt GitHub non valide glitch_tag: - invalid_glitch_id: Invalid Glitch ID - invalid_options: Invalid Options + invalid_glitch_id: ID de problème invalide + invalid_options: Options non valides instagram_tag: - invalid_instagram_id: Invalid Instagram ID + invalid_instagram_id: ID Instagram non valide js_fiddle_tag: - invalid_jsfiddle_url: Invalid JSFiddle URL - invalid_options: Invalid Options + invalid_jsfiddle_url: URL du JSFiddle non valide + invalid_options: Options non valides jsitor_tag: - invalid_jsitor_link: Invalid JSitor link. Please read the editor guide for more information + invalid_jsitor_link: Lien JSitor non valide. Veuillez lire le guide de l'éditeur pour plus d'informations kotlin_tag: - invalid_kotlin_playground: Invalid Kotlin Playground URL + invalid_kotlin_playground: URL invalide de Kotlin Playground link_tag: - not_exist: "The article you're looking for does not exist: %{slug}" - not_exist_link: "The article you're looking for does not exist: {% link %{slug} %}" + not_exist: "L'article que vous recherchez n'existe pas : %{slug}" + not_exist_link: "L'article que vous recherchez n'existe pas : {% link %{slug} %}" liquid_tag_base: - invalid_context: Invalid context. This liquid tag can only be used in %{valid}. - no_source_found: No source found + invalid_context: Contexte non valide. Cette balise liquide ne peut être utilisée que dans %{valid}. + no_source_found: Aucune source trouvée listing_tag: - invalid_url_or_slug: Invalid URL or slug. Listing not found. + invalid_url_or_slug: URL ou slug non valide. Liste non trouvée. loom_tag: - invalid_loom_url: Invalid Loom URL. + invalid_loom_url: URL Invalide du Loom. medium_tag: - invalid_link_url: Invalid link URL or link URL does not exist + invalid_link_url: Lien URL invalide ou lien URL inexistant next_tech_tag: - invalid_url: Invalid Next Tech share URL + invalid_url: URL du partage Next Tech non valide null_tag: - liquid_tag_is_disabled: Liquid#%{tag_name} tag is disabled + liquid_tag_is_disabled: Le tag Liquid#%{tag_name} est désactivé organization_tag: - invalid_slug: Invalid organization slug - invalid_url: Invalid Organization URL + invalid_slug: Le nom de l'organisation n'est pas valide + invalid_url: URL de l'organisation non valide parler_tag: - invalid_parler_url: Invalid Parler URL + invalid_parler_url: URL non valide de Parler podcast_tag: - invalid_podcast_link: Invalid podcast link + invalid_podcast_link: Lien podcast non valide reddit_tag: - invalid_reddit_link: 'Invalid Reddit link: %{url}' + invalid_reddit_link: 'Lien Reddit invalide : %{url}' replit_tag: - invalid_replit_id: Invalid Replit URL or @user/slug + invalid_replit_id: URL Replit non valide ou @user/slug runkit_tag: - runkit_tag_is_invalid: Runkit tag is invalid + runkit_tag_is_invalid: Le tag Runkit n'est pas valide slideshare_tag: - invalid_slideshare_key: Invalid Slideshare Key + invalid_slideshare_key: Clé Slideshare non valide soundcloud_tag: - invalid_soundcloud_url: "Invalid Soundcloud URL - try taking off any URL params: '?something=value'" + invalid_soundcloud_url: "URL Soundcloud non valide - essayez de retirer les paramètres de l'URL : '?something=value'" speakerdeck_tag: - invalid_speakerdeck_id: Invalid Speakerdeck Id + invalid_speakerdeck_id: ID Speakerdeck non valide spotify_tag: - invalid_spotify_uri: Invalid Spotify URI or URL. + invalid_spotify_uri: URI ou URL Spotify non valide. stackblitz_tag: - invalid_options: Invalid Options - invalid_stackblitz_id: Invalid Stackblitz Id + invalid_options: Options non valides + invalid_stackblitz_id: ID Stackblitz non valide stackery_tag: - missing_argument: Stackery - Missing owner and/or repository name arguments + missing_argument: Stackery - Arguments manquants pour le nom du propriétaire et/ou du référentiel stackexchange_tag: - post_not_found: "Couldn't find a post with that ID: {% %{tag} %{input} %}" - invalid_id: 'Invalid Stack Exchange ID: {% %{tag} %{input} %}' - invalid_site: 'Invalid Stack Exchange site: {% %{tag} %{input} %}' + post_not_found: "Impossible de trouver le message avec cet identifiant : {% %{tag} %{input} %}" + invalid_id: 'ID de Stack Exchange non valide : {% %{tag} %{input} %}' + invalid_site: 'Site Stack Exchange non valide : {% %{tag} %{input} %}' tag_tag: - invalid_tag_name: invalid tag name + invalid_tag_name: nom d'étiquette invalide tweet_tag: - invalid_twitter_id: Invalid Twitter ID or URL + invalid_twitter_id: ID ou URL Twitter non valide twitch_tag: - invalid_twitch_id: Invalid Twitch ID, Slug or URL + invalid_twitch_id: ID Twitch, Slug ou URL invalide twitter_timeline_tag: - invalid_url: Invalid Twitter Timeline URL + invalid_url: URL de la timeline de Twitter non valide. unified_embed: tag: - invalid_url: URL provided may have a typo or error; please check and try again - not_found: URL provided was not found; please check and try again - listings_disabled: Listings are disabled on this Forem; cannot embed a listing URL - too_many_redirects: Embedded link redirected too many times. + invalid_url: L'URL fournie peut contenir une faute de frappe ou une erreur ; veuillez vérifier et réessayer + not_found: L'URL fournie n'a pas été trouvée. Veuillez vérifier et réessayer + listings_disabled: Les Listings sont désactivées sur ce Forem ; il n'est pas possible d'intégrer une URL de liste + too_many_redirects: Le lien incorporé a redirigé trop de fois. user_subscription_tag: - submit: Submit - submitting: Submitting... - subscribed: You are already subscribed. + submit: Envoyer + submitting: Envoyer... + subscribed: Vous êtes déjà inscrit. wikipedia_tag: - section_not_found: Couldn't find the section of the Wikipedia article - %{input} - article_not_found: "Couldn't find the Wikipedia article - %{input}: %{response_detail}" - invalid_wikipedia_url: Invalid Wikipedia URL + section_not_found: Impossible de trouver la section de l'article de Wikipedia - %{input} + article_not_found: "Impossible de trouver l'article de Wikipedia - %{input}: %{response_detail}" + invalid_wikipedia_url: URL Wikipedia non valide youtube_tag: - invalid_youtube_id: Invalid YouTube ID or URL + invalid_youtube_id: ID ou URL YouTube non valide diff --git a/config/locales/mailers/fr.yml b/config/locales/mailers/fr.yml index db0c45495..62dc7e44b 100644 --- a/config/locales/mailers/fr.yml +++ b/config/locales/mailers/fr.yml @@ -3,31 +3,31 @@ fr: mailers: digest_mailer: from: Digest - more_top_posts: more top %{community} posts - more_top_posts_based: more top %{community} posts based on your interests - more_top_posts_from: more top reads from the community - more_trending_posts: more trending %{community} posts - more_trending_posts_picked: more trending %{community} posts picked for you - other_posts: other posts you might like - other_community_posts: other %{community} posts you might like - other_top_posts: other top %{community} posts - other_trending_posts: other trending %{community} posts + more_top_posts: plus de meilleurs articles de %{community} + more_top_posts_based: plus de meilleurs articles de %{community} basé sur vos intérêts + more_top_posts_from: d'autres lectures de la communauté + more_trending_posts: plus de d'articles tendances sur %{community} + more_trending_posts_picked: plus de d'articles tendances sur %{community} choisie pour vous + other_posts: autres articles que vous pourriez aimer + other_community_posts: d'autres posts de la %{community} que vous pourriez aimer + other_top_posts: d'autres articles tendance de la %{community} + other_trending_posts: d'autres articles tendance de la %{community}. notify_mailer: - account_deleted: "%{community} - Account Deletion Confirmation" - deletion_requested: "%{community} - Account Deletion Requested" - trusted: Congrats! You're now a "trusted" user on %{community}! - moderator: 'Congrats! You''re the moderator for #%{tag_name}' - new_follower: just followed you on %{community} - new_mention: "%{name} just mentioned you in their %{type}" - org_deleted: "%{community} - Organization Deletion Confirmation" - new_reply: "%{name} replied to your %{type}" - feedback: Thanks for your report on %{community} - export: The export of your content is ready + account_deleted: "%{community} - Confirmation de la suppression du compte" + deletion_requested: "%{community} - Suppression du compte demandée" + trusted: Félicitations ! Vous êtes maintenant un utilisateur "de confiance" sur %{community} ! + moderator: 'Félicitations ! Vous êtes le modérateur de #%{tag_name}' + new_follower: vous suit sur %{community} + new_mention: "%{name} vient de vous mentionner sur %{type}" + org_deleted: "%{community} - Confirmation de la suppression de l'organisation" + new_reply: "%{name} a répondu à votre %{type}" + feedback: Merci pour votre rapport sur %{community} + export: L'exportation de votre contenu est prête unread_notifications: - one: "🔥 You have %{count} unread notifications on %{community}" - other: "🔥 You have %{count} unread notifications on %{community}" - new_badge: You just got a badge - video_upload: Your video upload is complete + one: "🔥 Vous avez %{count} notification non lue sur %{community}" + other: "🔥 Vous avez %{count} notifications non lues sur %{community}" + new_badge: Vous venez de recevoir un badge + video_upload: Le téléchargement de votre vidéo est terminé verification_mailer: - from: "%{community} Email Verification <%{email}>" - verify_ownership: Verify Your %{community} Account Ownership + from: "%{community} Vérification de l'e-mail <%{email}>" + verify_ownership: Vérifiez la propriété de votre compte %{community}. diff --git a/config/locales/misc/fr.yml b/config/locales/misc/fr.yml index 5c831826c..c0c6dec87 100644 --- a/config/locales/misc/fr.yml +++ b/config/locales/misc/fr.yml @@ -1,41 +1,41 @@ --- fr: create_mascot: - name: Mascot - error: Mascot already set + name: Mascotte + error: Mascotte déjà prête broadcast: welcome: - ask_question: "Sloan here! 👋 I noticed that you haven't asked a question yet. Asking a question is easy to do; just click on 'Create Post' in the sidebar of the tag page to get started!" - customize_experience: "Sloan here! 👋 Did you know that that you can customize your DEV experience? Try changing your font and theme and find the best style for you!" - customize_feed: "Hi, it's me again! 👋 Now that you're a part of the DEV community, let's focus on personalizing your content. You can start by following some tags to help customize your feed! 🎉" - discuss_and_ask: "Sloan here! 👋 I noticed that you haven't asked a question or started a discussion yet. It's easy to do both of these; just click on 'Create Post' in the sidebar of the tag page to get started!" - download_app: "Sloan here, with one last tip! 👋 Have you downloaded the DEV mobile app yet? Consider downloading it so you can access all of your favorite DEV content on the go!" - set_up_profile: "Welcome to DEV! 👋 I'm Sloan, the community mascot and I'm here to help get you started. Let's begin by setting up your profile!" - start_discussion: "Sloan here! 👋 I noticed that you haven't started a discussion yet. Starting a discussion is easy to do; just click on 'Create Post' in the sidebar of the tag page to get started!" - welcome_thread: "Sloan here again! 👋 DEV is a friendly community. Why not introduce yourself by leaving a comment in the welcome thread!" + ask_question: "C'est Sloan ! 👋 J'ai remarqué que vous n'avez pas encore demandé une question. Il est facile de poser une question ; il suffit de cliquer sur 'Créer un message' dans la barre latérale de la page des tags pour commencer !" + customize_experience: "C'est Sloan ! 👋 Saviez-vous que vous pouvez personnaliser votre expérience DEV ? Essayez de changer votre police et votre thème et trouver le meilleur style pour vous !" + customize_feed: "Salut, c'est encore moi! 👋 Maintenant que vous faites partie de la communauté DEV, concentrons-nous sur la personnalisation de votre contenu. Vous pouvez commencer par suivre quelques tags pour vous aider à personnaliser votre flux ! 🎉" + discuss_and_ask: "C'est Sloan ! 👋 J'ai remarqué que vous n'avez pas encore demandé une question ou commencer une discussion. Il est facile de faire ces deux choses ; il suffit de cliquer sur 'Créer un article' dans la barre latérale de la page des tags pour commencer !" + download_app: "C'est Sloan, avec un dernier conseil ! 👋 Avez-vous déjà téléchargé l'application mobile DEV ? Pensez à la télécharger afin que vous puissiez accéder à tous vos contenus DEV préférés lors de vos déplacements !" + set_up_profile: "Bienvenue sur DEV ! 👋 Je suis Sloan, la mascotte de la communauté et je suis là pour vous aider à démarrer. Commençons par configurer votre profil !" + start_discussion: "C'est Sloan ! 👋 J'ai remarqué que vous n'avez pas encore commencé une discussion. Il est facile de lancer une discussion ; il suffit de cliquer sur 'Créer un message' dans la barre latérale de la page des tags pour commencer !" + welcome_thread: "C'est encore Sloan ! 👋 DEV est une communauté amicale. Pourquoi ne pas vous présenter en laissant un commentaire dans le fil de bienvenue !" connect: - apple: "You're on a roll! 🎉 Do you have an Apple account? Consider connecting it." - facebook: "You're on a roll! 🎉 Do you have a Facebook account? Consider connecting it." - forem: "You're on a roll! 🎉 Do you have a Forem account? Consider connecting it." - github: "You're on a roll! 🎉 Do you have a GitHub account? Consider connecting it so you can pin any of your repos to your profile." - google: "You're on a roll! 🎉 Do you have a Google account? Consider connecting it." - twitter: "You're on a roll! 🎉 Do you have a Twitter account? Consider connecting it so we can @mention you if we share your post via our Twitter account @thePracticalDev." + apple: "Vous êtes sur une lancée ! 🎉 Avez-vous un compte Apple ? Pensez à le connecter." + facebook: "Vous êtes sur une lancée ! 🎉 Avez-vous un compte Facebook ? Pensez à le connecter." + forem: "Vous êtes sur une lancée ! 🎉 Avez-vous un compte Forem ? Pensez à le connecter." + github: "Vous êtes sur une lancée ! 🎉 Avez-vous un compte GitHub ? Pensez à le connecter afin que vous puissiez épingler n'importe lequel de vos dépôts à votre profil." + google: "Vous êtes sur une lancée ! 🎉 Avez-vous un compte google ? Pensez à le connecter." + twitter: "Vous êtes sur une lancée ! 🎉 Avez-vous un compte Twitter ? Pensez à le connecter pour que nous puissions vous @mentionner si nous partageons votre article via notre compte Twitter. @thePracticalDev." errors: authentication: errors: - suspended: It appears that your previous %{community_name} account was suspended. As such, we've taken measures to prevent you from creating a new account with %{community_name} and its community. If you think that there has been a mistake, please email us at %{community_email}, and we will take another look. + suspended: Il semble que votre ancien compte %{community_name} ait été suspendu. Nous avons donc pris des mesures pour vous empêcher de créer un nouveau compte auprès de %{community_name} et de sa communauté. Si vous pensez qu'il s'agit d'une erreur, veuillez nous envoyer un e-mail à %{community_email}, et nous réexaminerons la situation. fastly_config: - must_be_array: 'configs: must be an Array of Strings' - invalid_config: Invalid Fastly config - %{invalid_config}. Only %{valid_configs_join} are valid. + must_be_array: "configs : doit être un tableau de chaînes de caractères (Array of Strings)" + invalid_config: Configuration Fastly invalide - %{invalid_config}. Seules les %{valid_configs_join} sont valides. policies: application_policy: - must_be_logged_in: must be logged in - you_must_be_logged_in: You must be logged in - your_account_is_suspended: Your account is suspended + must_be_logged_in: doit être connecté + you_must_be_logged_in: Vous devez être connecté + your_account_is_suspended: Votre compte est suspendu liquid_tag_policy: - no_user_found: No user found - not_permitted: User is not permitted to use this liquid tag + no_user_found: Aucun utilisateur trouvé + not_permitted: L'utilisateur n'est pas autorisé à utiliser ce tag liquide uploaders: base_uploader: - too_many_frames: GIF contains too many frames. Max frame count allowed is %{frame_max}. - timeout: Image processing timed out. + too_many_frames: Le GIF contient trop d'images. Le nombre maximal d'images autorisé est %{frame_max}. + timeout: Le traitement de l'image a été interrompu. diff --git a/config/locales/models/fr.yml b/config/locales/models/fr.yml index e3df2e147..b574307b3 100644 --- a/config/locales/models/fr.yml +++ b/config/locales/models/fr.yml @@ -2,126 +2,126 @@ fr: models: api_secret: - api_limit_reached: API secret limit of 10 per user has been reached + api_limit_reached: La limite API de 10 clés secrètes par utilisateur a été atteinte. application_record: - uninferrable: Could not infer a decorator for %{class}. + uninferrable: Impossible de déduire un décorateur pour %{class}. article: - a_post_by: A post by %{user_name} - video_unpermitted: cannot be added by member without permission - video_processing: cannot be set to true if video is still processing - cannot_search_tags_for: 'Cannot search tags for: %{tag}' - cannot_search_tags_for_tags: 'Cannot search tags for: %{tags}' - unique_coauthor: co-author IDs must be unique - too_many_tags: exceed the maximum of 4 tags - is_too_long: is too long. - invalid_date: must be entered in DD/MM/YYYY format with current or past date - series_unpermitted: must be one you have permission to post to - invalid_coauthor: must be valid user IDs - same_author: must not be the same user as the author - must_not_have_spaces: must not have spaces - published: Published - unique_url: has already been taken. Email %{email} for further details. - future_or_current_published_at: only future or current published_at allowed - immutable_published_at: updating published_at for articles that have already been published is not allowed + a_post_by: Un article de %{user_name} + video_unpermitted: ne peut être ajouté par un membre sans autorisation + video_processing: ne peut pas être mis à true si la vidéo est toujours en cours de traitement + cannot_search_tags_for: 'Impossible de rechercher les tags pour : %{tag}' + cannot_search_tags_for_tags: 'Impossible de rechercher les tags pour : %{tags}' + unique_coauthor: les identifiants des co-auteurs doivent être uniques + too_many_tags: dépassé le maximum de 4 tags + is_too_long: est trop long. + invalid_date: doit être saisie au format JJ/MM/AAAA avec la date actuelle ou passée + series_unpermitted: Vous devez avoir la permission de poster sur + invalid_coauthor: doivent être des identifiants d'utilisateur valides + same_author: ne doit pas être le même utilisateur que l'auteur + must_not_have_spaces: ne doit pas comporter d'espaces + published: Publié + unique_url: a déjà été pris. Envoyez un e-mail à %{email} pour plus de détails. + future_or_current_published_at: seulement le futur ou le présent published_at autorisé lors de la publication d'un article + immutable_published_at: la mise à jour de published_at pour les articles qui ont déjà été publiés n'est pas autorisée mention_too_many: - one: You cannot mention more than %{count} users in a post! - other: You cannot mention more than %{count} users in a post! + one: Vous ne pouvez pas mentionner plus de %{count} utilisateurs dans un article ! + other: Vous ne pouvez pas mentionner plus de %{count} utilisateurs dans un message ! broadcast: - single_active: You can only have one active announcement broadcast + single_active: Vous ne pouvez avoir qu'une seule diffusion d'annonce active comment: - deleted: '[deleted]' - has_been_deleted: '%{type} has been deleted.' - hidden: '[hidden by post author]' - is_not_valid: is not valid. - locked: the discussion is locked on this Post - published_article: is not a published article + deleted: '[supprimé]' + has_been_deleted: '%{type} a été supprimé' + hidden: "[caché par l'auteur du message]" + is_not_valid: n'est pas valide. + locked: la discussion est verrouillée sur ce message + published_article: n'est pas un article publié type: Article: Article - item: item - PodcastEpisode: Podcast episode - suspended_too_many: User suspended for too many spammy interactions, triggered by autovomit. + item: élément + PodcastEpisode: Épisode de podcast + suspended_too_many: L'utilisateur a été suspendu pour un trop grand nombre d'interactions spammy, déclenchées par autovomit. mention_too_many: - one: You cannot mention more than %{count} users in a comment! - other: You cannot mention more than %{count} users in a comment! + one: Vous ne pouvez pas mentionner plus de %{count} utilisateurs dans un commentaire ! + other: Vous ne pouvez pas mentionner plus de %{count} utilisateurs dans un commentaire ! feedback_message: - reported: '(you) previously reported this URL.' + reported: "(vous) avez déjà signalé cette URL." github_issue: - issue_comment_not_found: Issue comment %{issue_id} not found - issue_not_found: Issue %{issue_id} not found + issue_comment_not_found: Issue comment %{issue_id} non trouvé + issue_not_found: Issue %{issue_id} non trouvée html_variant: - no_edits: cannot change once published and approved + no_edits: ne peut pas être modifié une fois publié et approuvé identity: - no_email_msg: No email found. Please relink your %{provider} account to avoid errors. + no_email_msg: Pas d'email trouvé. Veuillez relier votre compte %{provider} pour éviter les erreurs. listing: - too_many_tags: exceed the maximum of 8 tags - too_many_linebreaks: has too many linebreaks. No more than 12 allowed. - image_not_allowed: is not allowed to include images. - liquid_not_allowed: is not allowed to include liquid tags. + too_many_tags: dépasse le maximum de 8 balises. + too_many_linebreaks: a trop de retours à la ligne. Pas plus de 12 autorisés. + image_not_allowed: n'est pas autorisé à inclure des images. + liquid_not_allowed: n'est pas autorisé à inclure des balises liquides. mention: - is_not_valid: is not valid. + is_not_valid: n'est pas valide. organization: - integer_only: Integer only. No sign allowed. - reserved_word: '%s is a reserved word. Contact site admins for help registering your organization.' + integer_only: Entier seulement. Aucun signe n'est autorisé. + reserved_word: "%s est un mot réservé. Contactez l'administrateur du site pour obtenir de l'aide pour enregistrer votre organisation." page: - body_must_exist: must exist if body_html or body_json doesn't exist. + body_must_exist: doit exister si body_html ou body_json n'existe pas. podcast: - slug_is_reserved: slug is reserved + slug_is_reserved: le slug est réservé. podcast_episode_appearance: - provided_role_is_not_valid: provided role is not valid + provided_role_is_not_valid: le rôle fourni n'est pas valide. poll_skip: - cannot_vote_more_than_once: cannot vote more than once in one poll + cannot_vote_more_than_once: ne peut pas voter plus d'une fois dans un sondage poll_vote: - cannot_vote_more_than_once: cannot vote more than once in one poll + cannot_vote_more_than_once: Impossible de voter plus d'une fois dans un sondage. profile_pin: - only_five: cannot have more than five total pinned posts - pin_unpermitted: must have proper permissions for pin + only_five: ne peut pas avoir plus de cinq messages épinglés au total + pin_unpermitted: doit avoir les autorisations appropriées pour l'épinglage rating_vote: - not_permitted: is not permitted to take this action. + not_permitted: n'est pas autorisé à effectuer cette action. reaction: - is_not_valid: is not valid. + is_not_valid: n'est pas valide. response_template: - user_nil_only: cannot have a user ID associated. - comment_markdown: Comment templates must use Markdown as its content type. - email_text: Email templates must use plain text or HTML as its content type. - limit_reached: Response template limit of 30 per user has been reached + user_nil_only: ne peut pas avoir d'ID utilisateur associé. + comment_markdown: Les modèles de commentaires doivent utiliser Markdown comme type de contenu. + email_text: Les modèles d'email doivent utiliser le texte brut ou le HTML comme type de contenu. + limit_reached: La limite de 30 modèles de réponse par utilisateur a été atteinte. settings: campaign: - share_your_project: Share your project + share_your_project: Partagez votre projet community: - message: may not include the "<" nor ">" character - new_forem: New Forem - user: user + message: ne peut pas inclure le caractère "<" ou ">". + new_forem: Nouveau Forem + user: utilisateur general: - community_sponsors: Community Sponsors - the_community_mascot: The community mascot + community_sponsors: Sponsors communautaires + the_community_mascot: La mascotte de la communauté user_experience: - message: 'must be be a 3 or 6 character hex (starting with #)' + message: 'doit être un hexagone de 3 ou 6 caractères (commençant par #)' tag: - alias_for: alias_for must refer to an existing tag + alias_for: alias_for doit faire référence à une balise existante tag_adjustment: - too_many_tags: 4 tags max per article. - unpermitted: does not have privilege to adjust these tags - not_live: selected for removal is not a current live tag. - unique: can't be an already adjusted tag + too_many_tags: 4 balises maximum par article. + unpermitted: n'a pas le privilège d'ajuster ces balises + not_live: la balise sélectionnée pour la suppression n'est pas une balise active. + unique: ne peut pas être un tag déjà ajusté. tweet: - tweet_not_found: Tweet not found - authentication_error: Authentication error; please contact your Forem admin about possible missing Twitter keys + tweet_not_found: Tweet non trouvé + authentication_error: Erreur d'authentification ; veuillez contacter votre administrateur Forem au sujet d'éventuelles clés Twitter manquantes. user: - could_not_send: confirmation could not be sent. %{e_message} - password_not_matched: doesn't match password confirmation - has_been_banished: has been banished. - is_taken: '%{username} is taken.' - user_could_not_be_saved: User could not be saved. %{e_message} - username_is_reserved: username is reserved + could_not_send: la confirmation n'a pas pu être envoyée. %{e_message} + password_not_matched: ne correspond pas à la confirmation du mot de passe. + has_been_banished : a été banni. + is_taken: '%{username} est pris.' + user_could_not_be_saved: L'utilisateur n'a pas pu être enregistré. %{e_message} + username_is_reserved: Le nom d'utilisateur est réservé. user_block: - cant_be_the_same: can't be the same as the blocked_id + cant_be_the_same: ne peut pas être le même que le blocked_id user_subscription: - non_apple: Can't subscribe with an Apple private relay. Please update email. - source_not_found: Source not found. Please make sure your %{source} is active! - not_enabled: User subscriptions are not enabled for the source. + non_apple: Impossible de s'abonner avec un relais privé Apple. Veuillez mettre à jour l'email. + source_not_found: Source non trouvée. Veuillez vous assurer que votre %{source} est active ! + not_enabled: Les abonnements des utilisateurs ne sont pas activés pour la source. users: deleted_user: name: '[Deleted User]' setting: - invalid_hex: is not a valid hex color - invalid_rss: is not a valid RSS/Atom feed + invalid_hex: n'est pas une couleur hexagonale valide + invalid_rss: n'est pas un flux RSS/Atom valide diff --git a/config/locales/services/fr.yml b/config/locales/services/fr.yml index c913dfc35..87312440c 100644 --- a/config/locales/services/fr.yml +++ b/config/locales/services/fr.yml @@ -2,113 +2,111 @@ fr: services: analytics_service: - no_stats: You can't view this article's stats + no_stats: Vous ne pouvez pas voir les statistiques de cet article. article_with_video_creation_service: - unpublished_video: Unpublished Video ~ %{rand} + unpublished_video: Vidéo non publiée ~ %{rand} authentication: authenticator: - not_allowed: Sorry, but the domain for your email address is not allowed. This Forem may have limited signup to only specified email domains or blocked this specific domain from joining. + not_allowed: Désolé, mais le domaine de votre adresse e-mail n'est pas autorisé. Ce Forem a peut-être limité l'inscription à certains domaines de messagerie ou bloqué l'accès à ce domaine spécifique. providers: apple: name: "%{first} %{last}" - not_available: Provider %{name} is not available! - not_enabled: Provider %{name} is not enabled! + not_available: Le fournisseur %{name} n'est pas disponible ! + not_enabled: Le fournisseur %{name} n'est pas activé ! badges: award_beloved_comment: - message: "You're famous! [This is the comment](%{comment}) for which you're being recognized. 😄" + message: "Vous êtes célèbre ! [C'est le commentaire](%{comment}) pour lequel vous êtes reconnu. 😄" award_streak: - longest: 16 weeks! You've achieved the longest writing streak possible. This makes you eligible for special quests in the future. Keep up the amazing contributions to our community! + longest: 16 semaines ! Vous avez atteint la plus longue série d'écriture possible. Cela vous rend éligible pour des quêtes spéciales à l'avenir. Continuez à apporter votre contribution à notre communauté ! message: - one: "Congrats on achieving this streak! Consistent writing is hard. The next streak badge you can get is the %{count} Week Badge. 😉" - other: "Congrats on achieving this streak! Consistent writing is hard. The next streak badge you can get is the %{count} Week Badge. 😉" + one: "Félicitations pour avoir atteint cet objectif ! Il est difficile d'écrire de façon constante. Le prochain badge que vous pouvez obtenir est le badge %{count} Semaine. 😉" + other: "Félicitations pour avoir atteint cet objectif ! Il est difficile d'écrire de façon constante. Le prochain badge que vous pouvez obtenir est le badge %{count} Semaine. 😉" award_yearly_club: message: - one: Happy %{community} birthday! Can you believe it's been %{count} year already?! - other: Happy %{community} birthday! Can you believe it's been %{count} years already?! - congrats: Congrats!!! - thank_you: Thank you so much for your contributions! + one: Joyeux %{community} anniversaire ! Peux-tu croire que ça fait déjà %{count} an ?! + other: Joyeux %{community} anniversaire ! Peux-tu croire que ça fait déjà %{count} ans ?! + congrats: Félicitations ! + thank_you: Merci beaucoup pour vos contributions ! community_wellness: - first: Thank you for participating in constructive conversation! You posted two or more comments this week. Keep it up to continue the streak! - longest: 32 weeks! You've achieved the longest streak possible for the Community Wellness badge. Amazing job engaging in the community and keep up your amazing contributions to our community! - other: Congrats on achieving a %{weeks} week streak for the Community Wellness Badge! Keep the constructive comments flowing to continue the streak! + first: Merci de participer à une conversation constructive ! Vous avez posté deux commentaires ou plus cette semaine. Continuez comme ça pour poursuivre la série ! + longest: 32 semaines ! Vous avez atteint la plus longue période possible pour l'insigne du bien-être communautaire. Vous avez fait un travail remarquable en vous engageant dans la communauté et continuez à apporter votre contribution à notre communauté ! + other: Félicitations pour avoir atteint une série de %{weeks} semaines pour l'insigne du bien-être communautaire ! Continuez à envoyer des commentaires constructifs pour que la série continue ! broadcasts: welcome_notification: generator: - welcome: 'Welcome Notification: %{key}' + welcome: 'Notification de bienvenue : %{key}' error_messages: clean: - parse_error: There was a problem parsing the front-matter YAML. Perhaps you need to escape a quote or a colon or something. Email %{email} if you are having trouble. + parse_error: Il y a eu un problème pour analyser la matière première YAML. Vous devez peut-être échapper une citation, un deux-points ou autre chose. Envoyez un e-mail à %{email} si vous avez des problèmes. html: parser: - enter_fullscreen_mode: Enter fullscreen mode - exit_fullscreen_mode: Exit fullscreen mode + enter_fullscreen_mode: Passer en mode plein écran + exit_fullscreen_mode: Sortir du mode en plein écran markdown_processor: parser: - invalid_markdown_detected: Invalid markdown detected! + invalid_markdown_detected: Markdown invalide détecté ! moderator: banish_user: - spam_account: spam account + spam_account: compte spam manage_activity_and_roles: - need_super: You need super admin status to take this action + need_super: Vous devez avoir le statut de super administrateur pour effectuer cette action merge_user: - duplicate: The user has duplicate authentication methods on the two accounts. Please double check and delete the identity that the user is no longer using. This is usually the already-deleted social account, or the authentication method tied to the user to be deleted. - multiple: The user being deleted already has two or more authentication methods. Are you sure this is the right user to be deleted? If so, a super admin will need to do this from the console to be safe. - same_user: You cannot merge the same two user IDs + duplicate: L'utilisateur a des méthodes d'authentification en double sur les deux comptes. Veuillez vérifier et supprimer l'identité que l'utilisateur n'utilise plus. Il s'agit généralement du compte social déjà supprimé, ou de la méthode d'authentification liée à l'utilisateur à supprimer. + multiple: L'utilisateur à supprimer possède déjà deux méthodes d'authentification ou plus. Êtes-vous sûr qu'il s'agit du bon utilisateur à supprimer ? Si oui, un super administrateur devra le faire à partir de la console pour être sûr. + same_user: Vous ne pouvez pas fusionner les deux mêmes identifiants d'utilisateur. notifications: new_comment: - new: "💬 New Comment" + new: "💬 Nouveau commentaire" new_mention: - new: "🗣️ New Mention" + new: "🗣️ Nouvelle mention" payments: customer: usd: usd errors: - select_payment_method: "Please choose a payment method" + select_payment_method: "Veuillez choisir un mode de paiement" process_credit_purchase: charge: - one: Purchase of %{count} credits. - other: Purchase of %{count} credits. + one: Achat de %{count} crédit. + other: Achat de %{count} crédits. rate_limit_checker: - invalid_key: 'Invalid Cache Key: no unique component present' + invalid_key: 'Clé de cache non valide : aucun composant unique présent' limit_reached: - one: Rate limit reached, try again in %{count} seconds - other: Rate limit reached, try again in %{count} seconds + one: Limite de débit atteinte, réessayer dans %{count} seconde + other: Limite de débit atteinte, réessayer dans %{count} secondes slack: messengers: article_fetched_feed: body: | - New Article Retrieved via RSS: %{title} + Nouvel article récupéré via RSS : %{title} %{url} article_published: body: | - New Article Published: %{title} + Nouvel article publié : %{title} %{url} feedback: - anonymous_report: "*Anonymous report:" + anonymous_report: "*Rapport anonyme :" final_message: |- %{user_detail} - Category: %{category} - Internal Report: %{reports_url} - *_ Reported URL: %{reported_url} _* + Categorie : %{category} + Rapport interne : %{reports_url} + *_ URL signalée : %{reported_url} _* ----- - *Message:* %{message} + *Message :* %{message} body: | - *Logged in user:* + *Utilisateur connecté :* reporter: %{username} - %{url} email: potential_spammer: - body: 'Potential spam user! %{url} - - ' + body: 'Utilisateur potentiel de spam ! %{url}' spam: article_handler: - suspended_too_many: User suspended for too many spammy articles, triggered by autovomit. + suspended_too_many: Utilisateur suspendu pour trop d'articles spam, déclenché par autovomit. user_subscriptions: create_from_controller_params: - source_not_found: Source not found. - email_mismatch: Subscriber email mismatch. + source_not_found: Source non trouvée. + email_mismatch: L'email de l'abonné ne correspond pas. users: remove_role: - remove_self: Admins cannot remove roles from themselves. - remove_super: Super Admin roles cannot be removed. - error: There was an issue removing this role. %{e_message} + remove_self: Les administrateurs ne peuvent pas se retirer des rôles. + remove_super: Les rôles de Super Admin ne peuvent pas être supprimés. + error: Un problème est survenu lors de la suppression de ce rôle. %{e_message} diff --git a/config/locales/utils/fr.yml b/config/locales/utils/fr.yml index 9a51eb20f..7dff758c5 100644 --- a/config/locales/utils/fr.yml +++ b/config/locales/utils/fr.yml @@ -2,13 +2,13 @@ fr: xml: opensearch: - short_name: "%{community} Search" - description: Find posts from %{community}. + short_name: "%{community} Recherche" + description: Retrouvez les messages de %{community}. user: - image: "%{user} profile image" + image: "%{user} image de profil" json: - author: Active %{community} author + author: Auteur actif de la %{community} mailer: - adjust: Adjust your email settings - adjust_only_html: Don't want to get emails like this? Adjust your email settings at %{path} - unsubscribe: Unsubscribe + adjust: Ajustez vos paramètres de messagerie + adjust_only_html: Vous ne voulez pas recevoir d'e-mails comme celui-ci ? Réglez vos paramètres de messagerie à l'adresse %{path} + unsubscribe: Se désabonner diff --git a/config/locales/validators/fr.yml b/config/locales/validators/fr.yml index cb8bf4be8..88c22376c 100644 --- a/config/locales/validators/fr.yml +++ b/config/locales/validators/fr.yml @@ -2,16 +2,16 @@ fr: validators: bytesize_validator: - non_negative: ":maximum must be a non-negative Integer" + non_negative: ": Le maximum doit être un nombre entier non négatif." color_contrast_validator: - must_be_darker: must be darker for accessibility + must_be_darker: doit être plus sombre pour l'accessibilité emoji_only_validator: - invalid_emoji: contains non-emoji characters or invalid emoji + invalid_emoji: contient des caractères non emoji ou des emoji invalides existing_published_article_id_validator: - default: must be a valid published Article identifier + default: doit être un identifiant d'article publié valide profile_validator: - bio_too_long: Bio is too long + bio_too_long: La biographie est trop longue unique_cross_model_slug_validator: - is_taken: is taken + is_taken: est déjà pris valid_domain_csv_validator: - invalid_list_format: must be a comma-separated list of valid domains + invalid_list_format: doit être une liste de domaines valides, séparés par des virgules. diff --git a/config/locales/views/moderations/fr.yml b/config/locales/views/moderations/fr.yml index f912359d4..a0aeff371 100644 --- a/config/locales/views/moderations/fr.yml +++ b/config/locales/views/moderations/fr.yml @@ -2,150 +2,150 @@ fr: views: moderations: - heading: Mod Center + heading: Centre de modération actions: meta: - title: Moderating %{title} - title2: '[Moderate] %{title}' - heading: Moderate Post - subtitle: Rate the quality of this post + title: Modérer %{title} + title2: '[Modérer] %{title}' + heading: Modérer l'article + subtitle: Évaluer la qualité de cet article abusive: - subtitle_html: Flag %{user} as Abusive - desc_html: This is the equivalent of flagging all of this user's posts and will lower their post scores. + subtitle_html: Signaler %{user} comme abusif + desc_html: Cela équivaut à marquer tous les messages de cet utilisateur et fera baisser son score de messages. adjust: - heading: Adjust tags - subtitle: Add or remove tags - aria_label: Open adjust tags section - icon: Adjust tags - add: Add tag - add_placeholder: Add a tag - reason: Reason for tag adjustment (optional) - remove: Remove tag - submit: Submit + heading: Ajuster les étiquettes + subtitle: Ajouter ou supprimer des étiquettes + aria_label: Ouvrir la section "Ajuster les étiquettes". + icon: Ajuster les étiquettes + add: Ajouter une étiquette + add_placeholder: Ajouter une étiquette + reason: Raison de l'ajustement de l'étiquette (optionnel) + remove: Retirer l'étiquette + submit: Soumettre approve: - add: Mark as approved - remove: Remove approval - checkmark: Checkmark - close: Close moderator actions panel + add: Marquer comme approuvé + remove: Retirer l'approbation + checkmark: Cocher la case + close: Fermer le panneau d'actions du modérateur delete: - subtitle: Delete This Comment - button: Delete Comment + subtitle: Supprimer ce commentaire + button: Supprimer le commentaire edit: - post: Edit Post + post: Editer le message article_admin: Admin:Article - comment_admin: Admin:Comment - user_admin: Admin:User + comment_admin: Admin:Commentaire + user_admin: Admin:Utilisateur resource_admin: ResourceAdmin:Article errors: - one: '1 error prohibited this block from being saved:' - other: '%{count} errors prohibited this block from being saved:' + one: '1 erreur a empêché la sauvegarde de ce bloc :' + other: '%{count} erreurs ont empêché la sauvegarde de ce bloc. :' experience: - heading: Set experience level - heading2: Experience Level of Post - subtitle: Curate the most appropriate audience for this post - aria_label: Open experience level section - icon: Book - desc_html: Who might find this post most valuable, based on overall experience level? + heading: Définir le niveau d'expérience + heading2: Niveau d'expérience de l'article + subtitle: Déterminer le public le plus approprié pour cet article + aria_label: Ouvrir la section des niveaux d'expérience + icon: Livre + desc_html: Qui pourrait trouver cet article le plus intéressant, en fonction du niveau d'expérience global ? from: '%{lvl} - ' level: - Advanced: Advanced - Beginner: Beginner + Advanced: Avancé + Beginner: Débutant Expert: Expert - Mid-level: Mid-level + Mid-level: Niveau intermédiaire Novice: Novice admin: - heading: Moderating actions - heading2: Moderating actions for %{user} - subtitle: Moderating actions for %{user} - aria_label: Open admin actions - icon: Crown - flag: Flag %{username} - unflag: Unflag %{username} - how: How does this work? + heading: Actions de modération + heading2: Actions de modération pour %{user} + subtitle: Actions de modération pour %{user} + aria_label: Ouvrir les actions d'administration + icon: Couronne + flag: Signaler %{username} + unflag: Retirer le signalement de %{username} + how: Comment cela fonctionne-t-il ? hidden: - subtitle: Hidden Comments - by: Comment by %{user} + subtitle: Commentaires cachés + by: Commentaire de %{user} hint: - subtitle: All negative reactions are private. + subtitle: Toutes les réactions négatives sont privées. desc_html: |- - Use High Quality to move this content "up" for any reason (quality, usefulness, etc.). + Utilisez Haute qualité pour déplacer ce contenu "vers le haut" pour une raison quelconque (qualité, utilité, etc.)..
- Use Low Quality to move this content "down" for any reason (quality, usefulness, etc.). + Utilisez Faible qualité pour déplacer ce contenu "vers le bas" pour une raison quelconque (qualité, utilité, etc.).
- Use Flag to Admins for code of conduct violations (harassment, being a jerk, spam, etc.). - other: Other things you can do + Utilisez Signaler aux admins pour les violations du code de conduite (harcèlement, être un abruti, spam, etc.). + other: Autres choses que vous pouvez faire suspend: - suspend_title: Suspend %{username} - suspend_user: Suspend %{username} - suspend_modal_text: Once suspended, %{username} will not be able to comment or publish posts until their suspension is removed. - suspend_modal_button: Submit & Suspend - unsuspend_title: Unsuspend %{username} - unsuspend_user: Unsuspend %{username} - unsuspend_modal_text: Once unsuspended, %{username} will be able to comment and publish posts again. - unsuspend_modal_button: Submit & Unsuspend - suspicious: Suspicious + suspend_title: Suspendre %{username} + suspend_user: Suspendre %{username} + suspend_modal_text: Une fois suspendu, %{username} ne pourra plus commenter ni publier de messages jusqu'à ce que sa suspension soit levée. + suspend_modal_button: Soumettre et suspendre + unsuspend_title: Retirer la suspension %{username} + unsuspend_user: Retirer la suspension %{username} + unsuspend_modal_text: Une fois la suspension levée, %{username} pourra à nouveau commenter et publier des messages. + unsuspend_modal_button: Soumettre et lever la suspension + suspicious: Suspicieux tag: - subtitle: Tag Adjustments - add: Add - added_html: 'Currently added tag: %{tag}' - live_html: 'Current live tags: %{tags}' - reason: Reason for adjustment (Be super kind) - Only the reason is needed, the notification will take care of the rest. - remove: Remove - removed_html: 'Currently removed tag: %{tag}' - select: Select Tag - submit: Submit Tag Adjustment - tag_name: Tag Name + subtitle: Ajustements des étiquettes + add: Ajouter + added_html: 'Etiquette actuellement ajoutée : %{tag}' + live_html: 'Etiquettes actuelles : %{tags}' + reason: Raison de l'ajustement (soyez très aimable) - Seule la raison est nécessaire, la notification s'occupe du reste. + remove: Retirer + removed_html: 'Étiquette actuellement supprimée : %{tag}' + select: Sélectionnez une étiquette + submit: Soumettre l'ajustement des étiquettes + tag_name: Nom de l'étiquette undo: button: '×' - confirm: Are you sure you want to undo the %{type} of the %{tag} tag? + confirm: Êtes-vous sûr de vouloir annuler le %{type} de l'étiquette %{tag} ? type: - addition: addition - removal: removal - thumb_down: Thumb down - thumb_up: Thumb up - toggle: Toggle section - feature: Feature Post - unfeature: Unfeature Post - unpublish: Unpublish Post + addition: ajout + removal: suppression + thumb_down: Pouce vers le bas + thumb_up: Le pouce en l'air + toggle: Basculer la section + feature: Article mis en avant + unfeature: Retirer la mise en avant de l'article + unpublish: Retirer la publication de l'article unpublish_all: - title: Unpublish all posts - button: Unpublish all posts for %{username} - modal_text1: Once unpublished, all posts by %{username} will become hidden and only accessible to themselves. - modal_text2: If %{username} is not suspended, they can still re-publish their posts from their dashboard. - modal_button: Unpublish all posts + title: Dépublier tous les articles + button: Dépublier tous les articles pour %{username} + modal_text1: Une fois dépubliés, tous les articles de %{username} seront cachés et ne seront accessibles qu'à eux-mêmes. + modal_text2: Si %{username} n'est pas suspendu, il peut toujours republier ses articles depuis son tableau de bord. + modal_button: Dépublier tous les articles unpublish_post: - modal_text1: Once unpublished, this post will become invisible to the public and only accessible to %{username}. - modal_text2: They can still re-publish the post if they are not suspended. - vote_down: Low Quality - flag_to_admins: Flag to Admins - vote_up: High Quality + modal_text1: Une fois dépublié, cet article sera invisible pour le public et accessible uniquement à %{username}. + modal_text2: Ils peuvent toujours republier l'article tant qu'ils ne sont pas suspendus. + vote_down: Faible qualité + flag_to_admins: Signaler aux admins + vote_up: Haute qualité featured_past_day: - one: '%{count} post from the past day is featured.' - other: '%{count} posts from the past day are featured.' - all: All topics + one: '%{count} des articles de la journée précédente sont mis en avant.' + other: '%{count} des articles de la journée précédente sont mis en avant.' + all: Tous les sujets aside: - all: All topics - code_of_conduct: Code of Conduct - external: External link + all: Tous les sujets + code_of_conduct: Code de conduite + external: Lien externe feedback: - subtitle: Have feedback to improve your Mod experience? - description: Please email %{email}! - hello: 'Hello! 👋' - thanks: Thank you for helping to keep %{community} safe! ❤️ - inbox: Inbox - resources: Resources - tag: Tag Moderation Guide - terms_and_conditions: Terms & Conditions - trusted: Trusted User Guide - author: Author + subtitle: Vous avez des commentaires à formuler pour améliorer votre expérience du Mod ? + description: Veuillez envoyer un e-mail à %{email} ! + hello: 'Bonjour ! 👋' + thanks: Merci de nous aider à garder la %{community} en lieu sûr ! ❤️ + inbox: Boîte de réception + resources: Ressources + tag: Guide de modération des étiquettes + terms_and_conditions: Conditions générales d'utilisation + trusted: Guide de l'utilisateur de confiance + author: Auteur date: Date notice: subtitle: '%{community} Mods' - desc1_html: We periodically award some %{community} members with heightened privileges to help moderate the community. - desc2_html: Check out our %{code} and read through our %{trusted} and %{tag}. - desc3_html: If you'd like to assist us as a trusted user or tag mod, please email us at %{email} and let us know which role you're interested in and why. If it's tag moderation, please tell us what tags you'd like to moderate for. - desc4: P.S. You are not currently signed in. - code_of_conduct: Code of Conduct - tag: Tag Moderation Guide - trusted: Trusted User Guide - post: Post + desc1_html: Nous accordons périodiquement à certains membres de la %{community} des privilèges accrus afin de contribuer à la modération de la communauté. + desc2_html: Vérifiez notre %{code} et lisez nos %{trusted} et %{tag}. + desc3_html: Si vous souhaitez nous aider en tant qu'utilisateur de confiance ou modérateur d'étiquettes, veuillez nous envoyer un e-mail à %{email} et nous indiquer le rôle qui vous intéresse et pourquoi. S'il s'agit de la modération d'étiquettes, veuillez nous dire quelles étiquettes vous aimeriez modérer. + desc4: P.S. Vous n'êtes pas actuellement connecté. + code_of_conduct: Code de conduite + tag: Guide de modération des étiquettes + trusted: Guide de l'utilisateur de confiance + post: Article