diff --git a/src/v2/guide/components-slots.md b/src/v2/guide/components-slots.md
index ac5cca7119..d14beeffaa 100644
--- a/src/v2/guide/components-slots.md
+++ b/src/v2/guide/components-slots.md
@@ -1,24 +1,23 @@
---
-title: Slots (EN)
+title: Slots
type: guide
order: 104
---
-> This page assumes you've already read the [Components Basics](components.html). Read that first if you are new to components.
+> Cette page suppose que vous avez déjà lu les principes de base des [composants](components.html). Lisez-les en premier si les composants sont quelque chose de nouveau pour vous.
-## Slot Content
+## Les « Slot content » ou « Contenu de slot »
-
Vue implements a content distribution API that's modeled after the current [Web Components spec draft](https://github.com/w3c/webcomponents/blob/gh-pages/proposals/Slots-Proposal.md), using the `` element to serve as distribution outlets for content.
-
-This allows you to compose components like this:
+Vue implémente une API de distribution de contenu inspirée du [Brouillon de spécification des WebComponents](https://github.com/w3c/webcomponents/blob/gh-pages/proposals/Slots-Proposal.md) utilisant l'élément `` comme zone de distribution de contenu.
+Cela vous permet de composer vos composants ainsi :
``` html
- Your Profile
+ Mon profil
```
-Then in the template for ``, you might have:
+Dans le template ``, nous aurons :
``` html
`, you might have:
```
-When the component renders, the `` element will be replaced by "Your Profile". Slots can contain any template code, including HTML:
+Lors du cycle de rendu du composant, l'élément `` est remplacé par « Mon profil ». Les éléments `` peuvent contenir n'importe quel code de template, incluant le HTML :
``` html
-
+
- Your Profile
+ Mon profil
```
-Or even other components:
+Ou encore faire appel à d'autres composants :
``` html
-
+
- Your Profile
+ Mon profil
```
-If `` did **not** contain a `` element, any content passed to it would simply be discarded.
+Si `` ne contient **pas** d'élément ``, le contenu enfant sera simplement ignoré.
-## Named Slots
+## Les Slots nommés
-There are times when it's useful to have multiple slots. For example, in a hypothetical `base-layout` component with the following template:
+Dans certains cas, il peut être intéressant d'avoir plusieurs éléments ``. Dans un exemple hypothétique, voici le template d'un composant ``:
``` html
-
+
-
+
```
-For these cases, the `` element has a special attribute, `name`, which can be used to define additional slots:
+Dans le cas suivant, l'élément `` à un l'attribut spécial `name` , qui peut être utilisé pour désigner des slots additionnels :
``` html
@@ -85,86 +84,86 @@ For these cases, the `` element has a special attribute, `name`, which can
```
-To provide content to named slots, we can use the `slot` attribute on a `` element in the parent:
+Afin de distribuer le contenu dans les éléments `` appropriés, il suffit d'utiliser l'attribut réservé `slot` sur un élément `` du composant parent :
```html
-
Here might be a page title
+
Le titre de ma page
-
A paragraph for the main content.
-
And another one.
+
Un paragraphe pour le slot par défaut.
+
Un autre paragraphe.
-
Here's some contact info
+
Ici les infos de contact
```
-Or, the `slot` attribute can also be used directly on a normal element:
+Ou utiliser l'attribut `slot` directement sur un élément normal:
``` html
-
Here might be a page title
+
Le titre de ma page
-
A paragraph for the main content.
-
And another one.
+
Un paragraphe pour le slot par défaut.
+
Un autre paragraphe.
-
Here's some contact info
+
Ici les infos de contact
```
-There can still be one unnamed slot, which is the **default slot** that serves as a catch-all outlet for any unmatched content. In both examples above, the rendered HTML would be:
+Il ne peut y avoir qu'un seul **slot par défaut** qui recevra tous les éléments qui ne correspondent à aucun des slots nommés. Dans l'exemple précédent, le rendu HTML produit sera :
``` html
-
Here might be a page title
+
Le titre de ma page
-
A paragraph for the main content.
-
And another one.
+
Un paragraphe pour le slot par défaut.
+
Un autre paragraphe.
```
-## Default Slot Content
+## Les slots avec contenu par défaut
-There are cases when it's useful to provide a slot with default content. For example, a `` component might want the content of the button to be "Submit" by default, but also allow users to override with "Save", "Upload", or anything else.
+Dans certains cas, il peut être intéressant de fournir un contenu par défaut pour vos slots. Par exemple, qu'un composant `` contienne le texte 'Envoyer' par défaut et que ce contenu soit facilement modifié par 'Sauvegarder', 'Télécharger', ou autre.
-To achieve this, specify the default content in between the `` tags.
+Pour procéder de la sorte, il est possible de spécifier le contenu par défaut d'une balise ``.
```html
```
-If the slot is provided content by the parent, it will replace the default content.
+Si le `` est rempli dans le composant parent, le contenu par défaut est remplacé.
-## Compilation Scope
+## Scope de compilation du template
-When you want to use data inside a slot, such as in:
+Quand on utilise des données dans le slot, comme dans l'exemple suivant :
``` html
- Logged in as {{ user.name }}
+ Connecté en tant que {{ user.name }}
```
-That slot has access to the same instance properties (i.e. the same "scope") as the rest of the template. The slot does **not** have access to ``'s scope. For example, trying to access `url` would not work. As a rule, remember that:
+Le `` bénéficie des mêmes propriétés d'instance (même « scope » ou « contexte ») que le reste du template parent. Le `` **ne** bénéficie en aucun cas des éléments du « scope » de l'instance de ``. Par exemple, tenter d'accéder à la props `url` ne fonctionnera pas. À titre de règle générale, souvenez-vous que :
-> Everything in the parent template is compiled in parent scope; everything in the child template is compiled in the child scope.
+> Tout ce qui est dans le `` parent est compilé dans le contexte parent. Tout ce qui est dans le `` enfant est compilé dans le contexte enfant.
-## Scoped Slots
+## Les slots scopés (ou slots avec accès au scope enfant)
-> New in 2.1.0+
+> Nouveauté en 2.1.0+
-Sometimes you'll want to provide a component with a reusable slot that can access data from the child component. For example, a simple `` component may contain the following in its template:
+Dans certains cas, il peut être intéressant lors de l'utilisation d'un composant avec éléments `` réutilisables, d'accéder aux données du composant enfant. Voici l'exemple d'un composant `` dont le `` est :
```html
@@ -177,9 +176,9 @@ Sometimes you'll want to provide a component with a reusable slot that can acces
```
-But in some parts of our app, we want the individual todo items to render something different than just the `todo.text`. This is where scoped slots come in.
+Dans certaines parties de l'application, il serait intéressant de personnaliser le rendu pour chaque élément de la liste, plutôt que d'afficher seulement `todo.text`. C'est possible avec les slots scopés.
-To make the feature possible, all we have to do is wrap the todo item content in a `` element, then pass the slot any data relevant to its context: in this case, the `todo` object:
+Pour utiliser cette fonctionnalité, nous allons englober le contenu des todos dans un élément ``, et lui fournir des données appartenant/pertinentes à son contexte : dans notre cas, l'objet `todo`) :
```html
@@ -187,35 +186,35 @@ To make the feature possible, all we have to do is wrap the todo item content in
v-for="todo in todos"
v-bind:key="todo.id"
>
-
-
+
+
-
+
{{ todo.text }}
```
-Now when we use the `` component, we can optionally define an alternative `` for todo items, but with access to data from the child via the `slot-scope` attribute:
+Lorsqu'on utilise le composant ``, il devient alors possible de fournir de façon optionnelle un `` alternatif de rendu des éléments de la liste, et d'accéder aux données du `slot` enfant avec l'attribut `slot-scope` :
```html
-
-
-
-
- ✓
- {{ slotProps.todo.text }}
+
+
+
+
+ ✓
+ {{ lesPropsDuSlot.todo.text }}
```
-> In 2.5.0+, `slot-scope` is no longer limited to the `` element, but can instead be used on any element or component in the slot.
+> Dans 2.5.0+, `slot-scope` n'est plus limité aux éléments `` et peut être utilisé sur n'importe quel élément ou composant (`
`, ``, ...)
-### Destructuring `slot-scope`
+### Affectation par décomposition du `slot-scope`
-The value of `slot-scope` can actually accept any valid JavaScript expression that can appear in the argument position of a function definition. This means in supported environments ([single-file components](single-file-components.html) or [modern browsers](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Browser_compatibility)) you can also use [ES2015 destructuring](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Object_destructuring) in the expression, like so:
+La valeur de l'attribut `slot-scope` peut actuellement recevoir une expression JavaScript valide qui pourrait apparaitre en argument de définition d'une fonction. Attention cependant, cette fonctionnalité est soumise à l'utilisation des environnements suivants : [Composants monofichiers](single-file-components.html) ou [Navigateurs modernes](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Op%C3%A9rateurs/Affecter_par_d%C3%A9composition#Compatibilité_des_navigateurs) vous pouvez alors utiliser [Affecter par décomposition (ES2015)](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Op%C3%A9rateurs/Affecter_par_d%C3%A9composition) dans l'expression, de cette manière :
```html
@@ -226,4 +225,4 @@ The value of `slot-scope` can actually accept any valid JavaScript expression th
```
-This is a great way to make scoped slots a little cleaner.
+Cela peut être pratique pour rendre vos slot scopés un peu plus lisibles.