@intlayer/docs 9.3.0 → 9.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/blog/ar/rag_powered_documentation_assistant.md +1 -1
- package/blog/pl/rag_powered_documentation_assistant.md +1 -1
- package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -2
- package/dist/cjs/authors2.cjs +0 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +4 -2
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +4 -2
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +4 -2
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +4 -2
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +4 -2
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +4 -2
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +4 -2
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +4 -2
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/docs/ar/configuration.md +10 -10
- package/docs/ar/interest_of_intlayer.md +24 -22
- package/docs/ar/intlayer_with_express.md +1 -1
- package/docs/ar/intlayer_with_svelte_kit.md +1 -1
- package/docs/ar/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ar/intlayer_with_tanstack.md +5 -3
- package/docs/ar/lsp.md +114 -175
- package/docs/ar/readme.md +25 -25
- package/docs/bn/configuration.md +10 -10
- package/docs/bn/interest_of_intlayer.md +24 -22
- package/docs/cs/configuration.md +10 -10
- package/docs/cs/interest_of_intlayer.md +24 -22
- package/docs/de/configuration.md +10 -10
- package/docs/de/interest_of_intlayer.md +24 -22
- package/docs/de/intlayer_with_svelte_kit.md +1 -1
- package/docs/de/intlayer_with_tanstack+solid.md +5 -3
- package/docs/de/intlayer_with_tanstack.md +5 -3
- package/docs/de/lsp.md +111 -172
- package/docs/de/readme.md +24 -24
- package/docs/en/configuration.md +10 -10
- package/docs/en/interest_of_intlayer.md +24 -22
- package/docs/en/intlayer_with_svelte_kit.md +1 -1
- package/docs/en/intlayer_with_tanstack+solid.md +5 -3
- package/docs/en/intlayer_with_tanstack.md +5 -3
- package/docs/en/lsp.md +109 -170
- package/docs/en/readme.md +24 -24
- package/docs/en-GB/configuration.md +10 -10
- package/docs/en-GB/interest_of_intlayer.md +24 -22
- package/docs/en-GB/intlayer_with_svelte_kit.md +1 -1
- package/docs/en-GB/intlayer_with_tanstack+solid.md +5 -3
- package/docs/en-GB/intlayer_with_tanstack.md +5 -3
- package/docs/en-GB/lsp.md +109 -170
- package/docs/en-GB/readme.md +24 -24
- package/docs/es/configuration.md +10 -10
- package/docs/es/interest_of_intlayer.md +24 -22
- package/docs/es/intlayer_with_svelte_kit.md +1 -1
- package/docs/es/intlayer_with_tanstack+solid.md +5 -3
- package/docs/es/intlayer_with_tanstack.md +5 -3
- package/docs/es/lsp.md +114 -175
- package/docs/es/readme.md +24 -24
- package/docs/fr/configuration.md +10 -10
- package/docs/fr/interest_of_intlayer.md +24 -22
- package/docs/fr/intlayer_with_svelte_kit.md +1 -1
- package/docs/fr/intlayer_with_tanstack+solid.md +5 -3
- package/docs/fr/intlayer_with_tanstack.md +5 -3
- package/docs/fr/lsp.md +110 -171
- package/docs/fr/readme.md +24 -24
- package/docs/hi/configuration.md +10 -10
- package/docs/hi/interest_of_intlayer.md +24 -22
- package/docs/hi/intlayer_with_express.md +1 -1
- package/docs/hi/intlayer_with_svelte_kit.md +1 -1
- package/docs/hi/intlayer_with_tanstack+solid.md +5 -3
- package/docs/hi/intlayer_with_tanstack.md +5 -3
- package/docs/hi/lsp.md +113 -174
- package/docs/hi/readme.md +24 -24
- package/docs/id/configuration.md +10 -10
- package/docs/id/interest_of_intlayer.md +24 -22
- package/docs/id/intlayer_with_svelte_kit.md +1 -1
- package/docs/id/intlayer_with_tanstack+solid.md +5 -3
- package/docs/id/intlayer_with_tanstack.md +5 -3
- package/docs/id/lsp.md +113 -174
- package/docs/id/readme.md +24 -24
- package/docs/it/configuration.md +10 -10
- package/docs/it/interest_of_intlayer.md +24 -22
- package/docs/it/intlayer_with_svelte_kit.md +1 -1
- package/docs/it/intlayer_with_tanstack+solid.md +5 -3
- package/docs/it/intlayer_with_tanstack.md +5 -3
- package/docs/it/lsp.md +115 -176
- package/docs/it/readme.md +24 -24
- package/docs/ja/configuration.md +10 -10
- package/docs/ja/interest_of_intlayer.md +24 -22
- package/docs/ja/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ja/intlayer_with_tanstack.md +5 -3
- package/docs/ja/lsp.md +113 -174
- package/docs/ja/readme.md +24 -24
- package/docs/ko/configuration.md +10 -10
- package/docs/ko/interest_of_intlayer.md +24 -22
- package/docs/ko/intlayer_with_svelte_kit.md +1 -1
- package/docs/ko/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ko/intlayer_with_tanstack.md +5 -3
- package/docs/ko/lsp.md +112 -173
- package/docs/ko/readme.md +24 -24
- package/docs/nl/configuration.md +10 -10
- package/docs/nl/interest_of_intlayer.md +24 -22
- package/docs/pl/configuration.md +10 -10
- package/docs/pl/interest_of_intlayer.md +4 -2
- package/docs/pl/intlayer_with_svelte_kit.md +1 -1
- package/docs/pl/intlayer_with_tanstack+solid.md +5 -3
- package/docs/pl/intlayer_with_tanstack.md +5 -3
- package/docs/pl/lsp.md +115 -176
- package/docs/pl/readme.md +24 -24
- package/docs/pt/configuration.md +10 -10
- package/docs/pt/interest_of_intlayer.md +24 -22
- package/docs/pt/intlayer_with_svelte_kit.md +1 -1
- package/docs/pt/intlayer_with_tanstack+solid.md +5 -3
- package/docs/pt/intlayer_with_tanstack.md +5 -3
- package/docs/pt/lsp.md +113 -174
- package/docs/pt/readme.md +24 -24
- package/docs/ru/configuration.md +10 -10
- package/docs/ru/interest_of_intlayer.md +24 -22
- package/docs/ru/intlayer_with_nextjs_14.md +1 -1
- package/docs/ru/intlayer_with_nextjs_15.md +1 -1
- package/docs/ru/intlayer_with_svelte_kit.md +1 -1
- package/docs/ru/intlayer_with_tanstack+solid.md +5 -3
- package/docs/ru/intlayer_with_tanstack.md +5 -3
- package/docs/ru/lsp.md +112 -173
- package/docs/ru/readme.md +24 -24
- package/docs/tr/configuration.md +10 -10
- package/docs/tr/interest_of_intlayer.md +24 -22
- package/docs/tr/intlayer_with_svelte_kit.md +1 -1
- package/docs/tr/intlayer_with_tanstack+solid.md +5 -3
- package/docs/tr/intlayer_with_tanstack.md +5 -3
- package/docs/tr/lsp.md +113 -174
- package/docs/tr/readme.md +24 -24
- package/docs/uk/configuration.md +10 -10
- package/docs/uk/interest_of_intlayer.md +4 -2
- package/docs/uk/intlayer_with_svelte_kit.md +1 -1
- package/docs/uk/intlayer_with_tanstack+solid.md +5 -3
- package/docs/uk/intlayer_with_tanstack.md +5 -3
- package/docs/uk/lsp.md +113 -174
- package/docs/uk/per_locale_file.md +1 -1
- package/docs/uk/readme.md +24 -24
- package/docs/ur/configuration.md +10 -10
- package/docs/ur/interest_of_intlayer.md +24 -22
- package/docs/vi/configuration.md +10 -10
- package/docs/vi/interest_of_intlayer.md +24 -22
- package/docs/vi/intlayer_with_svelte_kit.md +1 -1
- package/docs/vi/intlayer_with_tanstack+solid.md +5 -3
- package/docs/vi/intlayer_with_tanstack.md +5 -3
- package/docs/vi/lsp.md +115 -176
- package/docs/vi/readme.md +24 -24
- package/docs/zh/configuration.md +10 -10
- package/docs/zh/interest_of_intlayer.md +24 -22
- package/docs/zh/intlayer_with_svelte_kit.md +1 -1
- package/docs/zh/intlayer_with_tanstack+solid.md +5 -3
- package/docs/zh/intlayer_with_tanstack.md +5 -3
- package/docs/zh/lsp.md +113 -174
- package/docs/zh/readme.md +21 -21
- package/docs/zh-TW/interest_of_intlayer.md +24 -22
- package/package.json +6 -6
package/docs/fr/configuration.md
CHANGED
|
@@ -404,7 +404,7 @@ const config: IntlayerConfig = {
|
|
|
404
404
|
ai: {
|
|
405
405
|
/**
|
|
406
406
|
* Fournisseur d'IA à utiliser.
|
|
407
|
-
* Options : 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai', 'lmstudio'
|
|
407
|
+
* Options : 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai', 'lmstudio', 'moonshotai'
|
|
408
408
|
* Par défaut : 'openai'
|
|
409
409
|
*/
|
|
410
410
|
provider: "openai",
|
|
@@ -1036,15 +1036,15 @@ Intlayer supporte plusieurs fournisseurs d'IA pour une flexibilité accrue. Les
|
|
|
1036
1036
|
- **Together.ai**
|
|
1037
1037
|
- **LM Studio**
|
|
1038
1038
|
|
|
1039
|
-
| Champ | Description | Type
|
|
1040
|
-
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
1041
|
-
| `provider` | Le fournisseur à utiliser pour les fonctionnalités IA d'Intlayer. | `'openai'` | <br/> `'anthropic'` | <br/> `'mistral'` | <br/> `'deepseek'` | <br/> `'gemini'` | <br/> `'ollama'` | <br/> `'openrouter'` | <br/> `'alibaba'` | <br/> `'fireworks'` | <br/> `'groq'` | <br/> `'huggingface'` | <br/> `'bedrock'` | <br/> `'googleaistudio'` | <br/> `'googlevertex'` | <br/> `'togetherai'` | <br/> `'lmstudio'` | `undefined` | `'anthropic'` | Les différents fournisseurs nécessitent des clés API différentes et ont des tarifs variés. |
|
|
1042
|
-
| `model` | Le modèle à utiliser pour les fonctionnalités IA. | `string`
|
|
1043
|
-
| `temperature` | Contrôle le caractère aléatoire des réponses de l'IA. | `number`
|
|
1044
|
-
| `apiKey` | Votre clé API pour le fournisseur sélectionné. | `string`
|
|
1045
|
-
| `applicationContext` | Contexte supplémentaire sur votre application pour aider l'IA à générer des traductions plus précises (domaine, audience, ton, terminologie). | `string`
|
|
1046
|
-
| `baseURL` | L'URL de base pour l'API IA. | `string`
|
|
1047
|
-
| `dataSerialization` | Format de sérialisation des données pour les fonctionnalités IA. | `'json'` | <br/> `'toon'`
|
|
1039
|
+
| Champ | Description | Type | Par défaut | Exemple | Note |
|
|
1040
|
+
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
1041
|
+
| `provider` | Le fournisseur à utiliser pour les fonctionnalités IA d'Intlayer. | `'openai'` | <br/> `'anthropic'` | <br/> `'mistral'` | <br/> `'deepseek'` | <br/> `'gemini'` | <br/> `'ollama'` | <br/> `'openrouter'` | <br/> `'alibaba'` | <br/> `'fireworks'` | <br/> `'groq'` | <br/> `'huggingface'` | <br/> `'bedrock'` | <br/> `'googleaistudio'` | <br/> `'googlevertex'` | <br/> `'togetherai'` | <br/> `'lmstudio'` | <br/> `'moonshotai'` | `undefined` | `'anthropic'` | Les différents fournisseurs nécessitent des clés API différentes et ont des tarifs variés. |
|
|
1042
|
+
| `model` | Le modèle à utiliser pour les fonctionnalités IA. | `string` | Aucun | `'gpt-4o-2024-11-20'` | Le modèle spécifique varie selon le fournisseur. |
|
|
1043
|
+
| `temperature` | Contrôle le caractère aléatoire des réponses de l'IA. | `number` | Aucun | `0.1` | Température plus élevée = plus créatif et moins prévisible. |
|
|
1044
|
+
| `apiKey` | Votre clé API pour le fournisseur sélectionné. | `string` | Aucun | `process.env.OPENAI_API_KEY` | Garder secret ; stocker dans les variables d'environnement. |
|
|
1045
|
+
| `applicationContext` | Contexte supplémentaire sur votre application pour aider l'IA à générer des traductions plus précises (domaine, audience, ton, terminologie). | `string` | Aucun | `'Mon contexte d'application'` | Peut être utilisé pour ajouter des règles (ex: `"Vous ne devez pas transformer les urls"`). |
|
|
1046
|
+
| `baseURL` | L'URL de base pour l'API IA. | `string` | Aucun | `'https://api.openai.com/v1'` <br/> `'http://localhost:5000'` | Peut pointer vers un point de terminaison d'API IA local ou personnalisé. |
|
|
1047
|
+
| `dataSerialization` | Format de sérialisation des données pour les fonctionnalités IA. | `'json'` | <br/> `'toon'` | `undefined` | `'toon'` | • `'json'`: standard, fiable ; utilise plus de tokens.<br/>• `'toon'`: moins de tokens, moins cohérent.<br/>• Des paramètres supplémentaires sont passés au modèle comme contexte (effort de raisonnement, etc.). |
|
|
1048
1048
|
|
|
1049
1049
|
---
|
|
1050
1050
|
|
|
@@ -207,7 +207,7 @@ export const ComponentExample = () => {
|
|
|
207
207
|
Cette approche vous permet de :
|
|
208
208
|
|
|
209
209
|
1. **Augmenter la vitesse de développement**
|
|
210
|
-
- Les fichiers `.content.{
|
|
210
|
+
- Les fichiers `.content.{ts|js|mjs|cjs|json|tsx|jsx|md|mdx|yaml|yml}` peuvent être créés à l'aide d'une extension VSCode
|
|
211
211
|
- Les outils d'autocomplétion IA de votre IDE (tels que GitHub Copilot) peuvent vous aider à déclarer votre contenu, réduisant le copier-coller
|
|
212
212
|
|
|
213
213
|
2. **Nettoyer votre base de code**
|
|
@@ -231,27 +231,27 @@ Cette approche vous permet de :
|
|
|
231
231
|
|
|
232
232
|
## Fonctionnalités supplémentaires d'Intlayer
|
|
233
233
|
|
|
234
|
-
| Fonctionnalité | Description
|
|
235
|
-
| ------------------------------------------------------------------------------------------------------------------------- |
|
|
236
|
-
|  | **Support multi-frameworks**<br><br>Intlayer est compatible avec tous les frameworks et bibliothèques majeurs, y compris Next.js, React, Vite, Vue.js, Nuxt, Preact, Express et plus encore.
|
|
237
|
-
|  | **Gestion de contenu propulsée par JavaScript**<br><br>Exploitez la flexibilité de JavaScript pour définir et gérer efficacement votre contenu.<br><br> - [Déclaration de contenu](https://intlayer.org/doc/concept/content)
|
|
238
|
-
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Feature" width="700"> | **Compilateur**<br><br>Le compilateur d'Intlayer extrait automatiquement le contenu des composants et génère les fichiers de dictionnaire.<br><br> - [Compilateur](https://intlayer.org/doc/compiler)
|
|
239
|
-
|  | **Fichier de déclaration de contenu par langue**<br><br>Accélérez votre développement en déclarant votre contenu une seule fois, avant la génération automatique.<br><br> - [Fichier de déclaration de contenu par langue](https://intlayer.org/doc/concept/per-locale-file)
|
|
240
|
-
|  | **Environnement sécurisé par typage**<br><br>Bénéficiez de TypeScript pour vous assurer que vos définitions de contenu et votre code sont exempts d'erreurs, tout en profitant de l'autocomplétion de votre IDE.<br><br> - [Configuration de TypeScript](https://intlayer.org/doc/environment/vite-and-react#configure-typescript)
|
|
241
|
-
|  | **Configuration simplifiée**<br><br>Démarrez rapidement avec une configuration minimale. Ajustez facilement les paramètres d'internationalisation, de routage, d'IA, de build et de gestion du contenu.<br><br> - [Explorer l'intégration Next.js](https://intlayer.org/doc/environment/nextjs)
|
|
242
|
-
|  | **Récupération simplifiée du contenu**<br><br>Pas besoin d'appeler votre fonction `t` pour chaque élément de contenu. Récupérez tout votre contenu directement à l'aide d'un seul hook.<br><br> - [Intégration React](https://intlayer.org/doc/environment/create-react-app)
|
|
243
|
-
|  | **Implémentation cohérente des composants serveur**<br><br>Parfaitement adapté aux composants serveur de Next.js, utilisez la même implémentation pour les composants client et serveur, pas besoin de passer votre fonction `t` à travers chaque composant serveur.<br><br> - [Composants serveur](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code)
|
|
244
|
-
|  | **Base de code organisée**<br><br>Gardez votre base de code plus organisée : 1 composant = 1 dictionnaire dans le même dossier. Les traductions proches de leurs composants respectifs améliorent la maintenabilité et la clarté.<br><br> - [Comment fonctionne Intlayer](https://intlayer.org/doc/concept/how-works-intlayer)
|
|
245
|
-
|  | **Routage amélioré**<br><br>Prise en charge complète du routage d'applications, s'adaptant parfaitement aux structures d'applications complexes, pour Next.js, React, Vite, Vue.js, etc.<br><br> - [Explorer l'intégration Next.js](https://intlayer.org/doc/environment/nextjs)
|
|
246
|
-
|  | **Support de Markdown**<br><br>Importez et interprétez des fichiers locaux et du Markdown distant pour du contenu multilingue tel que les politiques de confidentialité, la documentation, etc. Interprétez et rendez les métadonnées Markdown accessibles dans votre code.<br><br> - [Fichiers de contenu](https://intlayer.org/doc/concept/content/file)
|
|
247
|
-
|  | **Éditeur visuel et CMS gratuits**<br><br>Un éditeur visuel et un CMS gratuits sont disponibles pour les rédacteurs de contenu, éliminant le besoin d'une plateforme de localisation. Gardez votre contenu synchronisé avec Git, ou externalisez-le totalement ou partiellement avec le CMS.<br><br> - [Éditeur Intlayer](https://intlayer.org/doc/concept/editor) <br> - [CMS Intlayer](https://intlayer.org/doc/concept/cms)
|
|
248
|
-
|  | **Contenu éliminable au build (Tree-shakable)**<br><br>Contenu éliminable au build, réduisant la taille du bundle final. Charge le contenu par composant, excluant tout contenu inutilisé de votre bundle. Prend en charge le chargement différé (lazy loading) pour améliorer l'efficacité du chargement de l'application.<br><br> - [Optimisation du build de l'application](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization)
|
|
249
|
-
|  | **Rendu statique**<br><br>Ne bloque pas le rendu statique.<br><br> - [Intégration Next.js](https://intlayer.org/doc/environment/nextjs)
|
|
250
|
-
|  | **Traduction propulsée par l'IA**<br><br>Transformez votre site Web en 231 langues en un seul clic à l'aide des outils de traduction IA avancés d'Intlayer avec votre propre fournisseur d'IA/clé API.<br><br> - [Intégration CI/CD](https://intlayer.org/doc/concept/ci-cd) <br> - [CLI Intlayer](https://intlayer.org/doc/concept/cli) <br> - [Remplissage automatique](https://intlayer.org/doc/concept/auto-fill)
|
|
251
|
-
|  | **Intégration du serveur MCP**<br><br>Fournit un serveur MCP (Model Context Protocol) pour l'automatisation de l'IDE, permettant une gestion transparente du contenu et des flux de travail i18n directement dans votre environnement de développement.<br><br> - [Serveur MCP](https://github.com/aymericzip/intlayer/blob/main/docs/fr/mcp_server.md)
|
|
252
|
-
|  | **Extension VSCode**<br><br>Intlayer fournit une extension VSCode pour vous aider à gérer votre contenu et vos traductions, à construire vos dictionnaires, à traduire votre contenu, et plus encore.<br><br> - [Extension VSCode](https://intlayer.org/doc/vs-code-extension)
|
|
253
|
-
|  | **Interopérabilité**<br><br>Permet l'interopérabilité avec react-i18next, next-i18next, next-intl et react-intl.<br><br> - [Intlayer et react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer et next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer et next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next)
|
|
254
|
-
| Tester les traductions manquantes (CLI/CI) | ✅ CLI : npx intlayer content test (audit compatible CI)
|
|
234
|
+
| Fonctionnalité | Description |
|
|
235
|
+
| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
236
|
+
|  | **Support multi-frameworks**<br><br>Intlayer est compatible avec tous les frameworks et bibliothèques majeurs, y compris Next.js, React, Vite, Vue.js, Nuxt, Preact, Express et plus encore. |
|
|
237
|
+
|  | **Gestion de contenu propulsée par JavaScript**<br><br>Exploitez la flexibilité de JavaScript pour définir et gérer efficacement votre contenu.<br><br> - [Déclaration de contenu](https://intlayer.org/doc/concept/content) |
|
|
238
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Feature" width="700"> | **Compilateur**<br><br>Le compilateur d'Intlayer extrait automatiquement le contenu des composants et génère les fichiers de dictionnaire.<br><br> - [Compilateur](https://intlayer.org/doc/compiler) |
|
|
239
|
+
|  | **Fichier de déclaration de contenu par langue**<br><br>Accélérez votre développement en déclarant votre contenu une seule fois, avant la génération automatique.<br><br> - [Fichier de déclaration de contenu par langue](https://intlayer.org/doc/concept/per-locale-file) |
|
|
240
|
+
|  | **Environnement sécurisé par typage**<br><br>Bénéficiez de TypeScript pour vous assurer que vos définitions de contenu et votre code sont exempts d'erreurs, tout en profitant de l'autocomplétion de votre IDE.<br><br> - [Configuration de TypeScript](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
|
|
241
|
+
|  | **Configuration simplifiée**<br><br>Démarrez rapidement avec une configuration minimale. Ajustez facilement les paramètres d'internationalisation, de routage, d'IA, de build et de gestion du contenu.<br><br> - [Explorer l'intégration Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
242
|
+
|  | **Récupération simplifiée du contenu**<br><br>Pas besoin d'appeler votre fonction `t` pour chaque élément de contenu. Récupérez tout votre contenu directement à l'aide d'un seul hook.<br><br> - [Intégration React](https://intlayer.org/doc/environment/create-react-app) |
|
|
243
|
+
|  | **Implémentation cohérente des composants serveur**<br><br>Parfaitement adapté aux composants serveur de Next.js, utilisez la même implémentation pour les composants client et serveur, pas besoin de passer votre fonction `t` à travers chaque composant serveur.<br><br> - [Composants serveur](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
|
|
244
|
+
|  | **Base de code organisée**<br><br>Gardez votre base de code plus organisée : 1 composant = 1 dictionnaire dans le même dossier. Les traductions proches de leurs composants respectifs améliorent la maintenabilité et la clarté.<br><br> - [Comment fonctionne Intlayer](https://intlayer.org/doc/concept/how-works-intlayer) |
|
|
245
|
+
|  | **Routage amélioré**<br><br>Prise en charge complète du routage d'applications, s'adaptant parfaitement aux structures d'applications complexes, pour Next.js, React, Vite, Vue.js, etc.<br><br> - [Explorer l'intégration Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
246
|
+
|  | **Support de Markdown**<br><br>Importez et interprétez des fichiers locaux et du Markdown distant pour du contenu multilingue tel que les politiques de confidentialité, la documentation, etc. Interprétez et rendez les métadonnées Markdown accessibles dans votre code.<br><br> - [Fichiers de contenu](https://intlayer.org/doc/concept/content/file) |
|
|
247
|
+
|  | **Éditeur visuel et CMS gratuits**<br><br>Un éditeur visuel et un CMS gratuits sont disponibles pour les rédacteurs de contenu, éliminant le besoin d'une plateforme de localisation. Gardez votre contenu synchronisé avec Git, ou externalisez-le totalement ou partiellement avec le CMS.<br><br> - [Éditeur Intlayer](https://intlayer.org/doc/concept/editor) <br> - [CMS Intlayer](https://intlayer.org/doc/concept/cms) |
|
|
248
|
+
|  | **Contenu éliminable au build (Tree-shakable)**<br><br>Contenu éliminable au build, réduisant la taille du bundle final. Charge le contenu par composant, excluant tout contenu inutilisé de votre bundle. Prend en charge le chargement différé (lazy loading) pour améliorer l'efficacité du chargement de l'application.<br><br> - [Optimisation du build de l'application](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
|
|
249
|
+
|  | **Rendu statique**<br><br>Ne bloque pas le rendu statique.<br><br> - [Intégration Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
250
|
+
|  | **Traduction propulsée par l'IA**<br><br>Transformez votre site Web en 231 langues en un seul clic à l'aide des outils de traduction IA avancés d'Intlayer avec votre propre fournisseur d'IA/clé API.<br><br> - [Intégration CI/CD](https://intlayer.org/doc/concept/ci-cd) <br> - [CLI Intlayer](https://intlayer.org/doc/concept/cli) <br> - [Remplissage automatique](https://intlayer.org/doc/concept/auto-fill) |
|
|
251
|
+
|  | **Intégration du serveur MCP**<br><br>Fournit un serveur MCP (Model Context Protocol) pour l'automatisation de l'IDE, permettant une gestion transparente du contenu et des flux de travail i18n directement dans votre environnement de développement.<br><br> - [Serveur MCP](https://github.com/aymericzip/intlayer/blob/main/docs/fr/mcp_server.md) |
|
|
252
|
+
|  | **Extension VSCode**<br><br>Intlayer fournit une extension VSCode pour vous aider à gérer votre contenu et vos traductions, à construire vos dictionnaires, à traduire votre contenu, et plus encore.<br><br> - [Extension VSCode](https://intlayer.org/doc/vs-code-extension) |
|
|
253
|
+
|  | **Interopérabilité**<br><br>Permet l'interopérabilité avec react-i18next, next-i18next, next-intl et react-intl.<br><br> - [Intlayer et react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer et next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer et next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) <br> - [Adaptateurs de compatibilité Intlayer](https://intlayer.org/doc/compatibility) |
|
|
254
|
+
| Tester les traductions manquantes (CLI/CI) | ✅ CLI : npx intlayer content test (audit compatible CI) |
|
|
255
255
|
|
|
256
256
|
## Comparaison d'Intlayer avec d'autres solutions
|
|
257
257
|
|
|
@@ -290,3 +290,5 @@ Les étoiles GitHub sont un indicateur fort de la popularité d'un projet, de la
|
|
|
290
290
|
`intlayer` peut également aider à gérer vos espaces de noms `react-intl`, `react-i18next`, `next-intl`, `next-i18next` et `vue-i18n`.
|
|
291
291
|
|
|
292
292
|
En utilisant `intlayer`, vous pouvez déclarer votre contenu dans le format de votre bibliothèque i18n préférée, et intlayer générera vos espaces de noms à l'emplacement de votre choix (exemple : `/messages/{{locale}}/{{namespace}}.json`).
|
|
293
|
+
|
|
294
|
+
Si vous souhaitez continuer à utiliser l'API de votre bibliothèque i18n actuelle, `intlayer` fournit également des **adaptateurs de compatibilité (compat adapters)** : des paquets exposant exactement la même API que `react-i18next`, `next-intl`, `react-intl`, `vue-i18n`, etc., mais alimentés par les dictionnaires Intlayer. Cela vous permet de migrer progressivement sans réécrire votre code. Consultez la [documentation des adaptateurs de compatibilité](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/index.md).
|
|
@@ -404,7 +404,7 @@ export const getLocale = (event: RequestEvent): Locale => {
|
|
|
404
404
|
};
|
|
405
405
|
```
|
|
406
406
|
|
|
407
|
-
> `getLocaleFromStorage` vérifiera la locale à partir de l'en-tête ou du cookie selon votre configuration. Voir [Configuration](https://intlayer.org/doc/configuration) pour plus de détails.
|
|
407
|
+
> `getLocaleFromStorage` vérifiera la locale à partir de l'en-tête ou du cookie selon votre configuration. Voir [Configuration](https://intlayer.org/doc/concept/configuration) pour plus de détails.
|
|
408
408
|
|
|
409
409
|
> La fonction `localeDetector` traitera l'en-tête `Accept-Language` et retournera la meilleure correspondance.
|
|
410
410
|
|
|
@@ -254,19 +254,21 @@ import {
|
|
|
254
254
|
HeadContent,
|
|
255
255
|
Scripts,
|
|
256
256
|
createRootRouteWithContext,
|
|
257
|
+
getRouteApi,
|
|
257
258
|
} from "@tanstack/solid-router";
|
|
258
259
|
import { HydrationScript } from "solid-js/web";
|
|
259
260
|
import { Suspense, type ParentComponent } from "solid-js";
|
|
260
261
|
import { IntlayerProvider } from "solid-intlayer";
|
|
261
262
|
import { defaultLocale, getHTMLTextDir } from "intlayer";
|
|
262
|
-
|
|
263
|
+
|
|
264
|
+
const localeRoute = getRouteApi("/{-$locale}");
|
|
263
265
|
|
|
264
266
|
export const Route = createRootRouteWithContext()({
|
|
265
267
|
shellComponent: RootComponent,
|
|
266
268
|
});
|
|
267
269
|
|
|
268
270
|
const RootComponent: ParentComponent = (props) => {
|
|
269
|
-
const params =
|
|
271
|
+
const params = localeRoute.useParams();
|
|
270
272
|
const locale = params()?.locale ?? defaultLocale;
|
|
271
273
|
|
|
272
274
|
return (
|
|
@@ -551,7 +553,7 @@ Comme vu à l'étape 5, vous pouvez gérer les attributs `lang` et `dir` de la b
|
|
|
551
553
|
|
|
552
554
|
```tsx fileName="src/routes/__root.tsx"
|
|
553
555
|
const RootComponent: ParentComponent = (props) => {
|
|
554
|
-
const params =
|
|
556
|
+
const params = localeRoute.useParams();
|
|
555
557
|
const locale = params()?.locale ?? defaultLocale;
|
|
556
558
|
|
|
557
559
|
return (
|
|
@@ -271,13 +271,15 @@ Configurez votre layout racine pour supporter l'internationalisation en utilisan
|
|
|
271
271
|
```tsx fileName="src/routes/__root.tsx"
|
|
272
272
|
import {
|
|
273
273
|
createRootRouteWithContext,
|
|
274
|
+
getRouteApi,
|
|
274
275
|
HeadContent,
|
|
275
276
|
Scripts,
|
|
276
277
|
} from "@tanstack/react-router";
|
|
277
278
|
import { defaultLocale, getHTMLTextDir } from "intlayer";
|
|
278
279
|
import { type ReactNode } from "react";
|
|
279
280
|
import { IntlayerProvider } from "react-intlayer";
|
|
280
|
-
|
|
281
|
+
|
|
282
|
+
const localeRoute = getRouteApi("/{-$locale}");
|
|
281
283
|
|
|
282
284
|
export const Route = createRootRouteWithContext<{}>()({
|
|
283
285
|
head: () => ({
|
|
@@ -299,7 +301,7 @@ export const Route = createRootRouteWithContext<{}>()({
|
|
|
299
301
|
});
|
|
300
302
|
|
|
301
303
|
function RootDocument({ children }: { children: ReactNode }) {
|
|
302
|
-
const params =
|
|
304
|
+
const params = localeRoute.useParams();
|
|
303
305
|
const locale = params?.locale ?? defaultLocale;
|
|
304
306
|
|
|
305
307
|
return (
|
|
@@ -632,7 +634,7 @@ Comme vu à l'étape 5, vous pouvez gérer les attributs `lang` et `dir` de la b
|
|
|
632
634
|
|
|
633
635
|
```tsx fileName="src/routes/__root.tsx"
|
|
634
636
|
function RootDocument({ children }: { children: ReactNode }) {
|
|
635
|
-
const params =
|
|
637
|
+
const params = localeRoute.useParams();
|
|
636
638
|
const locale = params?.locale ?? defaultLocale;
|
|
637
639
|
|
|
638
640
|
return (
|