# generaltranslation: General Translation Core SDK: formatCutoff URL: https://generaltranslation.com/it/docs/core/functions/formatting/format-cutoff.mdx --- title: formatCutoff description: Funzione indipendente per troncare stringhe con terminatori specifici dell'impostazione regionale --- ## Panoramica La funzione standalone `formatCutoff` tronca le stringhe con terminatori appropriati specifici dell'impostazione regionale, senza richiedere un'istanza di GT. Fornisce il troncamento del testo basato sull'impostazione regionale, nel rispetto delle convenzioni delle diverse lingue per i caratteri di ellissi e la spaziatura. ```typescript import { formatCutoff } from 'generaltranslation'; const formatted = formatCutoff('Hello, world!', { locales: 'en-US', maxChars: 8 }); // Restituisce: "Hello, w…" ``` ## Riferimento ### Parametri | Nome | Tipo | Descrizione | | --------- | -------------------------------------------------------- | ------------------------------ | | `value` | `string` | La stringa da troncare | | `options` | `CutoffFormatOptions & { locales?: string \| string[] }` | Configurazione del troncamento | ### CutoffFormatOptions | Name | Type | Description | | ------------- | ---------------------- | ----------------------------------------------------------------------------------------------------------------------- | | `locales?` | `string \| string[]` | Impostazioni regionali per la selezione del terminatore | | `maxChars?` | `number` | Numero massimo di caratteri da visualizzare. `undefined` significa nessun taglio. I valori negativi tagliano dalla fine | | `style?` | `'ellipsis' \| 'none'` | Stile del terminatore. Il valore predefinito è `'ellipsis'` | | `terminator?` | `string` | Terminatore personalizzato per sostituire i valori predefiniti dell'impostazione regionale | | `separator?` | `string` | Separatore personalizzato tra il terminatore e il testo | ### Restituisce `string` - La stringa troncata con il terminatore appropriato. *** ## Comportamento ### Limiti di caratteri * **`maxChars` positivo**: Tronca dall'inizio e aggiunge il terminatore * **`maxChars` negativo**: Tronca dalla fine e antepone il terminatore * **`maxChars` pari a zero**: Restituisce una stringa vuota * **`maxChars` non definito**: Non viene applicato alcun troncamento ### Terminatori specifici dell'impostazione regionale Impostazioni regionali diverse usano convenzioni diverse per i puntini di sospensione: * **Francese**: `…` con spazio non divisibile stretto (`\u202F`) * **Cinese/Giapponese**: puntini di sospensione doppi `……` senza separatore * **Predefinito**: puntini di sospensione singoli `…` senza separatore ### Casi limite * Se la lunghezza di terminatore + separatore supera `maxChars`, restituisce una stringa vuota * Se la stringa originale è più corta di `maxChars`, viene restituita invariata * Lo stile `'none'` tronca senza alcun terminatore *** ## Esempi ### Uso di base ```typescript import { formatCutoff } from 'generaltranslation'; // Troncamento di base console.log(formatCutoff('Hello, world!', { locales: 'en-US', maxChars: 8 })); // Output: "Hello, w…" // Nessun troncamento necessario console.log(formatCutoff('Short', { locales: 'en-US', maxChars: 10 })); // Output: "Short" ``` ### Limiti di caratteri negativi ```typescript // Taglia dalla fine console.log(formatCutoff('Hello, world!', { locales: 'en-US', maxChars: -3 })); // Output: "…ld!" // Taglio negativo più grande console.log(formatCutoff('JavaScript', { locales: 'en-US', maxChars: -6 })); // Output: "…Script" ``` ### Terminatori specifici dell'impostazione regionale ```typescript // Formattazione francese console.log(formatCutoff('Bonjour le monde', { locales: 'fr-FR', maxChars: 10 })); // Output: "Bonjour\u202F…" (spazio stretto prima dei puntini di sospensione) // Formattazione cinese console.log(formatCutoff('你好世界', { locales: 'zh-CN', maxChars: 3 })); // Output: "你好……" // Formattazione giapponese console.log(formatCutoff('こんにちは', { locales: 'ja-JP', maxChars: 4 })); // Output: "こん……" ``` ### Terminatori personalizzati ```typescript // Terminatore personalizzato console.log(formatCutoff('Long text here', { locales: 'en-US', maxChars: 10, terminator: '...' })); // Output: "Long te..." // Terminatore personalizzato con separatore console.log(formatCutoff('Another example', { locales: 'en-US', maxChars: 12, terminator: '[more]', separator: ' ' })); // Output: "Anoth [more]" // Nessun terminatore console.log(formatCutoff('Clean cut', { locales: 'en-US', maxChars: 5, style: 'none' })); // Output: "Clean" ``` ### Funzioni di utilità ```typescript import { formatCutoff } from 'generaltranslation'; // Tronca per la visualizzazione nell'interfaccia utente function displayText(text: string, maxLength: number, locale = 'en-US') { return formatCutoff(text, { locales: locale, maxChars: maxLength }); } // Troncamento multi-locale function truncateByLocale(text: string, locale: string) { const limits = { 'en': 50, 'de': 45, // Le parole tedesche tendono ad essere più lunghe 'zh': 30, // I caratteri cinesi sono più densi }; return formatCutoff(text, { locales: locale, maxChars: limits[locale] || 50 }); } console.log(displayText('This is a very long description', 15)); // Output: "This is a ve…" console.log(truncateByLocale('Eine sehr lange deutsche Beschreibung', 'de')); // Output: "Eine sehr lange deutsche Besch…" ``` *** ## Note * A differenza del metodo della classe GT, il parametro `locales` è facoltativo e il valore predefinito è `'en'` * I risultati vengono memorizzati internamente nella cache per migliorare le prestazioni con combinazioni ripetute di impostazione regionale e opzioni * La lunghezza del terminatore viene considerata nei calcoli del limite di caratteri * I terminatori personalizzati sovrascrivono i valori predefiniti specifici dell'impostazione regionale * I separatori vengono ignorati quando non è presente alcun terminatore ## Passaggi successivi * Usa il metodo [`formatCutoff`](/docs/core/class/methods/formatting/format-cutoff) della classe GT per l'utilizzo basato su istanza * Consulta altre funzioni di formattazione come [`formatMessage`](/docs/core/functions/formatting/format-message) * Vedi [`formatNum`](/docs/core/functions/formatting/format-num) per formattare i numeri