Pose una domanda e ottieni un riassunto del documento facendo riferimento a questa pagina e al provider AI di tua scelta
Questo documento non è aggiornato, la versione base è stata aggiornata il 20 gennaio 2026.
Vai alla documentazione in ingleseCronologia delle versioni
- "Aggiunti formatter per Vue"v5.8.020/08/2025
- "Aggiunta documentazione dei formatter"v5.8.018/08/2025
- "Aggiunta documentazione del formatter per le liste"v5.8.020/08/2025
- "Aggiunte ulteriori utility Intl (DisplayNames, Collator, PluralRules)"v5.8.020/08/2025
- "Aggiunte utility per la gestione delle locale (getLocaleName, getLocaleLang, getLocaleFromPath, ecc.)"v5.8.020/08/2025
- "Aggiunte utility per la gestione dei contenuti (getContent, getTranslation, getIntlayer, ecc.)"v5.8.020/08/2025
Il contenuto di questa pagina è stato tradotto con un'IA.
Vedi l'ultima versione del contenuto originale in ingleseSe hai un’idea per migliorare questa documentazione, non esitare a contribuire inviando una pull request su GitHub.
Collegamento GitHub alla documentazioneCopia il Markdown del documento nella porta-documenti
Formattatori Intlayer
Panoramica
Intlayer fornisce un set di helper leggeri costruiti sopra le API native Intl, oltre a un wrapper Intl con cache per evitare di costruire ripetutamente formattatori pesanti. Queste utilità sono completamente sensibili alla localizzazione e possono essere utilizzate dal pacchetto principale intlayer.
Importazione
Se stai usando React, sono disponibili anche gli hook; vedi react-intlayer/format.
Intl con cache
L'Intl esportato è un wrapper sottile con cache attorno all'Intl globale. Memorizza in cache le istanze di NumberFormat, DateTimeFormat, RelativeTimeFormat, ListFormat, DisplayNames, Collator e PluralRules, evitando così di ricostruire ripetutamente lo stesso formattatore.
Poiché la costruzione del formatter è relativamente costosa, questa cache migliora le prestazioni senza modificare il comportamento. Il wrapper espone la stessa API dell'Intl nativo, quindi l'uso è identico.
- La cache è per processo e trasparente per i chiamanti.
Se Intl.DisplayNames non è disponibile nell'ambiente, viene stampato un unico avviso solo per gli sviluppatori (considera un polyfill).
Esempi:
Utilità aggiuntive di Intl
Oltre agli helper per i formatter, puoi anche utilizzare direttamente il wrapper Intl con cache per altre funzionalità Intl:
Intl.DisplayNames
Per nomi localizzati di lingue, regioni, valute e script:
Intl.Collator
Per il confronto e l'ordinamento di stringhe sensibili alla localizzazione:
Intl.PluralRules
Per determinare le forme plurali in diverse localizzazioni:
Utilità per le localizzazioni
getLocaleName(displayLocale, targetLocale?)
Ottiene il nome localizzato di una localizzazione in un'altra localizzazione:
- displayLocale: La localizzazione di cui ottenere il nome
- targetLocale: La localizzazione in cui visualizzare il nome (predefinita a displayLocale)
getLocaleLang(locale?)
Estrae il codice della lingua da una stringa di localizzazione:
- locale: La localizzazione da cui estrarre la lingua (predefinita alla localizzazione corrente)
getLocaleFromPath(inputUrl)
Estrae il segmento di localizzazione da un URL o pathname:
- inputUrl: La stringa URL completa o il percorso da elaborare
- returns: La localizzazione rilevata o la localizzazione predefinita se non viene trovata alcuna localizzazione
getPathWithoutLocale(inputUrl, locales?)
Rimuove il segmento di localizzazione da un URL o percorso:
- inputUrl: La stringa URL completa o il percorso da elaborare
- locales: Array opzionale delle localizzazioni supportate (predefinito alle localizzazioni configurate)
- returns: L'URL senza il segmento della localizzazione
getLocalizedUrl(url, currentLocale, locales?, defaultLocale?, prefixDefault?)
Genera un URL localizzato per la localizzazione corrente:
- url: L'URL originale da localizzare
- currentLocale: La localizzazione corrente
- locales: Array opzionale delle localizzazioni supportate (predefinito alle localizzazioni configurate)
- defaultLocale: Localizzazione predefinita opzionale (predefinita alla localizzazione predefinita configurata)
- prefixDefault: Se aggiungere il prefisso alla localizzazione predefinita (predefinito al valore configurato)
getHTMLTextDir(locale?)
Restituisce la direzione del testo per una localizzazione:
- locale: La localizzazione per cui ottenere la direzione del testo (predefinita alla localizzazione corrente)
- returns:
"ltr","rtl", o"auto"
Utilità per la gestione dei contenuti
getContent(node, nodeProps, locale?)
Trasforma un nodo di contenuto con tutti i plugin disponibili (traduzione, enumerazione, inserimento, ecc.):
- node: Il nodo di contenuto da trasformare
- nodeProps: Proprietà per il contesto di trasformazione
- locale: Localizzazione opzionale (predefinita alla localizzazione predefinita configurata)
getTranslation(languageContent, locale?, fallback?)
Estrae il contenuto per una specifica lingua da un oggetto contenente più lingue:
- languageContent: Oggetto che mappa le lingue al contenuto
- locale: Lingua di destinazione (default è la lingua configurata come predefinita)
- fallback: Se effettuare il fallback alla lingua predefinita (default è true)
getIntlayer(dictionaryKey, locale?, plugins?)
Recupera e trasforma il contenuto da un dizionario tramite la chiave:
- dictionaryKey: La chiave del dizionario da recuperare
- locale: Locale opzionale (default è la locale configurata di default)
- plugins: Array opzionale di plugin di trasformazione personalizzati
getIntlayerAsync(dictionaryKey, locale?, plugins?)
Recupera asincronamente contenuti da un dizionario remoto:
- dictionaryKey: La chiave del dizionario da recuperare
- locale: Locale opzionale (default è la locale configurata di default)
- plugins: Array opzionale di plugin di trasformazione personalizzati
Formatter
Tutti gli helper seguenti sono esportati da intlayer.
number(value, options?)
Formatta un valore numerico utilizzando la separazione delle migliaia e i decimali in base alla localizzazione.
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }
Esempi:
percentage(value, options?)
Formatta un numero come stringa percentuale.
Comportamento: i valori maggiori di 1 sono interpretati come percentuali intere e normalizzati (es. 25 → 25%, 0.25 → 25%).
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }
Esempi:
currency(value, options?)
Formatta un valore come valuta localizzata. Il valore predefinito è USD con due cifre decimali.
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }- Campi comuni:
currency(es."EUR"),currencyDisplay("symbol" | "code" | "name")
- Campi comuni:
Esempi:
date(date, optionsOrPreset?)
Formatta un valore data/ora con Intl.DateTimeFormat.
- date:
Date | string | number - optionsOrPreset:
Intl.DateTimeFormatOptions & { locale?: LocalesValues }oppure uno dei preset:- Preset:
"short" | "long" | "dateOnly" | "timeOnly" | "full"
- Preset:
Esempi:
relativeTime(from, to = new Date(), options?)
Formatta il tempo relativo tra due istanti con Intl.RelativeTimeFormat.
- Passa "now" come primo argomento e il target come secondo per ottenere una frase naturale.
- from:
Date | string | number - to:
Date | string | number(default ènew Date()) - options:
{ locale?: LocalesValues; unit?: Intl.RelativeTimeFormatUnit; numeric?: Intl.RelativeTimeFormatNumeric; style?: Intl.RelativeTimeFormatStyle }- L'
unitpredefinita è"second".
- L'
Esempi:
units(value, options?)
Formatta un valore numerico come stringa di unità localizzata usando Intl.NumberFormat con style: 'unit'.
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }- Campi comuni:
unit(es.,"kilometer","byte"),unitDisplay("short" | "narrow" | "long") - Predefiniti:
unit: 'day',unitDisplay: 'short',useGrouping: false
- Campi comuni:
Esempi:
compact(value, options?)
Formatta un numero usando la notazione compatta (es., 1.2K, 1M).
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }(usa internamentenotation: 'compact')
Esempi:
list(values, options?)
Formatta un array di valori in una stringa di elenco localizzata utilizzando Intl.ListFormat.
- values:
(string | number)[] - options:
Intl.ListFormatOptions & { locale?: LocalesValues }- Campi comuni:
type("conjunction" | "disjunction" | "unit"),style("long" | "short" | "narrow") - Predefiniti:
type: 'conjunction',style: 'long'
- Campi comuni:
Esempi:
Note
- Tutti gli helper accettano input di tipo
string; internamente vengono convertiti in numeri o date. - La localizzazione predefinita è quella configurata in
internationalization.defaultLocalese non specificata. - Queste utility sono dei semplici wrapper; per formattazioni avanzate, passare le opzioni standard di
Intl.
Punti di ingresso e re-export (@index.ts)
I formatter risiedono nel pacchetto core e vengono re-esportati da pacchetti di livello superiore per mantenere gli import ergonomici attraverso i runtime:
Esempi:
React
Componenti client:
Componenti server (o runtime React Server):
Questi hook considereranno la locale fornita daIntlayerProvideroIntlayerServerProvider
Vue
Componenti client:
Questi composables considereranno la localizzazione dal IntlayerProvider iniettato