# General Translation Changelog: generaltranslation 8.1.0: Truncamiento de texto adaptado a la configuración regional
URL: https://generaltranslation.com/es/blog/generaltranslation_v8_1_0.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 
Authors: Ernest McCarter
Published: 2025-12-06

## Descripción general

**generaltranslation@8.1.0** introduce `formatCutoff()`, una función de truncación de texto que tiene en cuenta la configuración regional y gestiona los límites de caracteres con terminadores adecuados para distintos idiomas.

***

## Motivación

La truncación del texto de la interfaz de usuario suele basarse en CSS `text-overflow: ellipsis` o en un simple recorte de cadenas, pero estos enfoques no tienen en cuenta las convenciones específicas de cada configuración regional. Los distintos idiomas usan diferentes caracteres de puntos suspensivos, espacios y reglas de puntuación cuando el texto se corta.

Además, cuando las traducciones con IA están sujetas a límites de caracteres, a menudo es necesario aplicar esos límites estrictamente en el lado del cliente como mecanismo de respaldo.

***

## Uso

`formatCutoff()` está disponible tanto como método de instancia de GT como función autónoma:

```javascript
import { GT, formatCutoff } from 'generaltranslation'

const gt = new GT({ targetLocale: 'en-US' })

// Truncación básica
gt.formatCutoff('Hello, world!', { maxChars: 9 })
// Devuelve: 'Hello, w…'

// Función autónoma
formatCutoff('Hello, world!', { 
  locales: 'fr-FR', 
  maxChars: 9 
})
// Devuelve: 'Hello, w\u202F…'  // Nota: espacio estrecho antes de la elipsis
```


### maxChars negativo

Los valores negativos recortan desde el final y añaden el terminador al principio:

```javascript
gt.formatCutoff('Hello, world!', { maxChars: -4 })
// Devuelve: '…ld!'
```


### Terminadores específicos según la configuración regional

Cada configuración regional usa un estilo distinto de puntos suspensivos:

```javascript
// El chino y el japonés usan puntos suspensivos dobles
formatCutoff('你好世界', { locales: 'zh-CN', maxChars: 4 })
// Devuelve: '你好……'

// El francés usa espacio fino de no separación antes de los puntos suspensivos  
formatCutoff('Bonjour', { locales: 'fr-FR', maxChars: 6 })
// Devuelve: 'Bonj\u202F…'
```


### Terminadores personalizados

Sobrescribe el comportamiento predeterminado con terminadores y separadores personalizados:

```javascript
gt.formatCutoff('Long text here', {
  maxChars: 13,
  terminator: '...',
  separator: ' '
})
// Devuelve: 'Long text ...'
```


### Sin terminador

Usa el estilo `'none'` para truncar sin terminador:

```javascript
gt.formatCutoff('Hello, world!', {
  maxChars: 5,
  style: 'none'
})
// Devuelve: 'Hello'
```

***


## Base para las bibliotecas de interfaz de usuario

Esta funcionalidad sirve como capa base para implementaciones específicas de interfaz de usuario en `gt-react` y `gt-next`, que expondrán subconjuntos de esta funcionalidad adecuados para sus respectivos frameworks.

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
