# generaltranslation: General Translation Core SDK: formatCutoff URL: https://generaltranslation.com/es/docs/core/functions/formatting/format-cutoff.mdx --- title: formatCutoff description: Función independiente para truncar cadenas con terminadores según la configuración regional --- ## Resumen La función independiente `formatCutoff` trunca cadenas con terminadores adecuados para cada configuración regional sin requerir una instancia de GT. Ofrece truncación de texto según la configuración regional y respeta las convenciones de cada idioma para los puntos suspensivos y el espaciado. ```typescript import { formatCutoff } from 'generaltranslation'; const formatted = formatCutoff('Hello, world!', { locales: 'en-US', maxChars: 8 }); // Devuelve: "Hello, w…" ``` ## Referencia ### Parámetros | Nombre | Tipo | Descripción | | --------- | -------------------------------------------------------- | ----------------------------- | | `value` | `string` | La cadena que se va a truncar | | `options` | `CutoffFormatOptions & { locales?: string \| string[] }` | Configuración de truncado | ### CutoffFormatOptions | Nombre | Tipo | Descripción | | ------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | | `locales?` | `string \| string[]` | locales para la selección del terminador | | `maxChars?` | `number` | Número máximo de caracteres que se mostrarán. `undefined` significa que no se aplica ningún corte. Los valores negativos recortan desde el final | | `style?` | `'ellipsis' \| 'none'` | Estilo del terminador. El valor predeterminado es `'ellipsis'` | | `terminator?` | `string` | Terminador personalizado para sobrescribir los valores predeterminados de la configuración regional | | `separator?` | `string` | Separador personalizado entre el terminador y el texto | ### Devuelve `string` - La cadena truncada con el terminador adecuado. *** ## Comportamiento ### Límites de caracteres * **`maxChars` positivo**: Trunca desde el inicio y agrega el terminador * **`maxChars` negativo**: Recorta desde el final y antepone el terminador * **`maxChars` cero**: Devuelve una cadena vacía * **`maxChars` indefinido**: No se aplica ningún truncamiento ### Terminadores específicos de los locales Los distintos locales usan convenciones diferentes para los puntos suspensivos: * **Francés**: `…` con espacio fino de no separación (`\u202F`) * **Chino/Japonés**: puntos suspensivos dobles `……` sin separador * **Predeterminado**: puntos suspensivos simples `…` sin separador ### Casos extremos * Si la longitud de `terminator` + `separator` supera `maxChars`, devuelve una cadena vacía * Si la cadena original es más corta que `maxChars`, se devuelve sin cambios * El estilo `'none'` trunca sin ningún terminador *** ## Ejemplos ### Uso básico ```typescript import { formatCutoff } from 'generaltranslation'; // Truncación básica console.log(formatCutoff('Hello, world!', { locales: 'en-US', maxChars: 8 })); // Salida: "Hello, w…" // Sin truncación necesaria console.log(formatCutoff('Short', { locales: 'en-US', maxChars: 10 })); // Salida: "Short" ``` ### Límites de caracteres negativos ```typescript // Cortar desde el final console.log(formatCutoff('Hello, world!', { locales: 'en-US', maxChars: -3 })); // Salida: "…ld!" // Corte negativo mayor console.log(formatCutoff('JavaScript', { locales: 'en-US', maxChars: -6 })); // Salida: "…Script" ``` ### Terminadores específicos de la configuración regional ```typescript // Formato francés console.log(formatCutoff('Bonjour le monde', { locales: 'fr-FR', maxChars: 10 })); // Salida: "Bonjour\u202F…" (espacio estrecho antes de los puntos suspensivos) // Formato chino console.log(formatCutoff('你好世界', { locales: 'zh-CN', maxChars: 3 })); // Salida: "你好……" // Formato japonés console.log(formatCutoff('こんにちは', { locales: 'ja-JP', maxChars: 4 })); // Salida: "こん……" ``` ### Terminadores personalizados ```typescript // Terminador personalizado console.log(formatCutoff('Long text here', { locales: 'en-US', maxChars: 10, terminator: '...' })); // Salida: "Long te..." // Terminador personalizado con separador console.log(formatCutoff('Another example', { locales: 'en-US', maxChars: 12, terminator: '[more]', separator: ' ' })); // Salida: "Anoth [more]" // Sin terminador console.log(formatCutoff('Clean cut', { locales: 'en-US', maxChars: 5, style: 'none' })); // Salida: "Clean" ``` ### Funciones de utilidad ```typescript import { formatCutoff } from 'generaltranslation'; // Truncar para mostrar en la interfaz de usuario function displayText(text: string, maxLength: number, locale = 'en-US') { return formatCutoff(text, { locales: locale, maxChars: maxLength }); } // Truncación para múltiples configuraciones regionales function truncateByLocale(text: string, locale: string) { const limits = { 'en': 50, 'de': 45, // Las palabras en alemán tienden a ser más largas 'zh': 30, // Los caracteres chinos son más densos }; return formatCutoff(text, { locales: locale, maxChars: limits[locale] || 50 }); } console.log(displayText('This is a very long description', 15)); // Salida: "This is a ve…" console.log(truncateByLocale('Eine sehr lange deutsche Beschreibung', 'de')); // Salida: "Eine sehr lange deutsche Besch…" ``` *** ## Notas * A diferencia del método de la clase GT, el parámetro `locales` es opcional y su valor predeterminado es `'en'` * Los resultados se almacenan en caché internamente para mejorar el rendimiento cuando se repiten las mismas combinaciones de configuración regional y opciones * La longitud del terminador se tiene en cuenta al calcular el límite de caracteres * Los terminadores personalizados sobrescriben los valores predeterminados específicos de la configuración regional * Los separadores se ignoran cuando no hay terminador ## Siguientes pasos * Usa la clase GT [`formatCutoff`](/docs/core/class/methods/formatting/format-cutoff) para usarla con instancias * Consulta otras funciones de formato, como [`formatMessage`](/docs/core/functions/formatting/format-message) * Consulta [`formatNum`](/docs/core/functions/formatting/format-num) para el formato de números