diff --git a/app/javascript/images/cloud2.png b/app/javascript/images/cloud2.png deleted file mode 100644 index f325ca6de..000000000 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 ab194d0b8..000000000 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 98323f5a2..000000000 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 c3e743259..fc33052b1 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 5716163be..687c12fac 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 a44df5180..ca53c61c5 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 0af47bde3..999d1e37b 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 65e681b20..7ba9e2525 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: | +

Politique de confidentialité

+ +

Quelles données collectons-nous?

+ +

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.

+ +

Que faisons-nous avec vos données?

+ +

Toute information que nous collectons pourra être utilisée d'une des manières suivantes :

+ + + +

Comment protégeons-nous vos données?

+ +

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.

+ +

Quelle est notre politique de conservation des données?

+ +

Nous nous efforçons de:

+ + + +

Utilisons nous des "cookies"?

+ +

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.

+ +

Divulguons-nous des données à des acteurs tiers ?

+ +

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.

+ +

Liens vers des acteurs tiers

+ +

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.

+ +

Children's Online Privacy Protection Act

+ +

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.

+ +

Changements de notre politique de confidentialité

+ +

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"