Skip to content

feat: Vue Apollo docs in French đŸ‡«đŸ‡· #920

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 38 commits into from
Feb 11, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
8dcb9d0
chore: add meta information for the French translation
sarahdayan Feb 5, 2020
368288b
feat: translate README
sarahdayan Feb 5, 2020
4d6e99d
feat: translate migration guide
sarahdayan Feb 5, 2020
b9053af
feat: translate guide README
sarahdayan Feb 5, 2020
1b7a7ca
fix: add space before colon
sarahdayan Feb 5, 2020
a292da1
feat: translate installation guide
sarahdayan Feb 5, 2020
c1a3a03
feat: translate local state guide
sarahdayan Feb 5, 2020
fd03403
feat: translate multiple clients guide
sarahdayan Feb 5, 2020
ff18481
feat: translate testing guide
sarahdayan Feb 5, 2020
2d28c7d
feat: translate ssr guide
sarahdayan Feb 5, 2020
c7e2323
feat: translate component README
sarahdayan Feb 5, 2020
26279e2
feat: translate component subscribe to more guide
sarahdayan Feb 5, 2020
c2963d4
feat: translate component mutation guide
sarahdayan Feb 5, 2020
4ea75d4
feat: translate component query guide
sarahdayan Feb 6, 2020
138437b
fix: consistency
sarahdayan Feb 6, 2020
aeaf117
feat: translate apollo README
sarahdayan Feb 6, 2020
ee1fe8c
fix: close broken link
sarahdayan Feb 6, 2020
e5d686b
fix: close broken link
sarahdayan Feb 6, 2020
60968b9
fix: fix missing translation
sarahdayan Feb 6, 2020
4f8915a
fix: fix bad links
sarahdayan Feb 6, 2020
a50c0fd
feat: translate apollo special options
sarahdayan Feb 6, 2020
e4b49f4
feat: translate apollo mutations
sarahdayan Feb 6, 2020
9f7461e
feat: translate apollo pagination
sarahdayan Feb 6, 2020
548d950
feat: translate apollo subscriptions
sarahdayan Feb 6, 2020
d28b49b
feat: translate apollo queries
sarahdayan Feb 6, 2020
251b73a
feat: translate API README
sarahdayan Feb 6, 2020
cf74735
feat: translate API ssr
sarahdayan Feb 6, 2020
b06f061
feat: translate API smart subscription
sarahdayan Feb 6, 2020
75e7e54
feat: translate API apollo mutation
sarahdayan Feb 6, 2020
a0879c9
feat: translate API apollo subscribe to more
sarahdayan Feb 6, 2020
46e2c83
feat: translate API apollo provider
sarahdayan Feb 6, 2020
211d066
feat: translate API apollo query
sarahdayan Feb 6, 2020
67fcc7b
feat: translate API dollar apollo
sarahdayan Feb 6, 2020
b5cc2ca
feat: translate API smart query
sarahdayan Feb 6, 2020
458c10d
fix: small adjustments
sarahdayan Feb 6, 2020
4dc4487
Update packages/docs/src/fr/api/apollo-mutation.md
sarahdayan Feb 6, 2020
35a504b
Update packages/docs/src/fr/api/apollo-subscribe-to-more.md
sarahdayan Feb 6, 2020
5f0dce0
Update packages/docs/src/fr/api/apollo-mutation.md
sarahdayan Feb 6, 2020
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
104 changes: 104 additions & 0 deletions packages/docs/src/.vuepress/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@ module.exports = {
lang: 'zh-CN',
title: 'Vue Apollo',
description: '🚀 ćœšäœ çš„ Vue.js ćș”甚䞭集成 GraphQL',
},
'/fr/': {
lang: 'fr-FR',
title: 'Vue Apollo',
description: '🚀 IntĂ©grez GraphQL dans vos apps Vue.js !',
}
},
plugins: {
Expand All @@ -24,6 +29,10 @@ module.exports = {
message: "New content is available.",
buttonText: "Refresh"
},
'/fr/': {
message: "Du nouveau contenu est disponible.",
buttonText: "RafraĂźchir"
},
},
},
},
Expand Down Expand Up @@ -223,6 +232,101 @@ module.exports = {
'/zh-cn/migration/': [''],
},
},
'/fr/': {
selectText: 'Langages',
label: 'Français',
lastUpdated: 'DerniĂšre mise Ă  jour',
nav: [
{
text: 'Guide',
link: '/fr/guide/',
},
{
text: 'API',
link: '/fr/api/',
},
{
text: 'Migration',
link: '/fr/migration/',
},
{
text: 'Plugin CLI',
link: 'https://github.com/Akryum/vue-cli-plugin-apollo',
},
{
text: 'Sponsor',
link: 'https://github.com/sponsors/Akryum',
},
],
sidebarDepth: 2,
sidebar: {
'/fr/guide/': [
'',
'installation',
{
title: 'Premiers pas',
collapsable: false,
children: [
'apollo/',
'apollo/queries',
'apollo/mutations',
'apollo/subscriptions',
'apollo/pagination',
'apollo/special-options',
],
},
{
title: 'Composants',
collapsable: false,
children: [
'components/',
'components/query',
'components/mutation',
'components/subscribe-to-more',
],
},
{
title: 'Utilisation avancée',
collapsable: false,
children: [
'multiple-clients',
'ssr',
'local-state',
'testing',
],
},
],
'/fr/api/': [
{
title: 'Vue Apollo',
collapsable: false,
children: [
'apollo-provider',
'dollar-apollo',
'ssr',
],
},
{
title: 'Smart Apollo',
collapsable: false,
children: [
'smart-query',
'smart-subscription',
],
},
{
title: 'Apollo Components',
collapsable: false,
children: [
'apollo-query',
'apollo-mutation',
'apollo-subscribe-to-more',
],
},
],
'/fr/migration/': [''],
},
},
},
},
}
50 changes: 50 additions & 0 deletions packages/docs/src/fr/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
home: true
heroImage: /logo.png
actionText: Commencer →
actionLink: /fr/guide/
features:
- title: RafraĂźchissements automatiques
details: Ne vous prĂ©occupez pas de refraĂźchir l'interface utilisteur ou de refaire les requĂȘtes !
- title: Composants dans les templates
details: Utilisez Apollo de façon vraiment déclarative grùce aux composants Apollo.
- title: Compatible avec le rendu cÎté serveur
details: Faites vos requĂȘtes cĂŽtĂ© serveur avant de rendre le HTML.
footer: LICENCE MIT - Créé par Guillaume CHAU (@Akryum)
---

<sponsor-button/>

## Sponsors

### Or

<p class="sponsors">
<a href="https://www.sumcumo.com/en/" target="_blank">
<img src="https://cdn.discordapp.com/attachments/258614093362102272/570728242399674380/logo-sumcumo.png" alt="sum.cumo logo" class="gold-sponsor">
</a>

<a href="https://www.vuemastery.com/" target="_blank">
<img src="https://cdn.discordapp.com/attachments/258614093362102272/557267759130607630/Vue-Mastery-Big.png" alt="Vue Mastery logo" class="gold-sponsor">
</a>
</p>

### Argent

<p class="sponsors">
<a href="https://vueschool.io/" target="_blank">
<img src="https://vueschool.io/img/logo/vueschool_logo_multicolor.svg" alt="VueSchool logo" class="silver-sponsor">
</a>
</p>

### Bronze

<p class="sponsors">
<a href="https://vuetifyjs.com" target="_blank">
<img src="https://cdn.discordapp.com/attachments/537832759985700914/537832771691872267/Horizontal_Logo_-_Dark.png" alt="Vuetify logo" class="bronze-sponsor">
</a>

<a href="https://www.frontenddeveloperlove.com/" target="_blank" title="Frontend Developer Love">
<img src="https://cdn.discordapp.com/attachments/258614093362102272/557267744249085953/frontend_love-logo.png" alt="Frontend Developer Love logo" class="bronze-sponsor">
</a>
</p>
7 changes: 7 additions & 0 deletions packages/docs/src/fr/api/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Référence API

Bienvenue dans la référence API !

::: warning Work-in-Progress
Si quelque chose manque, merci d'ouvrir une pull request !
:::
49 changes: 49 additions & 0 deletions packages/docs/src/fr/api/apollo-mutation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Composant ApolloMutation

Exemple :

```vue
<ApolloMutation
:mutation="gql => gql`
mutation DoStuff ($name: String!) {
someWork (name: $name) {
success
timeSpent
}
}
`"
:variables="{
name
}"
@done="onDone"
>
<template v-slot="{ mutate, loading, error }">
<button :disabled="loading" @click="mutate()">Cliquez ici</button>
<p v-if="error">Une erreur est survenue : {{ error }}</p>
</template>
</ApolloMutation>
```

## Props

- `mutation`: une requĂȘte GraphQL (transformĂ©e par `graphql-tag`) ou bien une fonction qui reçoit le gabarit `gql` comme argument et doit retourner la requĂȘte transformĂ©e
- `variables`: objet de variables GraphQL
- `optimisticResponse`: Consultez le guide sur [les interfaces optimistes](https://www.apollographql.com/docs/react/performance/optimistic-ui/)
- `update`: Consultez le guide sur [comment mettre Ă  jour le cache aprĂšs une mutation](https://www.apollographql.com/docs/react/data/mutations/#options)
- `refetchQueries`: Consultez le guide sur [comment re-requĂȘter aprĂšs une mutation](https://www.apollographql.com/docs/react/data/mutations/#options)
- `clientId`: l'identifiant du client Apollo utilisĂ© par la requĂȘte (dĂ©fini dans l'option `clients` d'ApolloProvider)
- `tag`: le nom de la balise HTML (par défaut: `div`); si `undefined`, le composant n'a pas de rendu (le contenu ne sera pas englobé dans une balise)
- `context`: Consultez [l'option `context` d'Apollo](https://www.apollographql.com/docs/react/data/mutations/#options)

## Les props de slots avec portée

- `mutate(options = undefined)`: une fonction pour appeler une mutation. Vous pouvez écraser les options de mutation (par exemple : `mutate({ variables: { foo: 'bar } })`)
- `loading`: un boolĂ©en qui indique que la requĂȘte est en cours
- `error`: une erreur éventuelle lors de la derniÚre mutation
- `gqlError`: la premiÚre erreur GraphQL éventuelle

## ÉvĂ©nements

- `done(resultObject)`
- `error(errorObject)`
- `loading(boolean)`
49 changes: 49 additions & 0 deletions packages/docs/src/fr/api/apollo-provider.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# ApolloProvider

## Constructeur

```js
const apolloProvider = new VueApollo({
// Support de plusieurs clients
// Utilise l'option 'client' dans les requĂȘtes
// ou bien '$client' sur la définition Apollo
clients: {
a: apolloClientA,
b: apolloClientB,
},
// Client par défaut
defaultClient: apolloClient,
// Défition 'apollo' par défaut
defaultOptions: {
// Consultez la définition 'apollo'
// Par exemple : les options de requĂȘte par dĂ©faut
$query: {
loadingKey: 'loading',
fetchPolicy: 'cache-and-network',
},
},
// Observation de l'Ă©tat de chargement pour toutes les requĂȘtes
// Consultez 'RequĂȘtes intelligentes > options > watchLoading' pour plus de dĂ©tails
watchLoading (isLoading, countModifier) {
loading += countModifier
console.log('Global loading', loading, countModifier)
},
// Gestion globale des erreurs pour toutes les requĂȘtes intelligentes et les souscriptions
errorHandler (error) {
console.log('Gestion globale des erreurs')
console.error(error)
},
// DĂ©sactivation globale de la prĂ©-requĂȘte lors du rendu cĂŽtĂ© serveur (SSR)
prefetch: Boolean,
})
```

Vous pouvez utiliser le provider Apollo dans votre application Vue :

```js
new Vue({
el: '#app',
apolloProvider,
render: h => h(App),
})
```
69 changes: 69 additions & 0 deletions packages/docs/src/fr/api/apollo-query.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Composant ApolloQuery

Exemple :

```vue
<ApolloQuery
:query="gql => gql`
query MyHelloQuery ($name: String!) {
hello (name: $name)
}
`"
:variables="{ name }"
>
<template v-slot="{ result: { error, data }, isLoading }">
<!-- Chargement -->
<div v-if="isLoading" class="loading apollo">Chargement...</div>

<!-- Erreur -->
<div v-else-if="error" class="error apollo">Une erreur est survenue.</div>

<!-- Résultat -->
<div v-else-if="data" class="result apollo">{{ data.hello }}</div>

<!-- Pas de résultat -->
<div v-else class="no-result apollo">Pas de résultat :(</div>
</template>
</ApolloQuery>
```

::: warning
Pour activer le support du gabarit étiqueté `gql` dans les templates Vue, consultez l'étape nécessaire dans [le guide](../guide/components/query.md#tag-setup).
:::

## Props

- `query`: une requĂȘte GraphQL (transformĂ©e par `graphql-tag`) ou bien une fonction qui reçoit le gabarit `gql` comme argument et doit retourner la requĂȘte transformĂ©e
- `variables`: objet de variables GraphQL
- `fetchPolicy`: consultez [l'option `fetchPolicy` d'Apollo](https://www.apollographql.com/docs/react/data/queries/#options)
- `pollInterval`: consultez [l'option `pollInterval` d'Apollo](https://www.apollographql.com/docs/react/data/queries/#options)
- `notifyOnNetworkStatusChange`: consultez [l'option `notifyOnNetworkStatusChange` d'Apollo](https://www.apollographql.com/docs/react/data/queries/#options)
- `context`: consultez [l'option `context` d'Apollo](https://www.apollographql.com/docs/react/data/queries/#options)
- `update`: une fonction qui transforme le résultat `data`, pratique pour récupérer des parties spécifiques de la réponse. Exemple : `:update="data => data.user.messages"`
- `skip`: un boolĂ©en qui dĂ©sative le requĂȘtage
- `clientId`: l'identifiant du client Apollo utilisĂ© par la requĂȘte (dĂ©fini dans l'option `clients` d'ApolloProvider)
- `deep`: booléen pour permettre l'utilisation d'observateurs Vue imbriqués
- `tag`: le nom de la balise HTML (par défaut: `div`); si évalue à `false` (par exemple `null` ou `undefined`), le composant n'a pas de rendu (le contenu ne sera pas englobé dans une balise), et dans ce cas, uniquement le premier enfant sera rendu
- `debounce`: nombre de millisecondes pour stabiliser les nouvelles requĂȘtes (par exemple quand les variables changent)
- `throttle`: nombre de millisecondes pour rĂ©guler les nouvelles requĂȘtes (par exemple quand les variables changent)
- `prefetch`: si `false`, pas de prĂ©-requĂȘte lors du rendu cĂŽtĂ© serveur (SSR)
- `options`: autres options Apollo Watch Query

## Slots avec portée

- `result`: résulta Apollo Query
- `result.data`: donnĂ©e retournĂ©e par la requĂȘte (peut ĂȘtre transformĂ©e dans la prop `update`)
- `result.fullData`: donnĂ©e brute retournĂ©e par la requĂȘte (non transformĂ©e dans la prop `update`)
- `result.loading`: un boolĂ©en qui indique si requĂȘte est en cours (il est possible que vous deviez assigner la prop `notifyOnNetworkStatusChange` pour qu'il se mette Ă  jour)
- `result.error`: erreur évntuelle pour le résultat en cours
- `result.networkStatus`: consultez [l'option `networkStatus` d'Apollo](https://www.apollographql.com/docs/react/data/queries/#result)
- `query`: requĂȘte intelligente associĂ©e au composant. C'est pratique pour exĂ©cuter certaines opĂ©rations comme `query.refetch` ou bien `query.fetchMore`.
- `isLoading`: Ă©tat de chargement de la requĂȘte intelligente
- `gqlError`: la premiÚre erreur GraphQL évntuelle
- `times`: combien de fois le résultat a été mis à jour

## ÉvĂ©nements

- `result(resultObject)`
- `error(errorObject)`
- `loading(boolean)`
Loading