# gt-next: General Translation Next.js SDK: componentes Variable URL: https://generaltranslation.com/es/docs/next/guides/variables.mdx --- title: componentes Variable description: Cómo usar componentes Variable para contenido dinámico en las traducciones --- {/* GENERADO AUTOMÁTICAMENTE: No edites esto directamente. En su lugar, edita la plantilla en content/docs-templates/. */} Los componentes Variable te permiten incluir de forma segura contenido dinámico dentro de los componentes [``](/docs/next/api/components/t). Se encargan de manejar el formato y la localización de forma local sin enviar datos a la API de traducción, por lo que son ideales para información sensible, como nombres de usuario, números de cuenta y datos financieros. ## Componentes disponibles * [``](/docs/next/api/components/var): contenido dinámico sin formato * [``](/docs/next/api/components/num): números con formato específico de la configuración regional * [``](/docs/next/api/components/currency): valores monetarios con símbolos y formato * [``](/docs/next/api/components/datetime): fechas y horas con las convenciones de la configuración regional ## Inicio rápido Los componentes Variable se usan dentro de [``](/docs/next/api/components/t) para manejar contenido dinámico: ```jsx import { T, Var, Num, Currency, DateTime } from 'gt-next'; function UserProfile({ user }) { return (

Welcome back, {user.name}!

You have {user.itemCount} items.

Balance: {user.balance}

Last login: {user.lastLogin}

); } ``` ## Cómo funcionan los componentes Variable Los componentes Variable resuelven el problema del contenido dinámico de la siguiente manera: 1. **Encapsulan valores dinámicos** para que puedan usarse dentro de [``](/docs/next/api/components/t) 2. **Manejan el formato de forma local** mediante las API de i18n integradas del navegador 3. **Mantienen la privacidad de los datos** - el contenido nunca se envía a la API de traducción 4. **Aplican la localización** según la configuración regional actual del usuario ```jsx // ❌ Esto falla - contenido dinámico en

Hello {username}

// ✅ Esto funciona - contenido dinámico envuelto

Hello {username}

``` ## Guía de componentes ### Var - Contenido dinámico sin formato Usa [``](/docs/next/api/components/var) para cualquier contenido dinámico que no requiera un formato especial: ```jsx // Información del usuario

Hello, {user.name}!

Your account ID is {user.accountId}

// Renderizado condicional Dashboard: {isAdmin ? : } ``` ### Num - Números con formato Usa [``](/docs/next/api/components/num) para los números que deban seguir las reglas de formato de la configuración regional: ```jsx // Formato de número básico You have {itemCount} items in your cart. // Uso independiente (equivalente a number.toLocaleString()) {totalItems} // Opciones de formato personalizadas Distance: {distance} km ``` ### Currency - Importes monetarios Usa [``](/docs/next/api/components/currency) para importes monetarios: ```jsx // Formato de moneda básico (por defecto "USD") Your total is {total}. // Monedas diferentes Price: {price} // Formato personalizado {roundedAmount} ``` ### DateTime - Fechas y horas Usa [``](/docs/next/api/components/datetime) para fechas y horas: ```jsx // Formato de fecha básico Order placed on {orderDate} // Formato de hora Last updated: {timestamp} // Formato de fecha personalizado {eventDate} ``` ## Política de privacidad y seguridad ### Los datos se mantienen locales Los componentes Variable manejan todo el formato de forma local con las [API de Intl](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl) del navegador. **No se envía ningún contenido dinámico a la API de traducción**, lo que los hace ideal para: * Nombres de usuario e información personal * Números de cuenta e ID * Datos financieros y saldos * Marcas de tiempo y fechas privadas ```jsx // Seguro - los datos sensibles se mantienen locales Account balance: {balance} Last login: {lastLoginTime} ``` ### Excepción importante Ten cuidado con los componentes [``](/docs/next/api/components/t) anidados dentro de los componentes Variable: ```jsx // ⚠️ El contenido interno de SÍ será enviado para su traducción Hello, world! {/* Esto se traduce */} {privateData} {/* Esto se mantiene local */} ``` ## Uso independiente Los componentes Variable pueden usarse fuera de [``](/docs/next/api/components/t) únicamente para dar formato: ```jsx // Funcionan como sus respectivos métodos .toLocale*() {count} // count.toLocaleString() {price} // formato del precio {date} // date.toLocaleDateString() ``` ## Problemas comunes ### Ignorar las opciones de localización Para [``](/docs/next/api/components/currency), asegúrate de pasar la prop `currency` para especificar el tipo de moneda. Esto garantiza que se utilicen el símbolo de moneda y el formato correctos al mostrar el valor: ```jsx // ❌ Usa USD por defecto - puede que no sea lo que los usuarios esperan The item costs {price} // ✅ Especifica la moneda de forma explícita The item costs {price} ``` Otros componentes también tienen propiedades opcionales que te permiten personalizar el formato: ```jsx // Formato básico {count} items in stock // Formato personalizado {percentage} completion rate // Formato de fecha Last updated: {lastUpdate} ``` ## Próximos pasos * [Guía de componentes de bifurcación](/docs/next/guides/branches) - Agrega lógica condicional a tus traducciones * [Guía de traducción de cadenas](/docs/next/guides/strings) - Traduce texto sin formato sin JSX * Referencias de la API: * [Componente ``](/docs/next/api/components/var) * [Componente ``](/docs/next/api/components/num) * [Componente ``](/docs/next/api/components/currency)