Documentation de Configuration Intlayer
Vue d'ensemble
Les fichiers de configuration Intlayer permettent de personnaliser divers aspects du plugin, tels que l'internationalisation, le middleware et la gestion du contenu. Ce document fournit une description détaillée de chaque propriété dans la configuration.
Formats de fichiers de configuration pris en charge
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";// Configuration Intlayerconst config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH], // Locales disponibles }, content: { typesDir: "content/types", // Répertoire des types }, middleware: { noPrefix: false, // Pas de préfixe },};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[]
- Défaut : ['en']
- Description : La liste des locales prises en charge dans l'application.
- Exemple : ['en', 'fr', 'es']
requiredLocales :
- Type : string[]
- 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
- 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 nécessitera 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 nécessitera que chaque locale déclarée soit définie. Si une locale manque, un avertissement sera émis. Cependant, elle acceptera une locale non déclarée dans votre configuration mais existante.
- Remarque : Si défini sur "loose", la fonction de traduction t acceptera toute locale existante.
defaultLocale :
- Type : string
- 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é 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 l'état actif.
Propriétés
applicationURL :
- Type : string
- Défaut : '*'
- Description : L'URL de l'application. Utilisé 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
- Défaut : 8000
- Description : Le port utilisé par le serveur de l'éditeur visuel.
editorURL :
- Type : string
- Défaut : 'http://localhost:8000'
- Description : L'URL du serveur de l'éditeur. Utilisé 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 : Si défini sur '*', l'éditeur est accessible depuis n'importe quelle origine.
cmsURL :
- Type : string
- Défaut : 'https://intlayer.org'
- Description : L'URL du CMS Intlayer.
- Exemple : 'https://intlayer.org'
backendURL :
- Type : string
- Défaut : https://back.intlayer.org
- Description : L'URL du serveur backend.
- Exemple : http://localhost:4000
enabled :
- Type : boolean
- 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
- Défaut : undefined
- Description : clientId et clientSecret permettent aux packages Intlayer de s'authentifier avec le backend en utilisant l'authentification oAuth2.
- Exemple : true
- Remarque : Important : Le clientId et le clientSecret doivent rester secrets.
clientSecret :
- Type : string | undefined
- Défaut : undefined
- Description : clientId et clientSecret permettent aux packages Intlayer de s'authentifier avec le backend en utilisant l'authentification oAuth2.
- Exemple : true
- Remarque : Important : Le clientId et le clientSecret doivent rester secrets.
hotReload :
- Type : boolean
- Défaut : false
- Description : Indique si l'application doit recharger à chaud les configurations de locale lorsqu'un changement est détecté.
- Exemple : true
- Remarque : Disponible uniquement pour les clients du plan enterprise.
dictionaryPriorityStrategy :
- Type : string
- 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 Middleware
Paramètres qui contrôlent le comportement du middleware, 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
- Défaut : 'x-intlayer-locale'
- Description : Le nom de l'en-tête HTTP utilisé pour déterminer la locale.
- Exemple : 'x-custom-locale'
cookieName :
- Type : string
- Défaut : 'intlayer-locale'
- Description : Le nom du cookie utilisé pour stocker la locale.
- Exemple : 'custom-locale'
prefixDefault :
- Type : boolean
- Défaut : true
- Description : Inclure ou non la locale par défaut dans l'URL.
- Exemple : false
basePath :
- Type : string
- Défaut : ''
- Description : Le chemin de base pour les URL de l'application.
- Exemple : '/my-app'
serverSetCookie :
- Type : string
- Défaut : 'always'
- Description : Règle pour définir le cookie de locale sur le serveur.
- Options : 'always', 'never'
- Exemple : 'never'
noPrefix :
- Type : boolean
- Défaut : false
- Description : Omettre ou non le préfixe de locale dans les URLs.
- Exemple : true
Configuration du Contenu
Paramètres liés à la gestion du contenu au sein de 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
- Défaut : process.env.NODE_ENV === 'development'
- Description : Indique si Intlayer doit surveiller les changements dans les fichiers de déclaration de contenu.
fileExtensions :
- Type : string[]
- 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.
baseDir :
- Type : string
- Défaut : process.cwd()
- Description : Le répertoire de base pour le projet.
dictionaryOutput :
- Type : string[]
- Défaut : ['intlayer']
- Description : Le type de sortie de dictionnaire à utiliser.
contentDirName :
- Type : string
- Défaut : 'src'
- Description : Le nom du répertoire où le contenu est stocké.
contentDir :
- Type : string
- Dérivé de : 'baseDir' / 'contentDirName'
- Description : Le chemin du répertoire où le contenu est stocké.
resultDirName :
- Type : string
- Défaut : '.intlayer'
- Description : Le nom du répertoire où les résultats sont stockés.
resultDir :
- Type : string
- Dérivé de : 'baseDir' / 'resultDirName'
- Description : Le chemin du répertoire pour stocker les résultats intermédiaires ou finaux.
moduleAugmentationDirName :
- Type : string
- Défaut : 'types'
- Description : Répertoire pour l'augmentation de modules.
moduleAugmentationDir :
- Type : string
- Dérivé de : 'baseDir' / 'moduleAugmentationDirName'
- Description : Le chemin pour l'augmentation de modules.
dictionariesDirName :
- Type : string
- Défaut : 'dictionary'
- Description : Répertoire pour stocker les dictionnaires.
dictionariesDir :
- Type : string
- Dérivé de : 'resultDir' / 'dictionariesDirName'
- Description : Le répertoire pour stocker les dictionnaires de localisation.
i18nextResourcesDirName :
- Type : string
- Défaut : 'i18next_dictionary'
- Description : Répertoire pour stocker les dictionnaires i18n.
i18nextResourcesDir :
- Type : string
- Dérivé de : 'resultDir' / 'i18nextResourcesDirName'
- Description : Le répertoire pour stocker les dictionnaires i18n.
typeDirName :
- Type : string
- Défaut : 'types'
- Description : Répertoire pour stocker les types de dictionnaires.
typesDir :
- Type : string
- Dérivé de : 'resultDir' / 'typeDirName'
- Description : Le répertoire pour stocker les types de dictionnaires.
mainDirName :
- Type : string
- Défaut : 'main'
- Description : Répertoire pour stocker les fichiers principaux.
mainDir :
- Type : string
- Dérivé de : 'resultDir' / 'mainDirName'
- Description : Le répertoire où les fichiers principaux de l'application sont stockés.
excludedPath :
- Type : string[]
- Défaut : ['node_modules']
- Description : Répertoires exclus de la recherche de contenu.
Configuration du Logger
Paramètres qui contrôlent le logger, y compris le préfixe à utiliser.
Propriétés
mode :
- Type : string
- Défaut : default
- Description : Indique le mode du logger.
- Options : default, verbose, disabled
- Exemple : default
prefix :
- Type : string
- Défaut : '[intlayer] '
- Description : Le préfixe du logger.
- Exemple : '[my custom prefix] '
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