Получайте уведомления о предстоящих релизах Intlayer
    Создание:2025-03-13Последнее обновление:2025-06-29

    Содержимое файла / Встраивание файлов в Intlayer

    Как работает встраивание файлов

    В Intlayer функция file позволяет встраивать содержимое внешних файлов в словарь. Такой подход гарантирует, что Intlayer распознает исходный файл, обеспечивая бесшовную интеграцию с визуальным редактором Intlayer и CMS. В отличие от прямого использования import, require или методов чтения файлов через fs, использование file связывает файл со словарем, позволяя Intlayer отслеживать и динамически обновлять содержимое при редактировании файла.

    Настройка содержимого файла

    Чтобы встроить содержимое файла в ваш проект Intlayer, используйте функцию file в модуле контента. Ниже приведены примеры, демонстрирующие различные реализации.

    **/*.content.ts
    import { file, type Dictionary } from "intlayer";const myFileContent = {  key: "my_key",  content: {    myFile: file("./path/to/file.txt"),  },} satisfies Dictionary;export default myFileContent;

    Использование содержимого файла в React Intlayer

    Чтобы использовать встроенное содержимое файла в React-компоненте, импортируйте и используйте хук useIntlayer из пакета react-intlayer. Этот хук извлекает содержимое по указанному ключу и позволяет динамически отображать его.

    **/*.tsx
    import type { FC } from "react";import { useIntlayer } from "react-intlayer";const FileComponent: FC = () => {  const { myFile } = useIntlayer("my_key");  return (    <div>      <pre>{myFile}</pre>    </div>  );};export default FileComponent;

    Пример многоязычного Markdown

    Для поддержки многоязычных редактируемых файлов Markdown вы можете использовать file в сочетании с t() и md(), чтобы определить разные языковые версии файла с содержимым Markdown.

    **/*.content.ts
    import { file, t, md, type Dictionary } from "intlayer";const myMultilingualContent = {  key: "my_multilingual_key",  content: {    myContent: md(      t({        ru: file("src/components/test.ru.md"),        en: file("src/components/test.en.md"),        fr: file("src/components/test.fr.md"),        es: file("src/components/test.es.md"),      })    ),  },} satisfies Dictionary;export default myMultilingualContent;

    Эта настройка позволяет динамически получать контент в зависимости от предпочтений языка пользователя. При использовании в Intlayer Visual Editor или CMS система распознает, что контент поступает из указанных Markdown-файлов, и гарантирует, что они остаются редактируемыми.

    Как Intlayer обрабатывает содержимое файлов

    Функция file основана на модуле fs Node.js для чтения содержимого указанного файла и вставки его в словарь. При использовании совместно с Intlayer Visual Editor или CMS Intlayer может отслеживать связь между словарём и файлом. Это позволяет Intlayer:

    • Распознавать, что контент происходит из конкретного файла.
    • Автоматически обновлять содержимое словаря при редактировании связанного файла.
    • Обеспечивать синхронизацию между файлом и словарём, сохраняя целостность содержимого.

    Дополнительные ресурсы

    Для получения более подробной информации о настройке и использовании встраивания файлов в Intlayer обратитесь к следующим ресурсам:

    Эти ресурсы предоставляют дополнительные сведения о встраивании файлов, управлении содержимым и интеграции Intlayer с различными фреймворками.

    История документа

    • 5.5.10 - 2025-06-29: Инициализация истории
    Получайте уведомления о предстоящих релизах Intlayer