md
# Démarrage pour déclarer votre contenu## Extensions de fichiersPar défaut, Intlayer surveille tous les fichiers avec les extensions suivantes pour les déclarations de contenu :- `.content.ts`- `.content.tsx`- `.content.js`- `.content.mjs`- `.content.cjs`L'application recherchera par défaut des fichiers correspondant au motif glob `./src/**/*.content.{ts,tsx,js,jsx,mjs,cjs}`.Ces extensions par défaut conviennent à la plupart des applications. Cependant, si vous avez des exigences spécifiques, référez-vous au [guide de personnalisation des extensions de contenu](/fr/doc/concept/configuration#content-configuration) pour des instructions sur leur gestion.Pour une liste complète des options de configuration, consultez la documentation de configuration.## Déclarez votre contenuCréez et gérez vos dictionnaires :```tsx fileName="src/example.content.ts" codeFormat="typescript"import { t, enu, cond, nest, md, type Dictionary } from "intlayer";interface Content {  imbricatedContent: {    imbricatedContent2: {      stringContent: string;      numberContent: number;      booleanContent: boolean;    };    multilingualContent: string;    quantityContent: string;    conditionalContent: string;    nestedContent: string;    markdownContent: string;    externalContent: string;  };}export default {  key: "page",  content: {    imbricatedContent: {      imbricatedContent2: {        stringContent: "Bonjour le monde", // Traduction        numberContent: 123,        booleanContent: true,        javaScriptContent: `${process.env.NODE_ENV}`,      },    },    multilingualContent: t({      en: "Contenu en anglais",      "en-GB": "Contenu anglais (Royaume-Uni)",      fr: "Contenu en français",      es: "Contenu en espagnol",    }),    quantityContent: enu({      "<-1": "Moins d'une voiture",      "-1": "Moins une voiture",      "0": "Aucune voiture",      "1": "Une voiture",      ">5": "Quelques voitures",      ">19": "De nombreuses voitures",    }),    conditionalContent: cond({      true: "La validation est activée",      false: "La validation est désactivée",    }),    nestedContent: nest(      "navbar", // La clé du dictionnaire à imbriquer      "login.button" // [Optionnel] Le chemin du contenu à imbriquer    ),    externalContent: async () => await fetch("https://example.com"),    markdownContent: md("# Exemple de Markdown"),    /*     * Uniquement disponible avec `react-intlayer` ou `next-intlayer`     */    jsxContent: <h1>Mon titre</h1>,  },} satisfies Dictionary<Content>; // [optionnel] Le dictionnaire est générique et permet de renforcer le formatage de votre dictionnaire```

Fonction imbriquée

Vous pouvez sans problème imbriquer des fonctions dans d'autres.

Exemple :

src/example.content.ts
import { t, enu, cond, nest, md, type Dictionary } from "intlayer";const getName = async () => "John Doe"; // Exempleexport default {  key: "page",  content: { ... }} satisfies Dictionary;

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