react-intlayer: NPM пакет для интернационализации (i18n) React приложения
Intlayer — это набор пакетов, разработанных специально для разработчиков JavaScript. Он совместим с такими фреймворками, как React, React и Express.js.
Пакет react-intlayer позволяет вам интернационализировать ваше React приложение. Он предоставляет контекстные провайдеры и хуки для интернационализации в React.
Почему интернационализировать ваше React приложение?
Интернационализация вашего React приложения необходима для эффективного обслуживания глобальной аудитории. Это позволяет вашему приложению предоставлять контент и сообщения на предпочитаемом языке каждого пользователя. Эта возможность улучшает пользовательский опыт и расширяет охват вашего приложения, делая его более доступным и актуальным для людей с различным языковым фоном.
Почему стоит интегрировать Intlayer?
- Управление контентом на основе JavaScript: Используйте гибкость JavaScript для эффективного определения и управления вашим контентом.
- Типобезопасная среда: Используйте TypeScript, чтобы гарантировать, что все ваши определения контента точны и без ошибок.
- Интегрированные файлы контента: Храните ваши переводы рядом с их соответствующими компонентами, что улучшает поддерживаемость и ясность.
Установка
Установите необходимый пакет с использованием вашего предпочтительного менеджера пакетов:
npm install react-intlayer
Пример использования
С помощью Intlayer вы можете объявлять ваш контент структурированным образом в любой части вашего кода.
По умолчанию, Intlayer ищет файлы с расширением .content.{ts,tsx,js,jsx,mjs,cjs}.
Вы можете изменить стандартное расширение, установив свойство contentDir в файле конфигурации.
.├── intlayer.config.ts└── src └── components ├── Component1 │ ├── index.content.ts │ └── index.tsx └── Component2 ├── index.content.ts └── index.tsx
Объявите ваш контент
react-intlayer разработан для работы с пакетом intlayer. intlayer — это пакет, который позволяет вам объявлять ваш контент в любой части вашего кода. Он преобразует многоязычные объявления контента в структурированные словари, которые интегрируются в ваше приложение без усилий.
Вот пример объявления контента:
import { type DeclarationContent, t } from "intlayer";const component1Content = { key: "component-1", content: { myTranslatedContent: t({ en: "Hello World", fr: "Bonjour le monde", es: "Hola Mundo", }), numberOfCar: enu({ "<-1": "Меньше чем одна машина", "-1": "Одна машина", "0": "Нет машин", "1": "Одна машина", ">5": "Несколько машин", ">19": "Много машин", }), },} satisfies DeclarationContent;export default component1Content;
Используйте контент в вашем коде
После того как вы объявили ваш контент, вы можете использовать его в вашем коде. Вот пример того, как использовать контент в компоненте React:
"use client";import type { FC } from "react";import { useIntlayer } from "react-intlayer";export const Component1Example: FC = () => { const { myTranslatedContent } = useIntlayer("component-1"); // Создание связанного объявления контента return ( <div> <p>{myTranslatedContent}</p> </div> );};
Осваивая интернационализацию вашего React приложения
Intlayer предоставляет множество возможностей для помощи в интернационализации вашего React приложения.
Чтобы узнать больше об этих возможностях, ознакомьтесь с интернационализацией React (i18n) с Intlayer и Vite и React или с интернационализацией React (i18n) с Intlayer и React (CRA) руководствами для Vite и React приложения.
Функции, предоставляемые пакетом react-intlayer
Пакет react-intlayer также предоставляет некоторые функции, которые помогут вам интернационализировать ваше приложение.
Если у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.
Ссылка на документацию GitHub