Skip to content

Toutes les traductions de la documentation pour la v2.6 #185

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 27 commits into from
Mar 16, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
7fab745
Translate all new documentation
MachinisteWeb Mar 11, 2019
8c1907b
vue to Vue
MachinisteWeb Mar 11, 2019
70cfd4e
Translate themes.md
MachinisteWeb Mar 11, 2019
e852e52
Update src/v2/api/index.md
darenju Mar 12, 2019
c8e8310
Update src/v2/api/index.md
darenju Mar 12, 2019
98854eb
Update src/v2/api/index.md
darenju Mar 12, 2019
6e1b3ab
Update src/v2/api/index.md
darenju Mar 12, 2019
a8ea6ec
Update src/v2/api/index.md
darenju Mar 12, 2019
1a3c3f6
Update src/v2/api/index.md
darenju Mar 12, 2019
76ffc40
Update src/v2/guide/syntax.md
darenju Mar 12, 2019
15dcad9
best traduction
MachinisteWeb Mar 12, 2019
79ec030
Merge branch 'todo-march' of https://github.com/vuejs-fr/vuejs.org in…
MachinisteWeb Mar 12, 2019
e5542d3
Update src/v2/guide/syntax.md
darenju Mar 12, 2019
bb79adf
Update src/v2/guide/syntax.md
darenju Mar 12, 2019
ed5a1c6
Update src/v2/guide/syntax.md
darenju Mar 12, 2019
5e7edab
Update src/v2/guide/syntax.md
darenju Mar 12, 2019
e5b99d7
Update src/v2/api/index.md
darenju Mar 12, 2019
9e64603
Update src/v2/examples/themes.md
darenju Mar 12, 2019
cffc831
Update src/v2/guide/components-slots.md
darenju Mar 12, 2019
8ee16df
Apply suggestions from code review
MachinisteWeb Mar 12, 2019
125050d
typo
MachinisteWeb Mar 12, 2019
0fb9903
Update src/v2/guide/components-slots.md
darenju Mar 12, 2019
2ca9d9a
Apply suggestions from code review
darenju Mar 12, 2019
c4960db
fix typo
MachinisteWeb Mar 12, 2019
d399f2e
Merge branch 'todo-march' of https://github.com/vuejs-fr/vuejs.org in…
MachinisteWeb Mar 12, 2019
02a6e2a
fix typo
MachinisteWeb Mar 12, 2019
0ae90c5
typo fix
MachinisteWeb Mar 16, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 55 additions & 55 deletions src/v2/api/index.md

Large diffs are not rendered by default.

8 changes: 3 additions & 5 deletions src/v2/examples/themes.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
---
title: Themes
title: Thèmes
type: examples
is_new: true
order: 13
---
<p>Cette page est en cours de traduction. Pour nous aider, vous pouvez participer sur <a href="https://github.com/vuejs-fr/vuejs.org" target="_blank">le dépôt GitHub dédié de Vuejs-FR</a>.</p><p>

> With the examples below built by our partners from [Creative Tim](https://creative-tim.com?affiliate_id=116187) you can see how a real world application is built, the technology stack behind it and how most of the concepts you've learned so far apply in a real world application.
> Avec les exemples ci-dessous construits par nos partenaires de chez [Creative Tim](https://creative-tim.com?affiliate_id=116187) vous pouvez voir comment une réelle application est construite, la technologie utilisée derrière et quels sont les concepts principaux à apprendre pour réaliser une vraie application.

{% raw %}
<div id="themes-example" class="themes-grid">
Expand All @@ -22,7 +20,7 @@ order: 13
<div class="see-more-container">
<a :href="`https://www.creative-tim.com/bootstrap-themes/vuejs-themes?affiliate_id=${affiliateId}`"
class="button white see-more-link">
See More Themes
Voir plus de thèmes
</a>
</div>
</div>
Expand Down
4 changes: 2 additions & 2 deletions src/v2/guide/components-edge-cases.md
Original file line number Diff line number Diff line change
Expand Up @@ -331,7 +331,7 @@ Quand l'attribut spécial `inline-template` est présent sur un composant enfant
</my-component>
```

$todo Your inline template needs to be defined inside the DOM element to which Vue is attached.
Votre template inline a besoin d'être défini à l'intérieur de l'élément du DOM pour être attaché à Vue.

<p class="tip">Cependant, <code>inline-template</code> rend la portée de vos templates plus difficile à appréhender. Une bonne pratique est de préférer la définition de templates à l'intérieur du composant en utilisant l'option <code>template</code> ou dans un élément <code>&lt;template&gt;</code> dans un fichier <code>.vue</code>.</p>

Expand All @@ -351,7 +351,7 @@ Vue.component('hello-world', {
})
```

$todo Your x-template needs to be defined outside the DOM element to which Vue is attached.
Votre x-template a besoin d'être défini à l'extérieur de l'élément du DOM pour être attaché à Vue.

<p class="tip">Ce type de templates peut être utile pour des démos avec de gros templates ou dans des applications extrêmements petites, mais sinon il doit être évité, car ils séparent les templates du reste de la définition du composant.</p>

Expand Down
103 changes: 51 additions & 52 deletions src/v2/guide/components-slots.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ order: 104

> 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.

> $todo In 2.6.0, we introduced a new unified syntax (the `v-slot` directive) for named and scoped slots. It replaces the `slot` and `slot-scope` attributes, which are now deprecated, but have _not_ been removed and are still documented [here](#Deprecated-Syntax). The rationale for introducing the new syntax is described in this [RFC](https://github.com/vuejs/rfcs/blob/master/active-rfcs/0001-new-slot-syntax.md).
> En 2.6.0, nous introduisons une nouvelle syntaxe unifiée (la directive `v-slot`) pour nommer vos slots avec portée. Il remplace les attributs `slot` et `slot-scope` qui sont à présent dépréciés mais _non_ retirés et toujours documentés [ici](#Syntaxe-dépréciée). La raison à l'introduction de la nouvelle syntaxe est décrite dans cette [RFC](https://github.com/vuejs/rfcs/blob/master/active-rfcs/0001-new-slot-syntax.md).

## Les contenu de slot
## Les contenus de slot

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 `<slot>` comme zone de distribution de contenu.

Expand Down Expand Up @@ -53,84 +53,83 @@ Ou encore faire appel à d'autres composants :

Si `<navigation-link>` ne contient **pas** d'élément `<slot>`, n'importe quel contenu fourni entre la balise d'ouverture et de fermeture sera ignoré.

## $todo Compilation Scope
## Portée de compilation

When you want to use data inside a slot, such as in:
Quand vous voulez utiliser des données à l'intérieur d'un slot, comme ici :

``` html
<navigation-link url="/profile">
Logged in as {{ user.name }}
Se connnecter en tant que {{ user.name }}
</navigation-link>
```

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 `<navigation-link>`'s scope. For example, trying to access `url` would not work:
Le slot a accès à la même propriété d'instance (c.-à-d. la même « portée ») que le reste du template. Le slot n'a **pas** accès à la portée de `<navigation-link>`. Par exemple, essayer d'accéder à `url` ne fonctionnera pas :

``` html
<navigation-link url="/profile">
Clicking here will send you to: {{ url }}
Cliquer ici vous amènera à : {{ url }}
<!--
The `url` will be undefined, because this content is passed
_to_ <navigation-link>, rather than defined _inside_ the
<navigation-link> component.
Ici `url` sera `undefined` car le contenu est passé
_à l'intérieur de_ <navigation-link>, au lieu d'être défini _entre_ le composant <navigation-link>.
-->
</navigation-link>
```

As a rule, remember that:
Souvenez-vous de cette règle :

> 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 template parent est compilé dans la portée parente, tout ce qui est dans le template enfant est compilé dans la portée enfant.

## Fallback Content
## Contenu par défaut

There are cases when it's useful to specify fallback (i.e. default) content for a slot, to be rendered only when no content is provided. For example, in a `<submit-button>` component:
Il y a des cas où il est utile de spécifier un contenu par défaut pour un slot qui sera rendu uniquement si aucun contenu n'est fourni. Par exemple, dans le composant `<submit-button>` :

```html
<button type="submit">
<slot></slot>
</button>
```

We might want the text "Submit" to be rendered inside the `<button>` most of the time. To make "Submit" the fallback content, we can place it in between the `<slot>` tags:
Nous pourrions vouloir que le texte « Envoyer » soit rendu à l'intérieur de `<button>` la plupart du temps. Pour faire de « Envoyer » le contenu par défaut, nous pouvons le placer à l'intérieur des balises `<slot>` :

```html
<button type="submit">
<slot>Submit</slot>
<slot>Envoyer</slot>
</button>
```

Now when we use `<submit-button>` in a parent component, providing no content for the slot:
Maintenant quand nous utilisons `<submit-button>` dans le composant parent, nous ne fournissons aucun contenu pour le slot :

```html
<submit-button></submit-button>
```

will render the fallback content, "Submit":
ce qui fera le rendu du contenu par défaut « Envoyer » :

```html
<button type="submit">
Submit
Envoyer
</button>
```

But if we provide content:
Cependant, si nous fournissons le contenu :

```html
<submit-button>
Save
Sauver
</submit-button>
```

Then the provided content will be rendered instead:
Le contenu fourni sera rendu à la place :

```html
<button type="submit">
Save
Sauver
</button>
```

## Les slots nommés

> $todo Updated in 2.6.0+. [See here](#Deprecated-Syntax) for the deprecated syntax using the `slot` attribute.
> Mis à jour dans la 2.6.0+. [Voir ici](#Syntaxe-dépréciée) pour la syntaxe dépréciée en utilisant l'attribut `slot`.

Dans certains cas, il peut être intéressant d'avoir plusieurs éléments `<slot>`. Dans un exemple hypothétique, voici le template d'un composant `<base-layout>` :

Expand Down Expand Up @@ -166,7 +165,7 @@ Dans le cas suivant, l'élément `<slot>` à un l'attribut spécial `name` , qui

Un `<slot>` sans `name` obtient implicitement le nom "default".

$todo To provide content to named slots, we can use the `v-slot` directive on a `<template>`, providing the name of the slot as `v-slot`'s argument:
Pour fournir du contenu à des slots nommés, nous pouvons utiliser la directive `v-slot` sur un `<template>`, fournissant le nom du slot en tant qu'argument de `v-slot` :

```html
<base-layout>
Expand All @@ -183,9 +182,9 @@ $todo To provide content to named slots, we can use the `v-slot` directive on a
</base-layout>
```

$todo Now everything inside the `<template>` elements will be passed to the corresponding slots. Any content not wrapped in a `<template>` using `v-slot` is assumed to be for the default slot.
Maintenant, tout a l'intérieur des éléments `<template>` sera passé aux slots correspondants. Tout contenu non inclu dans un `<template>` utilisant `v-slot` est considéré comme étant destiné au slot par défaut `default`.

However, you can still wrap default slot content in a `<template>` if you wish to be explicit:
Cependant, vous pouvez toujours entourer le contenu du slot par défaut dans un `<template>` si vous désirez que cela soit plus explicite :

```html
<base-layout>
Expand All @@ -204,7 +203,7 @@ However, you can still wrap default slot content in a `<template>` if you wish t
</base-layout>
```

$todo Either way, the rendered HTML will be:
Dans tous les cas, le rendu HTML sera :

``` html
<div class="container">
Expand All @@ -221,31 +220,31 @@ $todo Either way, the rendered HTML will be:
</div>
```

$todo Note that **`v-slot` can only be added to a `<template>`** (with [one exception](#Abbreviated-Syntax-for-Lone-Default-Slots)), unlike the deprecated [`slot` attribute](#Deprecated-Syntax).
Notez que **`v-slot` ne peut seulement être ajouté à un `<template>`** (avec [une exception](#Abbreviated-Syntax-for-Lone-Default-Slots)) contrairement aux [attributs de `slot`](#Syntax-dépréciée) dépréciés.

## Scoped Slots
## Slots avec portée

> Updated in 2.6.0+. [See here](#Deprecated-Syntax) for the deprecated syntax using the `slot-scope` attribute.
> Mis à jour dans la 2.6.0+. [Voir ici](#Syntaxe-dépréciée) pour la syntaxe dépréciée en utilisant l'attribut `slot-scope`.

Sometimes, it's useful for slot content to have access to data only available in the child component. For example, imagine a `<current-user>` component with the following template:
Parfois, il est utile pour les contenus de slot d'avoir accès aux données uniquement disponibles dans le composant enfant. Par exemple, imaginez un composant `<current-user>` avec le template suivant :

```html
<span>
<slot>{{ user.lastName }}</slot>
</span>
```

We might want to replace this fallback content to display the user's first name, instead of last, like this:
Nous souhaiterions remplacer le contenu par défaut pour afficher le nom de famille de l'utilisateur à la place de son prénom comme ceci :

``` html
<current-user>
{{ user.firstName }}
</current-user>
```

That won't work, however, because only the `<current-user>` component has access to the `user` and the content we're providing is rendered in the parent.
Ce qui ne fonctionnera pas puisque le composant `<current-user>` n'a pas accès à `user` ni au contenu que nous avons fourni lors du rendu du parent.

To make `user` available to the slot content in the parent, we can bind `user` as an attribute to the `<slot>` element:
Pour rendre `user` disponible dans le contenu du slot dans le parent, nous pouvons lier `user` comme un attribut de l'élément `<slot>` :

``` html
<span>
Expand All @@ -255,7 +254,7 @@ To make `user` available to the slot content in the parent, we can bind `user` a
</span>
```

Attributes bound to a `<slot>` element are called **slot props**. Now, in the parent scope, we can use `v-slot` with a value to define a name for the slot props we've been provided:
Les attributs liés à l'élément `<slot>` sont appelés des **props de slot**. Maintenant, dans la portée parente, nous pouvons utiliser `v-slot` avec une valeur pour définir un nom pour les props de slot qui nous ont été fournies :

``` html
<current-user>
Expand All @@ -265,39 +264,39 @@ Attributes bound to a `<slot>` element are called **slot props**. Now, in the pa
</current-user>
```

In this example, we've chosen to name the object containing all our slot props `slotProps`, but you can use any name you like.
Dans cet exemple, nous avons choisi de nommer l'objet contenant tous nos props de slot `slotProps` mais vous pouvez choisir n'importe quel nom.

### Abbreviated Syntax for Lone Default Slots
### Syntaxe abrégée pour les slots par défaut uniques

In cases like above, when _only_ the default slot is provided content, the component's tags can be used as the slot's template. This allows us to use `v-slot` directly on the component:
Dans les cas comme au-dessus, quand _uniquement_ le slot par défaut a un contenu fourni, la balise du composant peut utiliser le template de slot. Cela nous permet d'utiliser `v-slot` directement sur le composant :

``` html
<current-user v-slot:default="slotProps">
{{ slotProps.user.firstName }}
</current-user>
```

This can be shortened even further. Just as non-specified content is assumed to be for the default slot, `v-slot` without an argument is assumed to refer to the default slot:
Cela peut même être raccourci encore plus. Comme un contenu non spécifié est considéré comme étant destiné au slot par défaut, `v-slot` sans un argument est considéré comme faisant référence au slot par défaut :

``` html
<current-user v-slot="slotProps">
{{ slotProps.user.firstName }}
</current-user>
```

Note that the abbreviated syntax for default slot **cannot** be mixed with named slots, as it would lead to scope ambiguity:
Notez que la syntaxe abrégée pour le slot par défaut **ne** peut **pas** être mélangée avec les slots nommées, ce qui mènerait à une ambigüité de portée :

``` html
<!-- INVALID, will result in warning -->
<!-- INVALIDE, résultera en un avertissement -->
<current-user v-slot="slotProps">
{{ slotProps.user.firstName }}
<template v-slot:other="otherSlotProps">
slotProps is NOT available here
`slotProps` n'est PAS disponible ici
</template>
</current-user>
```

Whenever there are multiple slots, use the full `<template>` based syntax for _all_ slots:
À chaque fois qu'il y a de multiples slots, utilisez la syntaxe complète pour le `<template>` pour _tous_ les slots :

``` html
<current-user>
Expand All @@ -311,43 +310,43 @@ Whenever there are multiple slots, use the full `<template>` based syntax for _a
</current-user>
```

### Destructuring Slot Props
### Décomposition de props de slot

Internally, scoped slots work by wrapping your slot content in a function passed a single argument:
En interne, les slots avec portée fonctionnent en entourant votre contenu de slot dans une fonction avec un seul argument :

```js
function (slotProps) {
// ... slot content ...
// ... contenu du slot ...
}
```

That means the value of `v-slot` can actually accept any valid JavaScript expression that can appear in the argument position of a function definition. So 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) to pull out specific slot props, like so:
Cela signifie que la valeur de `v-slot` peut accepter n'importe quelle expression JavaScript valide pouvant apparaitre à la position d'un argument lors de la définition d'une fonction. Également, pour les environnements qui le supportent ([composants monofichier](single-file-components.html) ou les [navigateurs modernes](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Op%C3%A9rateurs)), vous pouvez utiliser la [décomposition ES2015](https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Op%C3%A9rateurs/Affecter_par_d%C3%A9composition#Object_destructuring) pour définir une collection de props de slot comme suit :

``` html
<current-user v-slot="{ user }">
{{ user.firstName }}
</current-user>
```

This can make the template much cleaner, especially when the slot provides many props. It also opens other possibilities, such as renaming props, e.g. `user` to `person`:
Cela rend les templates vraiment propres, en particulier quand un slot fournit divers props. Cela agrandit les possibilités, comme le renommage de props, par ex. `user` à `person`:

``` html
<current-user v-slot="{ user: person }">
{{ person.firstName }}
</current-user>
```

You can even define fallbacks, to be used in case a slot prop is undefined:
Vous pouvez même définir des valeurs par défaut à utiliser dans le cas où les props de slot sont `undefined` :

``` html
<current-user v-slot="{ user = { firstName: 'Guest' } }">
{{ user.firstName }}
</current-user>
```

## Dynamic Slot Names
## Noms de slot dynamiques

> New in 2.6.0+
> Nouveau dans la 2.6.0+

[Dynamic directive arguments](syntax.html#Dynamic-Arguments) also work on `v-slot`, allowing the definition of dynamic slot names:

Expand Down
10 changes: 5 additions & 5 deletions src/v2/guide/forms.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ Vous pouvez utiliser la directive `v-model` pour créer une liaison de données

<p class="tip">`v-model` ne prend pas en compte la valeur initiale des attributs `value`, `checked` ou `selected` fournis par un champ. Elle traitera toujours les données de l'instance de vue comme la source de vérité. Vous devez déclarer la valeur initiale dans votre JavaScript, dans l'option `data` de votre composant.</p>

$todo `v-model` internally uses different properties and emits different events for different input elements:
- text and textarea elements use `value` property and `input` event;
- checkboxes and radiobuttons use `checked` property and `change` event;
- select fields use `value` as a prop and `change` as an event.
`v-model` utilise en interne différentes propriétés et émetteurs d'évènement pour différents éléments de saisie :
- Les éléments `text` et `textarea` utilisent la propriété `value` et évènement `input`;
- Les éléments `checkboxes` et `radiobuttons` utilisent la propriété `checked` et l'évènement `change`;
- Les éléments `select` utilisent `value` comme une prop et `change` comme un évènement.

<p class="tip" id="vmodel-ime-tip">Pour les langues qui requièrent une [méthode de saisie (IME)](https://fr.wikipedia.org/wiki/M%C3%A9thode_d%27entr%C3%A9e) (chinois, japonais, coréen, etc.), vous remarquerez que `v-model` ne sera pas mise à jour durant l'exécution de la méthode de saisie. $todo If you want to cater for these updates as well, use `input` event instead.</p>
<p class="tip" id="vmodel-ime-tip">Pour les langues qui requièrent une [méthode de saisie (IME)](https://fr.wikipedia.org/wiki/M%C3%A9thode_d%27entr%C3%A9e) (chinois, japonais, coréen, etc.), vous remarquerez que `v-model` ne sera pas mise à jour durant l'exécution de la méthode de saisie. Si vous souhaitez également prendre en compte ces mises à jour, utilisez plutôt l'évènement `input`.</p>

### Texte

Expand Down
Loading