diff --git a/src/content/docs/fr/guides/internationalization.mdx b/src/content/docs/fr/guides/internationalization.mdx index 6a9b445e6f92e..79eb766df9593 100644 --- a/src/content/docs/fr/guides/internationalization.mdx +++ b/src/content/docs/fr/guides/internationalization.mdx @@ -166,7 +166,7 @@ Activez cette option quand toutes les routes auront un préfixe `/locale/` dans - index.astro -- Les URL sans préfixe de paramètres régionaux, (par exemple `example.com/about/`) renverront un code d'état 404 (introuvable), sauf si vous spécifiez une [stratégie de repli](#fallback). +- Les URL sans préfixe de paramètres régionaux, (par exemple `example.com/about/`) renverront un code d'état 404 (introuvable), sauf si vous spécifiez une [stratégie de repli](#stratégie-de-repli). ### `redirectToDefaultLocale` @@ -286,13 +286,22 @@ Avec la configuration ci-dessus : Les URL ci-dessus seront également renvoyées par les fonctions `getAbsoluteLocaleUrl()` et `getAbsoluteLocaleUrlList()`. -## `fallback` +## Stratégie de repli -Le routage i18n d'Astro vous permet de configurer une **stratégie de routage de repli**. Lorsqu'une page dans une langue n'existe pas (par exemple une page qui n'est pas encore traduite), au lieu d'afficher une page 404, vous pouvez rediriger un utilisateur d'une langue à une autre en fonction de la langue. Ceci est utile lorsque vous n'avez pas encore de page pour chaque route, mais que vous souhaitez quand même fournir du contenu à vos visiteurs. +Lorsqu'une page dans une langue n'existe pas (par exemple une page qui n'est pas encore traduite), au lieu d'afficher une page 404, vous pouvez choisir d'afficher le contenu de secours d'un autre paramètre régional (`locale`) pour chaque langue. Cela est utile lorsque vous n'avez pas encore de page pour chaque route, mais que vous souhaitez tout de même fournir du contenu à vos visiteurs. -Par exemple, la configuration ci-dessous définit `es` comme paramètres régionaux de repli pour toutes les routes `fr` manquantes. Cela signifie qu'un visiteur consultant `example.com/fr/my-page/` sera redirigé et affichera le contenu de `example.com/es/my-page/` au lieu d'être redirigé vers une page 404 quand `src/pages/fr/my-page.astro` n'existe pas. +Votre stratégie de repli se compose de deux parties : choisir les langues vers lesquelles se rabattre ([`i18n.fallback`](/fr/reference/configuration-reference/#i18nfallback)) et choisir d'effectuer une [redirection](/fr/guides/routing/#redirections) ou une [réécriture](/fr/guides/routing/#réécritures) pour afficher le contenu de secours ([`i18n.routing.fallbackType`](/fr/reference/configuration-reference/#i18nroutingfallbacktype) ajouté dans Astro v4.15.0). -```js title="astro.config.mjs" ins={6-8} +Par exemple, lorsque vous configurez `i18n.fallback: { fr: "es" }`, Astro s'assurera qu'une page est créée dans `src/pages/fr/` pour chaque page qui existe dans `src/pages/es/`. + +Si une page n'existe pas déjà, une page sera créée en fonction de votre `fallbackType` : + +- Avec une redirection vers la route `es` correspondante (comportement par défaut). +- Avec le contenu de la page `/es/` (`i18n.routing.fallbackType: "rewrite"`). + +Par exemple, la configuration ci-dessous définit `es` comme paramètre régional de secours pour toutes les routes `fr` manquantes. Cela signifie qu'un utilisateur visitant `example.com/fr/my-page/` verra le contenu de `example.com/es/my-page/` (sans être redirigé) au lieu d'être dirigé vers une page 404 lorsque `src/pages/fr/my-page.astro` n'existe pas. + +```js title="astro.config.mjs" ins={6-8,10} import { defineConfig } from "astro/config" export default defineConfig({ i18n: { @@ -300,13 +309,14 @@ export default defineConfig({ locales: ["es", "en", "fr"], fallback: { fr: "es" + }, + routing: { + fallbackType: "rewrite" } } }) ``` -Astro garantira qu'une page est construite dans `src/pages/fr` pour chaque page qui existe dans `src/pages/es/`. Si la page n'existe pas déjà, alors une page avec une redirection vers la route `es` correspondante sera créée. - ## Chemins d'accès aux paramètres régionaux personnalisés En plus de définir les paramètres régionaux (`locales`) pris en charge par votre site sous forme de chaînes de caractères (par exemple « en », « pt-br »), Astro vous permet également d'associer un nombre arbitraire de [`codes` de langue reconnus par le navigateur](https://developer.mozilla.org/fr/docs/Web/HTTP/Headers/Accept-Language#syntaxe) à une URL personnalisée `path`. Alors que les paramètres régionaux peuvent être des chaînes de caractères de n'importe quel format tant qu'ils correspondent à la structure des dossiers de votre projet, les `codes` doivent suivre la syntaxe acceptée par le navigateur.