Skip to content

Traduction syntax.md #28

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 22 commits into from
Feb 22, 2017
Merged

Traduction syntax.md #28

merged 22 commits into from
Feb 22, 2017

Conversation

yann-yinn
Copy link

A vos crayons, voici la page Syntax.md prête pour la relecture.

Copy link
Member

@MachinisteWeb MachinisteWeb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bien joué ! Quelque retours pour cette première lecture ! Et statement signifie bien déclaration vuejs#754


If you are familiar with Virtual DOM concepts and prefer the raw power of JavaScript, you can also [directly write render functions](render-function.html) instead of templates, with optional JSX support.
Si vous êtes familiers avec les concepts de DOM Virtuel et que vous préférez la puissance du Javascript pur, vous pouvez aussi [écrire directement des fonctions de rendu](render-function.html) à la place des templates, avec un support de JSX optionnel.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JavaScript


The most basic form of data binding is text interpolation using the "Mustache" syntax (double curly braces):
La forme de base de la liaison de donnée est l'interpolation de texte en utilisant la syntaxe "Moustache" (les doubles accolades)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Garder

« Mustache »

Ils font référence à ça : https://mustache.github.io/


``` html
<span>Message: {{ msg }}</span>
```

The mustache tag will be replaced with the value of the `msg` property on the corresponding data object. It will also be updated whenever the data object's `msg` property changes.
Le tag moustache sera remplacé par la valeur de la propriété `msg` de l'objet data correspondant. Il sera également mis à jour à chaque fois que la propriété `msg` de l'objet data changera.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je propose

Les doubles accolades seront remplacée ... Elles seront également mises à jour

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Que penses tu de , pour rester proche de l'original, "la balise Mustache sera remplacée" ?


You can also perform one-time interpolations that do not update on data change by using the [v-once directive](../api/#v-once), but keep in mind this will also affect any binding on the same node:
Vous pouvez également réaliser des interpolations uniques qui ne se mettront pas à jour lors de la modification des données en utilisant la [directive v-once](../api/#v-once), mais gardez à l'esprit que cela affectera toutes les liaisons de données présentes sur le même noeud:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nœud :
(espace)


``` html
<span v-once>This will never change: {{ msg }}</span>
<span v-once>Ceci ne changera jamais: {{ msg }}</span>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

jamais :
(espace)


## Directives

Directives are special attributes with the `v-` prefix. Directive attribute values are expected to be **a single JavaScript expression** (with the exception for `v-for`, which will be discussed later). A directive's job is to reactively apply side effects to the DOM when the value of its expression changes. Let's review the example we saw in the introduction:
Les directives sont des attributs spéciaux avec le prefixe `v-`. Les valeurs attendues pour les attributs de directives sont **une unique expression Javascript** (A l'exception de `v-for`, qui sera discuté plus loin). Le travail d'une directive est d'appliquer réactivement des effets secondaires au DOM quand la valeur de son expression change. Revenons à l'exemple vu dans l'introduction :
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JavaScript


Vue.js allows you to define filters that can be used to apply common text formatting. Filters are usable in two places: **mustache interpolations and `v-bind` expressions**. Filters should be appended to the end of the JavaScript expression, denoted by the "pipe" symbol:
Vue.js permet de définir des filtres qui peuvent être utilisés pour appliquer des formatages de textes courants. Les filtres sont utilisables à deux endroits : **les interpolations de moustaches et les expressions de v-bind**. Les filtres doivent être ajoutés à la fin de l'expression Javascript, indiqués par le symbole de la barre verticale :
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je propose

les interpolations avec accolades

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JavaScript


``` html
<!-- in mustaches -->
<!-- dans les moustaches -->
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je propose

dans les accolades

<div v-bind:id="rawId | formatId"></div>
```

<p class="tip">Vue 2.x filters can only be used inside mustache interpolations and `v-bind` expressions (the latter supported since 2.1.0), because filters are primarily designed for text transformation purposes. For more complex data transforms in other directives, you should use [Computed properties](computed.html) instead.</p>
<p class="tip">Les filtres de Vue 2.x peuvent être seulement utilisés à l'intérieur des interpolations de moustaches et des expressions de `v-bind` ( ces dernières étant supportées depuis la 2.1.0) car les filtres ont été conçus à la base dans le but de transformer du texte. Pour des cas plus complexes de transformation de données dans d'autres directives, vous devriez utiliser les [propriétés calculées](computed.html) à la place.</p>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je propose

interpolations avec accolades

Pas d'espace entre ( et ces


``` html
{{ message | filterA | filterB }}
```

Filters are JavaScript functions, therefore they can take arguments:
Les filtres sont des fonctions Javascript et peuvent donc recevoir des arguments :
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JavaScript

@MachinisteWeb MachinisteWeb changed the title Syntax.md Traduction syntax.md Feb 10, 2017
@yann-yinn
Copy link
Author

apportées correction suggérées par @haeresis , sauf concernant la traduction des moustaches. J'ai pour l'instant utilisé "Mustache" pour faire référence à la syntaxe en tant que spec, et "moustaches" pour faire références aux balises telles que {{message}}

@MachinisteWeb MachinisteWeb requested review from sylvainpolletvillard and removed request for sylvainpolletvillard February 10, 2017 17:10
@MachinisteWeb
Copy link
Member

Je laisse @sylvainpolletvillard voir pour les moustaches ! Pour moi c'est ok, je referais une relecture demain.

Copy link
Member

@MachinisteWeb MachinisteWeb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Une petite relecture avant validation !


<p class="tip">Dynamically rendering arbitrary HTML on your website can be very dangerous because it can easily lead to [XSS vulnerabilities](https://en.wikipedia.org/wiki/Cross-site_scripting). Only use HTML interpolation on trusted content and **never** on user-provided content.</p>
<p class="tip"> Générer dynamiquement du HTML arbitraire sur votre site peut être très dangereux car cela peut mener facilement à une [vulnérabilité XSS](https://en.wikipedia.org/wiki/Cross-site_scripting). Utilisez l'interpolation HTML uniquement sur du contenu de confiance et **jamais** sur du contenu en provenance d'un utilisateur</p>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Un espace à retirer entre > et Générer

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

à des vulnérabilités XSS


Mustaches cannot be used inside HTML attributes, instead use a [v-bind directive](../api/#v-bind):
Les Moustaches ne peuvent pas être utilisées à l'intérieur des attributs HTML, à la place utilisez une [directive v-bind](../api/#v-bind):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Les moustaches


Modifiers are special postfixes denoted by a dot, which indicate that a directive should be bound in some special way. For example, the `.prevent` modifier tells the `v-on` directive to call `event.preventDefault()` on the triggered event:
Les modificateurs sont des suffixes indiqués par un point, qui indique qu'une directive devrait être lié d'une manière spécifique. Par exemple, le modificateur `.prevent` dit à la directive `v-on` d'appeler `event.preventDefault()` lorsque l'évènement survient.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

liée


``` html
{{ message | filterA('arg1', arg2) }}
```

Here, the plain string `'arg1'` will be passed into the filter as the second argument, and the value of expression `arg2` will be evaluated and passed in as the third argument.
Ici la chaîne de caractères `'arg1'` sera passée au filtre en tant que second argument, et la valeur de l'expression `arg2` sera évaluée et passée en tant que troisième argument.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

l'expression arg2

retirer un espace entre expression et arg2

@MachinisteWeb
Copy link
Member

4 petit trucs à corriger @nyl-auster et je merge !

Copy link
Member

@sylvainpolletvillard sylvainpolletvillard left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

désolé pour l'attente, voilà ma relecture

type: guide
order: 4
---

<p class="tip">**Cette page est en cours de traduction française. Revenez une autre fois pour lire une traduction achevée ou [participez à la traduction française ici](https://github.com/vuejs-fr/vuejs.org).**</p>Vue.js uses an HTML-based template syntax that allows you to declaratively bind the rendered DOM to the underlying Vue instance's data. All Vue.js templates are valid HTML that can be parsed by spec-compliant browsers and HTML parsers.
Vue.js utilise une syntaxe basée sur le HTML qui vous permet de lier déclarativement le DOM rendu aux données de l'instance de Vue sous-jacente. Tous les templates de Vue.js sont du HTML valide qui peut être interprété par les navigateurs conformes aux spécifications et les interpréteurs HTML.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"les navigateurs et les interpréteurs HTML conformes aux spécifications"

Je pense que le complément cible les deux noms, même si c'est toujours délicat de savoir dans cette situation vu que les anglais le mettent en tout premier et les français en tout dernier.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vue.js utilise une syntaxe de template basée sur le HTML

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

de l'instance sous-jacente de Vue (C'est l'instance qui est sous-jacente)


Under the hood, Vue compiles the templates into Virtual DOM render functions. Combined with the reactivity system, Vue is able to intelligently figure out the minimal amount of components to re-render and apply the minimal amount of DOM manipulations when the app state changes.
Sous le capot, Vue compile les templates en fonctions de rendu de DOM Virtuel. Combiné au système de réactivité, Vue est en mesure de déterminer intelligemment le nombre minimum de composants pour lesquels il faut re-déclencher le rendu et d'appliquer le nombre minimales de manipulations au DOM quand l'état de l'application change.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

le nombre minimal de manipulations du DOM
(ou la quantité minimale)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vue compile les templates dans des fonctions de rendu du DOM virtuel

Copy link

@forresst forresst Feb 17, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

d' appliquer

EDIT: ne plus tenir compte de cette remarque, il faut bien metter d'appliquer


The most basic form of data binding is text interpolation using the "Mustache" syntax (double curly braces):
La forme de base de la liaison de donnée est l'interpolation de texte en utilisant la syntaxe "Mustache" (les doubles accolades)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

liaison de données (data est pluriel)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

La forme la plus élémentaire pour la liaison de données est l'interpolation de texte


``` html
<span>Message: {{ msg }}</span>
```

The mustache tag will be replaced with the value of the `msg` property on the corresponding data object. It will also be updated whenever the data object's `msg` property changes.
La balise moustache sera remplacée par la valeur de la propriété `msg` de l'objet data correspondant. Elle sera également mis à jour à chaque fois que la propriété `msg` de l'objet data changera.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mise à jour

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

La balise mustache


You can also perform one-time interpolations that do not update on data change by using the [v-once directive](../api/#v-once), but keep in mind this will also affect any binding on the same node:
Vous pouvez également réaliser des interpolations uniques qui ne se mettront pas à jour lors de la modification des données en utilisant la [directive v-once](../api/#v-once), mais gardez à l'esprit que cela affectera toutes les liaisons de données présentes sur le même noeud :

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pas sûr que "unique" suffise pour la compréhension de "one-time". Je propose "à usage unique"

Il faudrait aussi ajouter une virgule ou des parenthèses avant "en utilisant la directive" pour rendre plus clair le découpage de la phrase.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je met ça , ça vous va ?

...Vous pouvez également réaliser des interpolations à usage unique (qui ne se mettront pas à jour lors de la modification des données) en utilisant ...

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

très bien


Modifiers are special postfixes denoted by a dot, which indicate that a directive should be bound in some special way. For example, the `.prevent` modifier tells the `v-on` directive to call `event.preventDefault()` on the triggered event:
Les modificateurs sont des suffixes indiqués par un point, qui indique qu'une directive devrait être lié d'une manière spécifique. Par exemple, le modificateur `.prevent` dit à la directive `v-on` d'appeler `event.preventDefault()` lorsque l'évènement survient.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

des suffixes spéciaux

être liée


``` html
<form v-on:submit.prevent="onSubmit"></form>
```

We will see more use of modifiers later when we take a more thorough look at `v-on` and `v-model`.
Nous verrons plus de cas d'utilisations des modificateurs plus loin quand nous porterons un regard plus attentif sur `v-on` et `v-model`

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

plus de cas d'utilisation


Vue.js allows you to define filters that can be used to apply common text formatting. Filters are usable in two places: **mustache interpolations and `v-bind` expressions**. Filters should be appended to the end of the JavaScript expression, denoted by the "pipe" symbol:
Vue.js permet de définir des filtres qui peuvent être utilisés pour appliquer des formatages de textes courants. Les filtres sont utilisables à deux endroits : **les interpolations de moustaches et les expressions de v-bind**. Les filtres doivent être ajoutés à la fin de l'expression JavaScript, indiqués par le symbole de la barre verticale :

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

des formatages de texte ordinaires

dans les interpolations à moustaches et les expressions v-bind

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sylvainpolletvillard je comprends ici common plutôt dans le sens de "courant" / "qu'on rencontre souvent" , pas toi ?

@@ -147,43 +147,43 @@ new Vue({
})
```

Filters can be chained:
Les filtres peuvent être chainés :

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

chaînés


The `v-` prefix serves as a visual cue for identifying Vue-specific attributes in your templates. This is useful when you are using Vue.js to apply dynamic behavior to some existing markup, but can feel verbose for some frequently used directives. At the same time, the need for the `v-` prefix becomes less important when you are building an [SPA](https://en.wikipedia.org/wiki/Single-page_application) where Vue.js manages every template. Therefore, Vue.js provides special shorthands for two of the most often used directives, `v-bind` and `v-on`:
Le préfixe `v-` sert d'indicateur visuel pour identifier les attributs spécifiques à Vue dans vos templates. C'est pratique lorsque vous utilisez Vue.js pour appliquer des comportements dynamiques sur un balisage existant, mais peut sembler verbeux pour des directives utilisées fréquemment. Par ailleurs, le besoin pour le préfixe `v-`devient moins important quand vous développez une [application monopage](https://fr.wikipedia.org/wiki/Application_web_monopage) où Vue.js gère tous les templates. C'est pourquoi Vue.js fournit des abréviations pour deux des directives les plus utilisées, `v-bind` et `v-on`:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

le besoin d'un préfixe

@yann-yinn
Copy link
Author

yann-yinn commented Feb 17, 2017

J'ai tout intégré sauf "formatages de texte ordinaires" à la place de "formatages de texte courant" et l'histoire de l'évaluation à vrai,je souhaite y accorder quelques minutes de réflexion et je n'ai pas le temps toute de suite !, sans doute ce soir ou demain

Copy link

@forresst forresst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'ai commencé à relire, c'est du beau travail. J'espère continuer ma relecture plus tard dans le week-end.

EDIT: Attention tous mes commentaires sont anti-datés car tu as passé un commit entre temps. Donc merci de regarder mes commentaires anti-datés, ils sont pour moi toujours d'actualités

type: guide
order: 4
---

<p class="tip">**Cette page est en cours de traduction française. Revenez une autre fois pour lire une traduction achevée ou [participez à la traduction française ici](https://github.com/vuejs-fr/vuejs.org).**</p>Vue.js uses an HTML-based template syntax that allows you to declaratively bind the rendered DOM to the underlying Vue instance's data. All Vue.js templates are valid HTML that can be parsed by spec-compliant browsers and HTML parsers.
Vue.js utilise une syntaxe basée sur le HTML qui vous permet de lier déclarativement le DOM rendu aux données de l'instance de Vue sous-jacente. Tous les templates de Vue.js sont du HTML valide qui peut être interprété par les navigateurs conformes aux spécifications et les interpréteurs HTML.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vue.js utilise une syntaxe de template basée sur le HTML

type: guide
order: 4
---

<p class="tip">**Cette page est en cours de traduction française. Revenez une autre fois pour lire une traduction achevée ou [participez à la traduction française ici](https://github.com/vuejs-fr/vuejs.org).**</p>Vue.js uses an HTML-based template syntax that allows you to declaratively bind the rendered DOM to the underlying Vue instance's data. All Vue.js templates are valid HTML that can be parsed by spec-compliant browsers and HTML parsers.
Vue.js utilise une syntaxe basée sur le HTML qui vous permet de lier déclarativement le DOM rendu aux données de l'instance de Vue sous-jacente. Tous les templates de Vue.js sont du HTML valide qui peut être interprété par les navigateurs conformes aux spécifications et les interpréteurs HTML.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

de l'instance sous-jacente de Vue (C'est l'instance qui est sous-jacente)


Under the hood, Vue compiles the templates into Virtual DOM render functions. Combined with the reactivity system, Vue is able to intelligently figure out the minimal amount of components to re-render and apply the minimal amount of DOM manipulations when the app state changes.
Sous le capot, Vue compile les templates en fonctions de rendu de DOM Virtuel. Combiné au système de réactivité, Vue est en mesure de déterminer intelligemment le nombre minimum de composants pour lesquels il faut re-déclencher le rendu et d'appliquer le nombre minimales de manipulations au DOM quand l'état de l'application change.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vue compile les templates dans des fonctions de rendu du DOM virtuel


Under the hood, Vue compiles the templates into Virtual DOM render functions. Combined with the reactivity system, Vue is able to intelligently figure out the minimal amount of components to re-render and apply the minimal amount of DOM manipulations when the app state changes.
Sous le capot, Vue compile les templates en fonctions de rendu de DOM Virtuel. Combiné au système de réactivité, Vue est en mesure de déterminer intelligemment le nombre minimum de composants pour lesquels il faut re-déclencher le rendu et d'appliquer le nombre minimales de manipulations au DOM quand l'état de l'application change.
Copy link

@forresst forresst Feb 17, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

d' appliquer

EDIT: ne plus tenir compte de cette remarque, il faut bien metter d'appliquer


If you are familiar with Virtual DOM concepts and prefer the raw power of JavaScript, you can also [directly write render functions](render-function.html) instead of templates, with optional JSX support.
Si vous êtes familiers avec les concepts de DOM Virtuel et que vous préférez la puissance du JavaScript pur, vous pouvez aussi [écrire directement des fonctions de rendu](render-function.html) à la place des templates, avec un support de JSX optionnel.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

avec un support facultatif de JSX.


The most basic form of data binding is text interpolation using the "Mustache" syntax (double curly braces):
La forme de base de la liaison de donnée est l'interpolation de texte en utilisant la syntaxe "Mustache" (les doubles accolades)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

La forme la plus élémentaire pour la liaison de données est l'interpolation de texte


``` html
<span>Message: {{ msg }}</span>
```

The mustache tag will be replaced with the value of the `msg` property on the corresponding data object. It will also be updated whenever the data object's `msg` property changes.
La balise moustache sera remplacée par la valeur de la propriété `msg` de l'objet data correspondant. Elle sera également mis à jour à chaque fois que la propriété `msg` de l'objet data changera.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

La balise mustache

@yann-yinn
Copy link
Author

@forresst merci ! ok c'est noté, je regarde ça dès que je peux ce week end.

Copy link

@forresst forresst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quelques propositions supplémentaires, j'ai terminé. Beau travail, félicitation.


<p class="tip">Dynamically rendering arbitrary HTML on your website can be very dangerous because it can easily lead to [XSS vulnerabilities](https://en.wikipedia.org/wiki/Cross-site_scripting). Only use HTML interpolation on trusted content and **never** on user-provided content.</p>
<p class="tip">Générer dynamiquement du HTML arbitraire sur votre site peut être très dangereux car cela peut mener facilement à des [vulnérabilités XSS](https://en.wikipedia.org/wiki/Cross-site_scripting). Utilisez l'interpolation HTML uniquement sur du contenu de confiance et **jamais** sur du contenu en provenance d'un utilisateur</p>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pourquoi ne pas pointer vers la version française pour XSS : https://fr.wikipedia.org/wiki/Cross-site_scripting ?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sur du contenu en provenance fourni par un utilisateur


``` html
<button v-bind:disabled="someDynamicCondition">Button</button>
```

### Using JavaScript Expressions
### Utiliser des expressions JavaScript

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Utiliser Utilisation des expressions JavaScript


{{ message.split('').reverse().join('') }}

<div v-bind:id="'list-' + id"></div>
```

These expressions will be evaluated as JavaScript in the data scope of the owner Vue instance. One restriction is that each binding can only contain **one single expression**, so the following will **NOT** work:
Ces expressions seront évaluées en tant que JavaScript au sein de la portée des données de l'instance de Vue propriétaire. Une restriction est que chacune de ces liaisons ne peut contenir **qu'une seule expression**, donc ce qui suit ne fonctionnera **PAS**

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Une petite variante qui me parait plus facile à comprendre :
Il y a une restriction : chacune de ces liaisons ne peut contenir qu'une seule expression, donc ce qui suit NE FONCTIONNERA PAS

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pour une négation NOT ça donne :

« NE fonctionnera PAS »

Déjà traduit de cette manière dans des pages déjà traduites.


## Directives

Directives are special attributes with the `v-` prefix. Directive attribute values are expected to be **a single JavaScript expression** (with the exception for `v-for`, which will be discussed later). A directive's job is to reactively apply side effects to the DOM when the value of its expression changes. Let's review the example we saw in the introduction:
Les directives sont des attributs spéciaux avec le prefixe `v-`. Les valeurs attendues pour les attributs de directives sont **une unique expression JavaScript** (A l'exception de `v-for`, qui sera discuté plus loin). Le travail d'une directive est d'appliquer réactivement des effets secondaires au DOM quand la valeur de son expression change. Revenons à l'exemple vu dans l'introduction :

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

qui sera discutée plus loin : v-for est une directive donc féminin, j'ajouterais donc un e

ou même remplacer discutée par expliquée :
qui sera expliquée plus loin


### Arguments

Some directives can take an "argument", denoted by a colon after the directive name. For example, the `v-bind` directive is used to reactively update an HTML attribute:
Certaines directives peuvent prendre un argument, indiqué par un deux-points après le nom de la directive. Par exemple, la directive `v-bind` est utilisée pour mettre à jour réactivement un attribut HTML :

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

peuvent prendre un "argument" : ajouter les double cotes

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

« argument »


``` html
<a v-bind:href="url"></a>
```

Here `href` is the argument, which tells the `v-bind` directive to bind the element's `href` attribute to the value of the expression `url`.
Ici `href` est un argument, qui dit à la directive `v-bind` de lier l'attribut `href` de l'élément à la valeur de l'expression `url`

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Il manque le point à la fin de la phrase : ... l'expression url.


Under the hood, Vue compiles the templates into Virtual DOM render functions. Combined with the reactivity system, Vue is able to intelligently figure out the minimal amount of components to re-render and apply the minimal amount of DOM manipulations when the app state changes.
Sous le capot, Vue compile les templates en fonctions de rendu de DOM Virtuel. Combiné au système de réactivité, Vue est en mesure de déterminer intelligemment le nombre minimal de composants pour lesquels il faut re-déclencher le rendu et d'appliquer le nombre minimales de manipulations au DOM quand l'état de l'application change.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@forresst et @nyl-auster : il me semble bien qu'on conserve « d'appliquer » c-à-d « de appliquer ». Pour s'en convaincre :

Vue est en mesure
[1)] de déterminer [... bla bla bla ...] ET
[2)] d'appliquer (« de appliquer ») [... bla bla bla ...]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@haeresis Tu m'as convaincu.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

attention, "le nombre minimal"

déjà reporté dans ma première relecture, il y a eu un oubli ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sylvainpolletvillard oubli en effet, je n'avais corrigé que la première occurence. Corrigé mais pas encore pushé.


The most basic form of data binding is text interpolation using the "Mustache" syntax (double curly braces):
La forme de base de la liaison de données est l'interpolation de texte en utilisant la syntaxe "Mustache" (les doubles accolades)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Peut-être indiquer du coup ceci : « ... en utilisant la syntaxe Moustache (Mustache ou doubles acoclades) ? car on parle de « mustache » et on passe ensuite toujours à « moustache ».

Vive les moustaches ! https://www.youtube.com/watch?v=zh0nREHbkIs !

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je préfère garder "Mustache" quand je fais expressément référence à la "convention de codage" pour que le gens puissent rechercher sur google et tomber là dessus : http://mustache.github.io/
J'utilise ensuite "moustaches" pour désigner les accolades de "Mustache"


{{ message.split('').reverse().join('') }}

<div v-bind:id="'list-' + id"></div>
```

These expressions will be evaluated as JavaScript in the data scope of the owner Vue instance. One restriction is that each binding can only contain **one single expression**, so the following will **NOT** work:
Ces expressions seront évaluées en tant que JavaScript au sein de la portée des données de l'instance de Vue propriétaire. Une restriction est que chacune de ces liaisons ne peut contenir **qu'une seule expression**, donc ce qui suit ne fonctionnera **PAS**
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pour une négation NOT ça donne :

« NE fonctionnera PAS »

Déjà traduit de cette manière dans des pages déjà traduites.


### Arguments

Some directives can take an "argument", denoted by a colon after the directive name. For example, the `v-bind` directive is used to reactively update an HTML attribute:
Certaines directives peuvent prendre un argument, indiqué par un deux-points après le nom de la directive. Par exemple, la directive `v-bind` est utilisée pour mettre à jour réactivement un attribut HTML :
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

« argument »

@MachinisteWeb
Copy link
Member

MachinisteWeb commented Feb 20, 2017

3 petites vérifs avant merge pour moi @nyl-auster :)

@yann-yinn
Copy link
Author

yann-yinn commented Feb 20, 2017

Okay, j'ai tout pris en compte, il me reste deux questions pour boucler :

1) J'ai du mal à traduire naturellement cette phrase. On a établi plus haut que "considérée comme vraie" étant bien pour les valeurs "truthy"

Here, the v-if directive would remove/insert the <p> element based on the truthiness of the value of the expression seen.

2) - @forresst m'a indiqué une erreur de traduction, mais c'est sans doute que je n'ai mal compris le fonction de Vuejs. Il me propose

Vue compile les templates dans des fonctions de rendu de DOM Virtuel

là où j'avais traduit

Vue compile les templates en des fonctions de rendu de DOM Virtuel

En effet je croyais que vuejs transformait une chaine de caractères (le template) en une succession d'appel à des fonction de rendus de type :

createElement('h1', 'hello world'),

Ce n'est pas le cas ?

PS : c'est ce que fait React à partir du JSX, alors j'ai supputé que Vuejs faisait de même mais directement à partir des templates...


Sous le capot, Vue compile les templates en fonctions de rendu de DOM Virtuel. Combiné au système de réactivité, Vue est en mesure de déterminer intelligemment le nombre minimal de composants pour lesquels il faut re-déclencher le rendu et d'appliquer le nombre minimales de manipulations au DOM quand l'état de l'application change.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je propose à la place de la proposition de @forresst

Vue compile les templates en des fonctions de rendu de DOM Virtuel

Si vous avez l'impression que en fonctions sonne trop s'il y a présence de ou pas, cela lève le doute.

Cependant, le traduire par « dans » pour lever le doute n'est pas correcte car c'est les éléments du template lui-même qui génère des fonctions, ils ne sont pas « glissé dedans » comme le mentionne @nyl-auster.


``` html
<p v-if="seen">Maintenant vous me voyez</p>
```

Ici, la directive `v-if` retirerait / insererait l'élement `<p>` en se basant sur l'évaluation à vrai de la valeur de l'expression `seen`.
Copy link
Member

@MachinisteWeb MachinisteWeb Feb 21, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ici nous avons traduit

determined by the truthiness of the data property isActive.

par

présente si la propriété isActive est évaluée à vrai.

car ce sont les termes utilisés dans cette explication : https://github.com/vuejs-fr/vuejs.org/blob/master/src/v2/guide/class-and-style.md#liaison-de-classes-html

On « évalue » et on ne « considère » pas une expression. Les Hommes considères, mais Vue évalue.

Il faut garder ainsi !

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je t'invite à regarder le lien vers le MDN de "Truthy" mis sur l'exemple que tu cites:

En JavaScript, une valeur truthy est une valeur qui est considérée comme vraie quand elle est évaluée dans un contexte Boolean
https://developer.mozilla.org/fr/docs/Glossaire/Truthy

Il faut un moyen de distinguer sémantiquement l'égalité stricte de l'égalité simple, et "évaluer à" risque de causer des confusions car sous-entend une égalité stricte.

Mes propositions: "considéré comme", "assimilable à", "équivalente à". Ça me va aussi si on garde le mot "truthy" avec un lien vers la page MDN.

Copy link
Member

@MachinisteWeb MachinisteWeb Feb 22, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Si je résume True c'est true. Et Truthy c'est {}, [], true, "blabla", etc. (bref tout ce qui n'est pas Falsy (null, undefined, "", false, 0, -0, NaN).

Effectivement, une valeur Truthy n'est pas strictement égale à false et effectivement tes propositions sont moins ferme que « évalué » (tout comme l'opérateur d'égalité simpe). Je suis ok à 200%. (Je m'étais arrêter sur « quand elle est évaluée dans », j'ai vu ce que je voulais voir haha).

Merci

Il faut donc changer

présente si la propriété isActive est évaluée à vrai.

en

présente si la propriété isActive est considérée comme vrai.

Je m'en charge

@MachinisteWeb
Copy link
Member

On est ok pour le merge ?

@yann-yinn
Copy link
Author

Actuellement il y a toujours écrit "Vue compile les templates dans des fonctions de rendu de DOM Virtuel" . J'aurais bien aimé un troisieme avis dessus

@sylvainpolletvillard
Copy link
Member

sylvainpolletvillard commented Feb 21, 2017

@nyl-auster je confirme "compile les templates en des fonctions de rendu". Je pense qu'en français on aurait plutôt choisi le verbe "transformer" ou "traduire", mais c'est la traduction littérale la plus proche.

Reste aussi la question du "truthy" à trancher

@yann-yinn
Copy link
Author

J'ai mis ça pour l'instant, je suis à votre écoute si meilleure suggestion

Ici, la directive v-if retirerait / insérerait l'élement <p> selon que l'expression seen soit considérée comme fausse / vraie.

@MachinisteWeb
Copy link
Member

MachinisteWeb commented Feb 22, 2017 via email

@MachinisteWeb MachinisteWeb merged commit 03a4671 into vuejs-fr:master Feb 22, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants