Le contenu de cette page a été traduit à l'aide d'une IA.
Voir la dernière version du contenu original en anglaisDocumentation de Configuration Intlayer
Vue d'ensemble
Les fichiers de configuration d'Intlayer permettent de personnaliser divers aspects du plugin, tels que l'internationalisation, les middlewares et la gestion de contenu. Ce document fournit une description détaillée de chaque propriété de la configuration.
Support des fichiers de configuration
Intlayer accepte les formats de fichiers de configuration JSON, JS, MJS et TS :
- intlayer.config.ts
- intlayer.config.js
- intlayer.config.json
- intlayer.config.cjs
- intlayer.config.mjs
- .intlayerrc
Exemple de fichier de configuration
import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = { internationalisation: { locales: [Locales.ENGLISH], }, contenu: { typesDir: "content/types", }, middleware: { noPrefix: false, },};export default config;
Référence de Configuration
Les sections suivantes décrivent les différents paramètres de configuration disponibles pour Intlayer.
Configuration d'Internationalisation
Définit les paramètres liés à l'internationalisation, y compris les locales disponibles et la locale par défaut pour l'application.
Propriétés
locales :
- Type : string[]
- Par défaut : ['en']
- Description : La liste des locales prises en charge dans l'application.
- Exemple : ['en', 'fr', 'es']
requiredLocales :
- Type : string[]
- Par défaut : []
- Description : La liste des locales requises dans l'application.
- Exemple : []
- Remarque : Si vide, toutes les locales sont requises en mode strict.
- Remarque : Assurez-vous que les locales requises sont également définies dans le champ locales.
strictMode :
- Type : string
- Par défaut : inclusive
- Description : Assure une implémentation stricte du contenu internationalisé en utilisant TypeScript.
- Remarque : Si défini sur "strict", la fonction de traduction t exigera que chaque locale déclarée soit définie. Si une locale manque ou si une locale n'est pas déclarée dans votre configuration, une erreur sera levée.
- Remarque : Si défini sur "inclusive", la fonction de traduction t exigera que chaque locale déclarée soit définie. Si une locale manque, un avertissement sera émis. Cependant, elle acceptera si une locale n'est pas déclarée dans votre configuration mais existe.
- Remarque : Si défini sur "loose", la fonction de traduction t acceptera toute locale existante.
defaultLocale :
- Type : string
- Par défaut : 'en'
- Description : La locale par défaut utilisée comme solution de repli si la locale demandée n'est pas trouvée.
- Exemple : 'en'
- Remarque : Utilisée pour déterminer la locale lorsqu'aucune n'est spécifiée dans l'URL, le cookie ou l'en-tête.
Configuration de l'Éditeur
Définit les paramètres liés à l'éditeur intégré, y compris le port du serveur et le statut actif.
Propriétés
applicationURL :
- Type : string
- Par défaut : http://localhost:3000
- Description : L'URL de l'application. Utilisée pour restreindre l'origine de l'éditeur pour des raisons de sécurité.
- Exemple :
- 'http://localhost:3000'
- 'https://example.com'
- process.env.INTLAYER_EDITOR_URL
- Remarque : Si défini sur '*', l'éditeur est accessible depuis n'importe quelle origine.
port :
- Type : number
- Par défaut : 8000
- Description : Le port utilisé par le serveur de l'éditeur visuel.
editorURL :
- Type : string
- Par défaut : 'http://localhost:8000'
- Description : L'URL du serveur de l'éditeur. Utilisée pour restreindre l'origine de l'éditeur pour des raisons de sécurité.
- 'http://localhost:3000'
- 'https://example.com'
- process.env.INTLAYER_EDITOR_URL
- Remarque : Devrait être défini si le port est modifié ou si l'éditeur est hébergé sur un domaine différent.
cmsURL :
- Type : string
- Par défaut : 'https://intlayer.org'
- Description : L'URL du CMS Intlayer.
- Exemple : 'https://intlayer.org'
backendURL :
- Type : string
- Par défaut : https://back.intlayer.org
- Description : L'URL du serveur backend.
- Exemple : http://localhost:4000
enabled :
- Type : boolean
- Par défaut : true
- Description : Indique si l'application interagit avec l'éditeur visuel.
- Exemple : process.env.NODE_ENV !== 'production'
- Remarque : Si vrai, l'éditeur pourra interagir avec l'application. Si faux, l'éditeur ne pourra pas interagir avec l'application.
clientId :
- Type : string | undefined
- Par défaut : undefined
- Description : clientId et clientSecret permettent aux packages Intlayer de s'authentifier avec le backend via l'authentification oAuth2. Un jeton d'accès est utilisé pour authentifier l'utilisateur lié au projet.
- Exemple : true
- Remarque : Important : Le clientId et le clientSecret doivent rester secrets et ne pas être partagés publiquement.
clientSecret :
- Type : string | undefined
- Par défaut : undefined
- Description : clientId et clientSecret permettent aux packages Intlayer de s'authentifier avec le backend via l'authentification oAuth2.
- Exemple : true
- Remarque : Important : Le clientId et le clientSecret doivent rester secrets et ne pas être partagés publiquement.
hotReload :
- Type : boolean
- Par défaut : false
- Description : Indique si l'application doit recharger à chaud les configurations de locale lorsqu'un changement est détecté.
- Exemple : true
- Remarque : Par exemple, lorsqu'un nouveau dictionnaire est ajouté ou mis à jour, l'application mettra à jour le contenu affiché sur la page.
dictionaryPriorityStrategy :
- Type : string
- Par défaut : 'local_first'
- Description : La stratégie pour prioriser les dictionnaires en cas de présence de dictionnaires locaux et distants.
- Exemple : 'distant_first'
Configuration du Middleware
Paramètres qui contrôlent le comportement des middlewares, y compris la gestion des cookies, des en-têtes et des préfixes d'URL pour la gestion des locales.
Propriétés
headerName :
- Type : string
- Par défaut : 'x-intlayer-locale'
- Description : Le nom de l'en-tête HTTP utilisé pour déterminer la locale.
- Exemple : 'x-custom-locale'
Remarque : Utile pour la détermination de la locale basée sur l'API.
- Type: string
- Par défaut: 'intlayer-locale'
- Description: Le nom du cookie utilisé pour stocker la langue.
- Exemple: 'custom-locale'
- Remarque: Utilisé pour conserver la langue entre les sessions.
prefixDefault:
- Type: boolean
- Par défaut: true
- Description: Indique si la langue par défaut doit être incluse dans l'URL.
- Exemple: false
- Remarque: Si false, les URL pour la langue par défaut n'auront pas de préfixe de langue.
basePath:
- Type: string
- Par défaut: ''
- Description: Le chemin de base pour les URL de l'application.
- Exemple: '/my-app'
- Remarque: Cela affecte la manière dont les URL sont construites pour l'application.
serverSetCookie:
- Type: string
- Par défaut: 'always'
- Description: Règle pour définir le cookie de langue sur le serveur.
- Options: 'always', 'never'
- Exemple: 'never'
- Remarque: Contrôle si le cookie de langue est défini à chaque requête ou jamais.
noPrefix:
- Type: boolean
- Par défaut: false
- Description: Indique si le préfixe de langue doit être omis dans les URL.
- Exemple: true
- Remarque: Si true, les URL ne contiendront pas d'informations sur la langue.
Configuration du contenu
Paramètres liés à la gestion du contenu dans l'application, y compris les noms de répertoires, les extensions de fichiers et les configurations dérivées.
Propriétés
watch:
- Type: boolean
- Par défaut: process.env.NODE_ENV === 'development'
- Description: Indique si Intlayer doit surveiller les modifications dans les fichiers de déclaration de contenu de l'application pour reconstruire les dictionnaires associés.
fileExtensions:
- Type: string[]
- Par défaut: ['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']
- Description: Extensions de fichiers à rechercher lors de la construction des dictionnaires.
- Exemple: ['.data.ts', '.data.js', '.data.json']
- Remarque: Personnaliser les extensions de fichiers peut aider à éviter les conflits.
baseDir:
- Type: string
- Par défaut: process.cwd()
- Description: Le répertoire de base pour le projet.
- Exemple: '/path/to/project'
- Remarque: Utilisé pour résoudre tous les répertoires liés à Intlayer.
dictionaryOutput:
- Type: string[]
- Par défaut: ['intlayer']
- Description: Le type de sortie de dictionnaire à utiliser, par exemple 'intlayer' ou 'i18next'.
contentDir:
- Type: string[]
- Par défaut: ['src']
- Description: Le chemin du répertoire où le contenu est stocké.
dictionariesDir:
- Type: string
- Par défaut: '.intlayer/dictionaries'
- Description: Le chemin du répertoire pour stocker les résultats intermédiaires ou finaux.
moduleAugmentationDir:
- Type: string
- Par défaut: '.intlayer/types'
- Description: Répertoire pour l'augmentation des modules, permettant de meilleures suggestions IDE et vérifications de type.
- Exemple: 'intlayer-types'
- Remarque: Assurez-vous d'inclure ce répertoire dans tsconfig.json.
unmergedDictionariesDir:
- Type: string
- Par défaut: '.intlayer/unmerged_dictionary'
- Description: Le répertoire pour stocker les dictionnaires non fusionnés.
- Exemple: 'translations'
dictionariesDir:
- Type: string
- Par défaut: '.intlayer/dictionary'
- Description: Le répertoire pour stocker les dictionnaires de localisation.
- Exemple: 'translations'
i18nextResourcesDir:
- Type: string
- Par défaut: 'i18next_dictionary'
- Description: Le répertoire pour stocker les dictionnaires i18n.
- Exemple: 'translations'
- Remarque: Assurez-vous que ce répertoire est configuré pour le type de sortie i18next.
typesDir:
- Type: string
- Par défaut: 'types'
- Description: Le répertoire pour stocker les types de dictionnaires.
- Exemple: 'intlayer-types'
mainDir:
- Type: string
- Par défaut: 'main'
- Description: Le répertoire où les fichiers principaux de l'application sont stockés.
- Exemple: 'intlayer-main'
excludedPath:
- Type: string[]
- Par défaut: ['node_modules']
- Description: Répertoires exclus de la recherche de contenu.
- Remarque: Ce paramètre n'est pas encore utilisé, mais prévu pour une future implémentation.
Configuration du journal
Paramètres qui contrôlent le journal, y compris le préfixe à utiliser.
Propriétés
mode:
- Type: string
- Par défaut: default
- Description: Indique le mode du journal.
- Options: default, verbose, disabled
- Exemple: default
- Remarque: Le mode verbose enregistrera plus d'informations, mais peut être utilisé à des fins de débogage. Le mode disabled désactivera le journal.
prefix:
- Type: string
- Par défaut: '[intlayer] '
- Description: Le préfixe du journal.
- Exemple: '[my custom prefix] '
- Remarque: Le préfixe du journal.
Configuration de l'IA
Paramètres qui contrôlent les fonctionnalités d'IA d'Intlayer, y compris le fournisseur, le modèle et la clé API.
Cette configuration est optionnelle si vous êtes inscrit sur le Tableau de bord Intlayer en utilisant une clé d'accès. Intlayer gérera automatiquement la solution d'IA la plus efficace et rentable pour vos besoins. L'utilisation des options par défaut garantit une meilleure maintenabilité à long terme, car Intlayer met continuellement à jour les modèles les plus pertinents.
Si vous préférez utiliser votre propre clé API ou un modèle spécifique, vous pouvez définir votre configuration d'IA personnalisée. Cette configuration sera utilisée globalement dans votre environnement Intlayer. Les commandes CLI utiliseront ces paramètres comme valeurs par défaut pour les commandes (par exemple, fill), ainsi que le SDK, l'éditeur visuel et le CMS. Vous pouvez remplacer ces valeurs par défaut pour des cas d'utilisation spécifiques en utilisant des paramètres de commande.
Intlayer prend en charge plusieurs fournisseurs d'IA pour une flexibilité et un choix accrus. Les fournisseurs actuellement pris en charge sont :
- OpenAI (par défaut)
- Anthropic Claude
- Mistral AI
- DeepSeek
- Google Gemini
- Meta Llama
Propriétés
provider:
- Type: string
- Par défaut: 'openai'
- Description: Le fournisseur à utiliser pour les fonctionnalités d'IA d'Intlayer.
- Options: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini'
- Exemple: 'anthropic'
- Remarque: Différents fournisseurs peuvent nécessiter différentes clés API et avoir des modèles de tarification différents.
model:
- Type: string
- Par défaut: Aucun
- Description: Le modèle à utiliser pour les fonctionnalités d'IA d'Intlayer.
- Exemple: 'gpt-4o-2024-11-20'
- Remarque: Le modèle spécifique à utiliser varie selon le fournisseur.
temperature:
- Type: number
- Par défaut: Aucun
- Description: La température contrôle l'aléatoire des réponses de l'IA.
- Exemple: 0.1
- Remarque: Une température plus élevée rendra l'IA plus créative et moins prévisible.
apiKey:
- Type: string
- Par défaut: Aucun
- Description: Votre clé API pour le fournisseur sélectionné.
- Exemple: process.env.OPENAI_API_KEY
- Remarque: Important : Les clés API doivent rester secrètes et ne pas être partagées publiquement. Veuillez vous assurer de les conserver dans un endroit sécurisé, comme des variables d'environnement.
applicationContext:
- Type: string
- Par défaut: Aucun
- Description: Fournit un contexte supplémentaire sur votre application au modèle d'IA, l'aidant à générer des traductions plus précises et contextuellement appropriées. Cela peut inclure des informations sur le domaine de votre application, le public cible, le ton ou la terminologie spécifique.
Si vous avez une idée d’amélioration pour améliorer cette documentation, n’hésitez pas à contribuer en submitant une pull request sur GitHub.
Lien GitHub de la documentation