InicioEntorno de pruebasExhibiciónAppDocBlog
    • Englishinglés
      EN
    • русскийruso
      RU
    • 日本語japonés
      JA
    • françaisfrancés
      FR
    • 한국어coreano
      KO
    • 中文chino
      ZH
    • españolespañol
      ES
    • Deutschalemán
      DE
    • العربيةárabe
      AR
    • italianoitaliano
      IT
    • British Englishinglés británico
      EN-GB
    • portuguêsportugués
      PT
    • हिन्दीhindi
      HI
    • Türkçeturco
      TR
    • polskipolaco
      PL
    • Indonesiaindonesio
      ID
    • Tiếng Việtvietnamita
      VI
    • українськаucraniano
      UK
    /
    Filtrar documentación por framework
    Alt+←
    ¿Por qué Intlayer?
    Empezar
    Concepto
    • Cómo funciona Intlayer
    • Configuración
    • TestFillBuildWatchExtractLoginPushPullConfigurationListVersionEditorLiveDebugDoc ReviewDoc TranslateSDK
    • Editor visual
    • CMS
    • Integración CI/CD
    • TraducciónPluralEnumeraciónCondiciónGéneroInserciónArchivoAnidaciónMarkdownHTMLObtención de función
    • Archivo por locale
    • Compilador
    • Autocompletado
    • Pruebas
    • Optimización de bundle
    Entornos
    • Next.js 14 y App Router
      Next.js 15
      Next.js sin locale URL
      Next.js y Page Router
      Compiler
    • Tanstack Start Solid
    • Astro y React
      Astro y Svelte
      Astro y Vue
      Astro y Solid
      Astro y Preact
      Astro y Lit
      Astro y Vanilla JS
    • React Router v7
      React Router v7 (fs-routes)
      Compiler
    • Nuxt y Vue
    • Vite y Solid
    • SvelteKit
    • Vite y Preact
    • Vite y Vanilla JS
    • Vite y Lit
    • Angular 19 (Webpack)
      Analog
    • React CRA
    • React Native y Expo
    • Express.js
      NestJS
      Fastify
      Hono
      Adonis
    • Lynx y React
    Plugins
    • JSON
    • gettext (.po)
    Extensión VS Code
    Agente
    • Servidor MCP
    • Habilidades del agente
    Versiones
    • v8
    • v7
    • v6
    Benchmark
    • Next.js
    • TanStack
    • Vue
    • Solid
    • Svelte
    Blog
    Preguntar una pregunta
    1. Documentation
    2. Concepto
    3. Declaración de contenido
    4. Obtención de función
    Creación:2024-08-11Última actualización:2025-06-29
    Referencia esta doc a tu asistente AI favorito
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    Haz tu pregunta y obtén un resumen del documento referenciando esta página y el proveedor AI de tu elección

    Este documento está desactualizado, la versión base se actualizó el 23 de agosto de 2025.

    Ir a la documentación en inglés

    Historial de versiones

    1. "Historial inicial"
      v5.5.1029/6/2025

    El contenido de esta página ha sido traducido con una IA.

    Ver la última versión del contenido original en inglés
    Editar esta documentación

    Si tienes una idea para mejorar esta documentación, no dudes en contribuir enviando una pull request en GitHub.

    Enlace de GitHub a la documentación
    Copiar

    Copiar el Markdown del documento a la portapapeles

    Obtención de Funciones

    Intlayer te permite declarar funciones de contenido en tus módulos de contenido, las cuales pueden ser síncronas o asíncronas. Cuando la aplicación se construye, Intlayer ejecuta estas funciones para obtener el resultado de la función. El valor de retorno debe ser un objeto JSON o un valor simple como una cadena o un número.

    Advertencia: la obtención de funciones actualmente no está disponible en la declaración de contenido JSON ni en archivos de declaraciones de contenido remoto.

    Declaraciones de Funciones

    Aquí tienes un ejemplo de una función síncrona simple que obtiene contenido:

    **/*.content.ts
    Copiar código

    Copiar el código al portapapeles

    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;

    En este ejemplo, la clave text contiene una función que devuelve una cadena. Este contenido puede ser renderizado en tus componentes React utilizando los paquetes intérpretes de Intlayer como react-intlayer.

    Obtención de Funciones Asíncronas

    Además de las funciones síncronas, Intlayer soporta funciones asíncronas, lo que te permite obtener datos de fuentes externas o simular la recuperación de datos con datos simulados (mock).

    A continuación, se muestra un ejemplo de una función asíncrona que simula una obtención desde un servidor:

    **/*.content.ts
    Copiar código

    Copiar el código al portapapeles

    import { setTimeout } from "node:timers/promises";
    import type { Dictionary } from "intlayer";
    
    const fakeFetch = async (): Promise<string> => {
      // Espera 200ms para simular una obtención desde el servidor
      return await setTimeout(200).then(
        () => "Este es el contenido obtenido desde el servidor"
      );
    };
    
    const asyncFunctionContent = {
      key: "async_function",
      content: { text: fakeFetch },
    } satisfies Dictionary;
    
    export default asyncFunctionContent;

    En este caso, la función fakeFetch simula un retraso para imitar el tiempo de respuesta del servidor. Intlayer ejecuta la función asíncrona y utiliza el resultado como contenido para la clave text.

    Uso de contenido basado en funciones en componentes React

    Para usar contenido basado en funciones en un componente React, necesitas importar useIntlayer desde react-intlayer y llamarlo con el ID del contenido para obtenerlo. Aquí tienes un ejemplo:

    **/*.jsx
    Copiar código

    Copiar el código al portapapeles

    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>
          {/* Salida: Este es el contenido renderizado por una función */}
          <p>{asyncFunctionContent.text}</p>
          {/* Salida: Este es el contenido obtenido del servidor */}
        </div>
      );
    };
    
    export default MyComponent;
    HTML
    Archivo por locale
    Alt+→

    En esta página

      Las conversaciones son anónimas y se revisan regularmente para abordar problemas comunes. No dudes en compartir ideas de funcionalidades, comentarios sobre la documentación o cualquier cosa relacionada con Intlayer, usamos esta información para definir nuestra hoja de ruta y mejorar el producto.