diff --git a/app/javascript/images/cloud2.png b/app/javascript/images/cloud2.png
deleted file mode 100644
index f325ca6de0..0000000000
Binary files a/app/javascript/images/cloud2.png and /dev/null differ
diff --git a/app/javascript/images/cloud3.png b/app/javascript/images/cloud3.png
deleted file mode 100644
index ab194d0b85..0000000000
Binary files a/app/javascript/images/cloud3.png and /dev/null differ
diff --git a/app/javascript/images/cloud4.png b/app/javascript/images/cloud4.png
deleted file mode 100644
index 98323f5a27..0000000000
Binary files a/app/javascript/images/cloud4.png and /dev/null differ
diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json
index c3e7432591..fc33052b1d 100644
--- a/app/javascript/mastodon/locales/fr.json
+++ b/app/javascript/mastodon/locales/fr.json
@@ -18,12 +18,12 @@
"account.unfollow": "Ne plus suivre",
"account.unmute": "Ne plus masquer",
"boost_modal.combo": "Vous pouvez appuyer sur {combo} pour pouvoir passer ceci, la prochaine fois",
- "bundle_column_error.body": "Something went wrong while loading this component.",
- "bundle_column_error.retry": "Try again",
- "bundle_column_error.title": "Network error",
- "bundle_modal_error.close": "Close",
- "bundle_modal_error.message": "Something went wrong while loading this component.",
- "bundle_modal_error.retry": "Try again",
+ "bundle_column_error.body": "Une erreur s'est produite lors du chargement de ce composant.",
+ "bundle_column_error.retry": "Réessayer",
+ "bundle_column_error.title": "Erreur réseau",
+ "bundle_modal_error.close": "Fermer",
+ "bundle_modal_error.message": "Une erreur s'est produite lors du chargement de ce composant.",
+ "bundle_modal_error.retry": "Réessayer",
"column.blocks": "Comptes bloqués",
"column.community": "Fil public local",
"column.favourites": "Favoris",
@@ -55,8 +55,8 @@
"confirmations.domain_block.message": "Êtes-vous vraiment, vraiment sûr⋅e de vouloir bloquer {domain} en entier ? Dans la plupart des cas, quelques blocages ou masquages ciblés sont suffisants et préférables.",
"confirmations.mute.confirm": "Masquer",
"confirmations.mute.message": "Confirmez vous le masquage de {name} ?",
- "confirmations.unfollow.confirm": "Unfollow",
- "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
+ "confirmations.unfollow.confirm": "Ne plus suivre",
+ "confirmations.unfollow.message": "Vous voulez-vous arrêter de suivre {name} ?",
"emoji_button.activity": "Activités",
"emoji_button.flags": "Drapeaux",
"emoji_button.food": "Boire et manger",
@@ -111,8 +111,8 @@
"notifications.column_settings.favourite": "Favoris :",
"notifications.column_settings.follow": "Nouveaux⋅elles abonn⋅é⋅s :",
"notifications.column_settings.mention": "Mentions :",
- "notifications.column_settings.push": "Push notifications",
- "notifications.column_settings.push_meta": "This device",
+ "notifications.column_settings.push": "Notifications push",
+ "notifications.column_settings.push_meta": "Cet appareil",
"notifications.column_settings.reblog": "Partages :",
"notifications.column_settings.show": "Afficher dans la colonne",
"notifications.column_settings.sound": "Émettre un son",
@@ -151,7 +151,7 @@
"report.target": "Signalement",
"search.placeholder": "Rechercher",
"search_results.total": "{count, number} {count, plural, one {résultat} other {résultats}}",
- "standalone.public_title": "A look inside...",
+ "standalone.public_title": "Coup d'oeil",
"status.cannot_reblog": "Cette publication ne peut être boostée",
"status.delete": "Effacer",
"status.favourite": "Ajouter aux favoris",
diff --git a/app/javascript/styles/about.scss b/app/javascript/styles/about.scss
index 5716163be7..687c12fac8 100644
--- a/app/javascript/styles/about.scss
+++ b/app/javascript/styles/about.scss
@@ -384,7 +384,7 @@
top: 0;
left: 0;
- img {
+ div {
position: absolute;
transition: all 0.1s linear;
animation-name: floating;
@@ -396,23 +396,29 @@
}
.float-1 {
+ width: 324px;
height: 170px;
right: -120px;
bottom: 0;
+ background-image: url('data:image/svg+xml;utf8,');
}
.float-2 {
+ width: 241px;
height: 100px;
right: 210px;
bottom: 0;
animation-delay: 0.2s;
+ background-image: url('data:image/svg+xml;utf8,');
}
.float-3 {
+ width: 267px;
height: 140px;
right: 110px;
top: -30px;
animation-delay: 0.1s;
+ background-image: url('data:image/svg+xml;utf8,');
}
}
diff --git a/app/services/notify_service.rb b/app/services/notify_service.rb
index a44df51803..ca53c61c50 100644
--- a/app/services/notify_service.rb
+++ b/app/services/notify_service.rb
@@ -21,7 +21,7 @@ class NotifyService < BaseService
end
def blocked_favourite?
- @recipient.muting?(@notification.from_account)
+ false
end
def blocked_follow?
@@ -41,6 +41,7 @@ class NotifyService < BaseService
blocked ||= @recipient.id == @notification.from_account.id # Skip for interactions with self
blocked ||= @recipient.domain_blocking?(@notification.from_account.domain) && !@recipient.following?(@notification.from_account) # Skip for domain blocked accounts
blocked ||= @recipient.blocking?(@notification.from_account) # Skip for blocked accounts
+ blocked ||= @recipient.muting?(@notification.from_account) # Skip for muted accounts
blocked ||= (@notification.from_account.silenced? && !@recipient.following?(@notification.from_account)) # Hellban
blocked ||= (@recipient.user.settings.interactions['must_be_follower'] && !@notification.from_account.following?(@recipient)) # Options
blocked ||= (@recipient.user.settings.interactions['must_be_following'] && !@recipient.following?(@notification.from_account)) # Options
diff --git a/app/views/about/show.html.haml b/app/views/about/show.html.haml
index 0af47bde36..999d1e37b6 100644
--- a/app/views/about/show.html.haml
+++ b/app/views/about/show.html.haml
@@ -38,9 +38,9 @@
.container.hero
.floats
- = image_tag asset_pack_path('cloud2.png'), alt: '', role: 'presentation', class: 'float-1'
- = image_tag asset_pack_path('cloud3.png'), alt: '', role: 'presentation', class: 'float-2'
- = image_tag asset_pack_path('cloud4.png'), alt: '', role: 'presentation', class: 'float-3'
+ %div{ role: 'presentation', class: 'float-1' }
+ %div{ role: 'presentation', class: 'float-2' }
+ %div{ role: 'presentation', class: 'float-3' }
.heading
%h1
= @instance_presenter.site_title
diff --git a/config/locales/fr.yml b/config/locales/fr.yml
index 65e681b205..7ba9e2525e 100644
--- a/config/locales/fr.yml
+++ b/config/locales/fr.yml
@@ -1,17 +1,30 @@
---
fr:
about:
- about_mastodon: Mastodon est un serveur libre de réseautage social. Alternative décentralisée aux plateformes commerciales, la monopolisation de vos communications par une entreprise unique est évitée. Tout un chacun peut faire tourner Mastodon et participer au réseau social de manière transparente.
- about_this: À propos de cette instance
+ about_mastodon_html: Mastodon est un réseau social utilisant des formats ouverts et des logiciels libres. Comme le courriel, il est décentralisé.
+ about_this: À propos
business_email: Courriel professionnel
- closed_registrations: Les inscriptions sont actuellement fermées sur cette instance.
+ closed_registrations: Les inscriptions sont actuellement fermées sur cette instance. Cependant, vous pouvez trouver une autre instance sur laquelle vous créer un compte et à partir de laquelle vous pourrez accéder au même réseau.
contact: Contact
description_headline: Qu’est-ce que %{domain} ?
domain_count_after: autres instances
domain_count_before: Connectés à
+ features:
+ humane_approach_body: Ayant appris des échecs d’autres réseaux, Mastodon à l’ambition de combattre l’abus des médias sociaux en effectuant des choix de conception éthiques.
+ humane_approach_title: Une approche plus humaine
+ not_a_product_body: Mastodon n’est pas un réseau commercial. Ici, pas de publicités, pas de prospection de données et pas d’environnement fermés. Il n’y existe aucune autorité centrale.
+ not_a_product_title: Vous êtes une personne, pas un produit
+ real_conversation_body: Avec 500 caractères à votre dispostion, une grande granularité en terme de diffusion et la possibilité de masquer vos messages derrières des avertissements, vous êtes libre de vous exprimer de la manière qui vous plaît.
+ real_conversation_title: Construit pour de vraies conversations
+ within_reach_body: Grâce à l’existence d’un environnement API accueillant pour les développeur·se·s, de multiples applications pour iOS, Android et d’autres plateformes vous permettent de rester en contact avec vos ami·e·s où que vous soyez.
+ within_reach_title: Toujours à portée de main
+ find_another_instance: Trouver une autre instance
+ generic_description: "%{domain} est seulement un serveur du réseau"
get_started: Rejoindre le réseau
+ hosted_on: Instance Mastodon hébergée par %{domain}
+ learn_more: En savoir plus
links: Liens
- other_instances: Autres instances
+ other_instances: Liste des instances
source_code: Code source
status_count_after: posts
status_count_before: Ayant publié
@@ -19,6 +32,7 @@ fr:
user_count_after: utilisateur⋅ice⋅s
user_count_before: Abrite
version: Version
+ what_is_mastodon: Qu’est-ce que Mastodon ?
accounts:
follow: Suivre
followers: Abonné⋅es
@@ -151,16 +165,41 @@ fr:
closed_message:
desc_html: Affiché sur la page d’accueil lorsque les inscriptions sont fermées
Vous pouvez utiliser des balises HTML
title: Message de fermeture des inscriptions
+ deletion:
+ desc_html: Permettre à tou·te·s les utilisateur·rice·s de supprimer leur compte
+ title: Autoriser les suppressions de compte
open:
- title: Inscriptions
+ desc_html: Autoriser tout le monde à créer un compte
+ title: Ouvrir les inscriptions
site_description:
desc_html: Affichée sous la forme d’un paragraphe sur la page d’accueil et utilisée comme balise meta.
Vous pouvez utiliser des balises HTML, en particulier <a>
et <em>
.
title: Description du site
site_description_extended:
desc_html: Affichée sur la page d’informations complémentaires du site
Vous pouvez utiliser des balises HTML
title: Description étendue du site
+ site_terms:
+ desc_html: Affichée sur la page des conditions d’utilisation du site
Vous pouvez utiliser des balises HTML
+ title: Politique de confidentialité
site_title: Titre du site
+ timeline_preview:
+ desc_html: Afficher le fil public sur la page d’accueil
+ title: Prévisualisation du fil global
title: Paramètres du site
+ statuses:
+ back_to_account: Retour à la page du compte
+ batch:
+ delete: Supprimer
+ nsfw_off: NSFW OFF
+ nsfw_on: NSFW ON
+ execute: Exécuter
+ failed_to_execute: Erreur d'exécution
+ media:
+ hide: Masquer les médias
+ show: Montrer les médias
+ title: Médias
+ no_media: Aucun média
+ title: État du compte
+ with_media: avec médias
subscriptions:
callback_url: URL de rappel
confirmed: Confirmé
@@ -180,6 +219,7 @@ fr:
applications:
invalid_url: L’URL fournie est invalide
auth:
+ agreement_html: En vous inscrivant, vous souscrivez à nos conditions d’utilisation ainsi qu’à notre politique de confidentialité.
change_password: Sécurité
delete_account: Supprimer le compte
delete_account_html: Si vous désirez supprimer votre compte, vous pouvez cliquer ici. Il vous sera demandé de confirmer cette action.
@@ -194,6 +234,12 @@ fr:
authorize_follow:
error: Malheureusement, il y a eu une erreur en cherchant les détails du compte distant
follow: Suivre
+ follow_request: 'Vous avez demandé à suivre:'
+ following: 'Youpi! Vous suivez :'
+ post_follow:
+ close: Ou bien, vous pouvez fermer cette fenêtre.
+ return: Retour au profil de l'utilisateur⋅trice
+ web: Retour à l'interface web
prompt_html: 'Vous (%{self}) avez demandé à suivre :'
title: Suivre %{acct}
datetime:
@@ -270,7 +316,7 @@ fr:
landing_strip_signup_html: Si ce n’est pas le cas, vous pouvez en créer un ici.
media_attachments:
validations:
- images_and_video: Impossible de joindre une vidéo à un statut contenant déjà des images
+ images_and_video: Impossible de joindre une vidéo à un status contenant déjà des images
too_many: Impossible de joindre plus de 4 fichiers
notification_mailer:
digest:
@@ -293,13 +339,28 @@ fr:
subject: 'Abonné⋅es en attente : %{name}'
mention:
body: "%{name} vous a mentionné⋅e dans :"
- subject: "%{name} vous a mentionné⋅e"
+ subject: "%{name} vous a mentionné"
reblog:
- body: "%{name} a partagé votre statut :"
- subject: "%{name} a partagé votre statut"
+ body: "%{name} a partagé votre status :"
+ subject: "%{name} a partagé votre status"
pagination:
next: Suivant
prev: Précédent
+ push_notifications:
+ favourite:
+ title: "%{name} à mis votre status en favori"
+ follow:
+ title: "%{name} vous suit"
+ mention:
+ action_boost: Partager
+ action_expand: Montrer plus
+ action_favourite: Ajouter aux favoris
+ title: "%{name} vous a mentionné"
+ reblog:
+ title: "%{name} a partagé⋅e votre status"
+ subscribed:
+ body: Vous pouvez désormais recevoir des notifications push.
+ title: Abonnements aux notifications push
remote_follow:
acct: Entrez votre pseudo@instance depuis lequel vous voulez suivre ce⋅tte utilisateur⋅trice
missing_resource: L’URL de redirection n’a pas pu être trouvée
@@ -341,6 +402,8 @@ fr:
windows: Windows
windows_mobile: Windows Mobile
windows_phone: Windows Phone
+ revoke: Révoquer
+ revoke_success: Session révoquée avec succès
title: Sessions
settings:
authorized_apps: Applications autorisées
@@ -368,6 +431,72 @@ fr:
click_to_show: Cliquer pour afficher
reblogged: partagé
sensitive_content: Contenu sensible
+ terms:
+ body_html: |
+
Nous collectons des données lorsque vous vous enregistrez sur notre site et les récoltons lorsque vous participez dans le forum en lisant, écrivant, et évaluant le contenu partagé ici.
+ +Lors de l'enregistrement sur notre site, il peut vous être demandé de renseigner votre nom et adresse e-mail. Vous pouvez, cependant, visiter notre site sans inscription. Votre adresse e-mail devra être vérifiée grâce à un e-mail contenant un lien unique. Si ce lien est visité, nous savons que vous contrôlez cette adresse e-mail.
+ +Lors de l'inscription et de la publication de statuts, nous enregistrons l'adresse IP de laquelle le(s) status viennent. Nous pouvons également conserver des historiques serveurs qui contiendront l'adresse IP de chaque requête adressée à notre serveur.
+ +Toute information que nous collectons pourra être utilisée d'une des manières suivantes :
+ +Nous appliquons une multitude de mesures afin de maintenir la sécurité de vos données personnelles lorsque vous entrez, soumettez, ou accédez à ces dernières.
+ +Nous nous efforçons de:
+ +Oui. Les cookies sont de petits fichiers qu'un site ou prestataires de services transfèrent sur le disque dur de votre ordinateur par le biais de votre navigateur Web (si ce dernier le permet). Ces cookies permettent au site de reconnaître votre navigateur et, si vous disposez d'un compte, l'associer à votre compte.
+ +Nous utilisons les cookies pour enregistrer vos préférences pour de futures visites, compiler des données agrégées à propos du trafic et des interactions effectuées sur le site afin de proposer une meilleure expérience dans le futur. Nous pouvons contracter les services d'acteurs tiers afin de nous aider à mieux comprendre les visiteurs de notre site. Ces acteurs ont l'autorisation d'utiliser ces données seulement à des fins d'améliorations.
+ +Nous n'échangeons pas, ne vendons pas ni effectuons de quelconques transferts avec des acteurs tiers d'informations permettant de vous identifier personnellement. Cela n'inclut pas les acteurs de confiance qui nous aident à gérer notre entreprise et à vous servir tant que ces acteurs s'accordent à garder lesdites informations confidentielles. Nous pouvons être amenés à délivrer vos informations lorsque jugé adéquat afin de respecter la loi, d'appliquer la politique de notre site, ou afin de protéger nos droits, ceux des autres, notre propriété ou sécurité. Cependant, aucune information permettant l'identification de nos visiteurs ne sera divulguée à des fins publicitaires, commerciales ou tout autre usage.
+ +Nous pouvons être amenés à inclure ou offrir les services ou produits d'acteurs tiers sur notre site. Ces acteurs tiers possèdent leur propre politique de confidentialité. Nous ne sommes donc pas responsables du contenu ou activités desdits acteurs. Néanmoins, nous cherchons à protéger l'intégrité de notre site et sommes ouverts à toute remarque concernant ces acteurs.
+ +Notre site, nos produits et services sont tous dirigés à l'usage de personnes étant âgés de 13 ans ou plus. Si ce serveur est hébergé aux États-Unis et que vous êtes âgé⋅e de moins de 13 ans, au vu du COPPA (Children's Online Privacy Protection Act) n'utilisez pas ce site.
+ +En utilisant notre site, vous consentez à la politique de confiedentialité de notre site Web.
+ +Si nous décidons d'apporter des changements à notre politique de confidentialité, nous les mettrons à disposition sur cette page.
+ +Ce document est distribué sous licence CC-BY-SA. Il a été mis à jour pour la dernière fois le 31 Mai 2013. Il a été traduit en français en Juillet 2017.
+ +Originellement adapté à partir de la politique de confidentialité de Discourse
. + title: "%{instance} Conditions d'utilisations et Politique de confidentialité" time: formats: default: "%d %b %Y, %H:%M"