Active locale: {{ locale }}
``` Lisez `locale.value` dans des expressions de script ordinaires. Les composants, les valeurs calculées et les effets de rendu qui lisent la ref sont mis à jour une fois le changement réactif de paramètre régional terminé. ## Créer un sélecteur de langue [#switcher] [`useSetLocale()`](/docs/vue/reference/composables/use-set-locale) renvoie un setter async. Utilisez `await` afin que l’interface puisse indiquer un chargement en cours ou gérer une erreur : ```vue title="src/components/LocaleSwitcher.vue" ``` Avec un plugin [`createGT()`](/docs/vue/reference/functions/create-gt), le setter charge un catalogue qui n’est pas en cache avant de modifier le paramètre régional. Les chargements réussis sont mis en cache. Si des requêtes se chevauchent, seule la plus récente modifie le paramètre régional actif. Un catalogue vide constitue un chargement réussi : le paramètre régional change et le contenu source s’affiche comme contenu de secours. Si le loader échoue, le paramètre régional actif et son cookie restent inchangés. ## Conserver le paramètre régional [#persistence] Dans un navigateur, le paramètre régional actif est enregistré dans un cookie de session valable pour tous les chemins, nommé `generaltranslation.locale`. Lorsque `locale` est omis de [`createGT()`](/docs/vue/reference/functions/create-gt), ce cookie prévaut sur `defaultLocale`. Définissez `localeCookieName` lorsque l’application doit partager un autre cookie avec un routeur ou un serveur : ```ts createGT({ defaultLocale: 'en', localeCookieName: 'my-app.locale', loadTranslations, }); ``` Utilisez [`useSetLocale()`](/docs/vue/reference/composables/use-set-locale) plutôt que d’écrire directement dans le cookie. Les navigateurs n’émettent pas d’événement réactif lors de la modification d’un cookie ; une écriture externe ne déclenche donc pas à elle seule un rendu Vue. ## Choisir un changement réactif ou avec rechargement [#runtime-mode] Le mode d’initialisation détermine ce qui se produit après la modification du cookie : * [`createGT()`](/docs/vue/reference/functions/create-gt) charge le catalogue et met à jour les consommateurs réactifs sans recharger la page. * [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) écrit le cookie et recharge le document afin que les appels à [`t()`](/docs/vue/reference/functions/t) au niveau du module soient de nouveau exécutés après le préchargement du nouveau paramètre régional. L’initialiseur SPA accepte `locales` et se replie sur `defaultLocale` lorsqu’un paramètre régional enregistré ou demandé n’est pas pris en charge. Suivez le guide [Développer avec les traductions SPA](/docs/vue/guides/developing-spa-translations) lorsque la traduction au niveau du module nécessite ce comportement. Pour le rendu côté serveur, résolvez le paramètre régional de la requête sur le serveur et transmettez-le explicitement à [`createGT()`](/docs/vue/reference/functions/create-gt). Cette valeur explicite prévaut sur un cookie de navigateur obsolète et garantit l’alignement entre le paramètre régional du rendu côté serveur et celui de l’hydratation. ## Next steps - /docs/vue/guides/configuring - /docs/vue/guides/storing-translations - /docs/vue/guides/developing-spa-translations - /docs/vue/guides/translating-content