ГлавнаяПесочницаВитринаПриложениеДокументБлог
    • Englishанглийский
      EN
    • русскийрусский
      RU
    • 日本語японский
      JA
    • françaisфранцузский
      FR
    • 한국어корейский
      KO
    • 中文китайский
      ZH
    • españolиспанский
      ES
    • Deutschнемецкий
      DE
    • العربيةарабский
      AR
    • italianoитальянский
      IT
    • British Englishбританский английский
      EN-GB
    • portuguêsпортугальский
      PT
    • हिन्दीхинди
      HI
    • Türkçeтурецкий
      TR
    • polskiпольский
      PL
    • Indonesiaиндонезийский
      ID
    • Tiếng Việtвьетнамский
      VI
    • українськаукраинский
      UK
    /
    Фильтровать документы по фреймворку
    Alt+←
    Почему Intlayer?
    Начать
    Концепция
    • Как работает Intlayer
    • Конфигурация
    • TestFillBuildWatchExtractLoginPushPullConfigurationListVersionEditorLiveDebugDoc ReviewDoc TranslateSDK
    • Визуальный редактор
    • CMS
    • Интеграция CI/CD
    • ПереводМножественное числоПеречислениеУсловиеПолВставкаФайлВложенностьMarkdownHTMLПолучение функции
    • Файл для каждой локали
    • Компилятор
    • Автозаполнение
    • Тестирование
    • Оптимизация пакета
    Окружающая среда
    • Next.js 14 и App Router
      Next.js 15
      Next.js без locale URL
      Next.js и Page Router
      Compiler
    • Tanstack Start Solid
    • Astro и React
      Astro и Svelte
      Astro и Vue
      Astro и Solid
      Astro и Preact
      Astro и Lit
      Astro и Vanilla JS
    • React Router v7
      React Router v7 (fs-routes)
      Compiler
    • Nuxt и Vue
    • Vite и Solid
    • SvelteKit
    • Vite и Preact
    • Vite и Vanilla JS
    • Vite и Lit
    • Angular 19 (Webpack)
      Analog
    • React CRA
    • React Native и Expo
    • Express.js
      NestJS
      Fastify
      Hono
      Adonis
    • Lynx и React
    Plugins
    • JSON
    • gettext (.po)
    Расширение VS Code
    Агент
    • Сервер MCP
    • Навики агента
    Релизы
    • v8
    • v7
    • v6
    Бенчмарк
    • Next.js
    • TanStack
    • Vue
    • Solid
    • Svelte
    Блог
    Задать вопрос
    1. Documentation
    2. Концепция
    3. Объявление контента
    4. Получение функции
    Создание:2024-08-11Последнее обновление:2025-06-29
    Ссылайтесь на этот документ на ваш любимый ассистент AI
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI

    Этот документ устарел, базовая версия была обновлена 23 августа 2025 г..

    Перейти к английской документации

    История версий

    1. "Инициализация истории"
      v5.5.1029.06.2025

    Содержимое этой страницы было переведено с помощью ИИ.

    Смотреть последнюю версию оригинального контента на английском
    Изменить эту документацию

    Если у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.

    Ссылка на документацию GitHub
    Копировать

    Копировать Markdown документа в буфер обмена

    Получение данных через функции

    Intlayer позволяет объявлять функции контента в ваших модулях контента, которые могут быть как синхронными, так и асинхронными. При сборке приложения Intlayer выполняет эти функции, чтобы получить результат функции. Возвращаемое значение должно быть объектом JSON или простым значением, таким как строка или число.

    Внимание: получение данных через функции в настоящее время недоступно в объявлениях контента в формате JSON и в файлах удалённых объявлений контента.

    Объявления функций

    Вот пример простой синхронной функции, получающей контент:

    **/*.content.ts
    Копировать код

    Копировать код в буфер обмена

    import type { Dictionary } from "intlayer";
    
    const functionContent = {
      key: "function_content",
      content: {
        text: () => "This is the content rendered by a function",
      },
    } satisfies Dictionary;
    
    export default functionContent;

    В этом примере ключ text содержит функцию, которая возвращает строку. Этот контент может быть отображён в ваших React-компонентах с использованием пакетов интерпретатора Intlayer, таких как react-intlayer.

    Асинхронное получение данных функцией

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

    Ниже приведён пример асинхронной функции, которая имитирует запрос к серверу:

    **/*.content.ts
    Копировать код

    Копировать код в буфер обмена

    import { setTimeout } from "node:timers/promises";
    import type { Dictionary } from "intlayer";
    
    const fakeFetch = async (): Promise<string> => {
      // Ждём 200 мс, чтобы имитировать запрос к серверу
      return await setTimeout(200).then(() => "Это контент, полученный с сервера");
    };
    
    const asyncFunctionContent = {
      key: "async_function",
      content: { text: fakeFetch },
    } satisfies Dictionary;
    
    export default asyncFunctionContent;

    В этом случае функция fakeFetch имитирует задержку, чтобы смоделировать время отклика сервера. Intlayer выполняет асинхронную функцию и использует результат в качестве содержимого для ключа text.

    Использование контента на основе функций в React-компонентах

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

    **/*.jsx
    Копировать код

    Копировать код в буфер обмена

    import type { FC } from "react";
    import { useIntlayer } from "react-intlayer";
    
    const MyComponent: FC = () => {
      const functionContent = useIntlayer("function_content");
      const asyncFunctionContent = useIntlayer("async_function_content");
    
      return (
        <div>
          <p>{functionContent.text}</p>
          {/* Вывод: Это содержимое, сгенерированное функцией */}
          <p>{asyncFunctionContent.text}</p>
          {/* Вывод: Это содержимое, полученное с сервера */}
        </div>
      );
    };
    
    export default MyComponent;
    HTML
    Файл для каждой локали
    Alt+→

    На этой странице

      Обсуждения анонимны и регулярно просматриваются для решения распространённых проблем. Не стесняйтесь делиться идеями функций, отзывами о документации или чем-либо, связанным с Intlayer, мы используем эту информацию для формирования нашей дорожной карты и улучшения продукта.