react-intlayer : Package NPM pour internationaliser (i18n) une application React

    Intlayer est une suite de packages conçue spécifiquement pour les développeurs JavaScript. Elle est compatible avec des frameworks comme React, React et Express.js.

    Le package react-intlayer vous permet d'internationaliser votre application React. Il fournit des fournisseurs de contexte et des hooks pour l'internationalisation dans React.

    Pourquoi internationaliser votre application React ?

    Internationaliser votre application React est essentiel pour servir efficacement un public mondial. Cela permet à votre application de fournir du contenu et des messages dans la langue préférée de chaque utilisateur. Cette capacité améliore l'expérience utilisateur et élargit la portée de votre application en la rendant plus accessible et pertinente pour des personnes de différents horizons linguistiques.

    Pourquoi intégrer Intlayer ?

    • Gestion de contenu alimentée par JavaScript : Exploitez la flexibilité de JavaScript pour définir et gérer efficacement votre contenu.
    • Environnement Type-Safe : Utilisez TypeScript pour garantir que toutes vos définitions de contenu sont précises et sans erreur.
    • Fichiers de contenu intégrés : Gardez vos traductions proches de leurs composants respectifs, améliorant ainsi la maintenabilité et la clarté.

    Installation

    Installez le package nécessaire en utilisant votre gestionnaire de packages préféré :

    bash
    npm install react-intlayer

    Exemple d'utilisation

    Avec Intlayer, vous pouvez déclarer votre contenu de manière structurée n'importe où dans votre code.

    Par défaut, Intlayer recherche les fichiers avec l'extension .content.{ts,tsx,js,jsx,mjs,cjs}.

    Vous pouvez modifier l'extension par défaut en définissant la propriété contentDir dans le fichier de configuration.

    bash
    .├── intlayer.config.ts└── src    └── components        ├── Component1        │   ├── index.content.ts        │   └── index.tsx        └── Component2            ├── index.content.ts            └── index.tsx

    Déclarez votre contenu

    react-intlayer est conçu pour fonctionner avec le package intlayer. intlayer est un package qui vous permet de déclarer votre contenu n'importe où dans votre code. Il convertit les déclarations de contenu multilingues en dictionnaires structurés qui s'intègrent parfaitement à votre application.

    Voici un exemple de déclaration de contenu :

    tsx
    import { t, type Dictionary } from "intlayer";const component1Content = {  key: "component-1",  content: {    myTranslatedContent: t({      en: "Hello World",      fr: "Bonjour le monde",      es: "Hola Mundo",    }),    numberOfCar: enu({      "<-1": "Moins d'une voiture",      "-1": "Moins une voiture",      "0": "Aucune voiture",      "1": "Une voiture",      ">5": "Quelques voitures",      ">19": "Beaucoup de voitures",    }),  },} satisfies Dictionary;export default component1Content;

    Utilisez le contenu dans votre code

    Une fois que vous avez déclaré votre contenu, vous pouvez l'utiliser dans votre code. Voici un exemple d'utilisation du contenu dans un composant React :

    src/components/Component1Example.tsx
    "use client";import type { FC } from "react";import { useIntlayer } from "react-intlayer";export const Component1Example: FC = () => {  const { myTranslatedContent } = useIntlayer("component-1"); // Créez une déclaration de contenu associée  return (    <div>      <p>{myTranslatedContent}</p>    </div>  );};

    Maîtriser l'internationalisation de votre application React

    Intlayer offre de nombreuses fonctionnalités pour vous aider à internationaliser votre application React.

    Pour en savoir plus sur ces fonctionnalités, consultez le guide Internationalisation (i18n) de React avec Intlayer et Vite et React pour les applications Vite et React, ou le guide Internationalisation (i18n) de React avec Intlayer et React (CRA) pour React Create App.

    Fonctions fournies par le package react-intlayer

    Le package react-intlayer fournit également des fonctions pour vous aider à internationaliser votre application.

    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