Utility FunctionsLocales

getLocaleName

Riferimento API per la funzione standalone getLocaleName

Panoramica

La funzione autonoma getLocaleName restituisce il nome visualizzato di un codice locale senza richiedere un'istanza della classe GT. Utilizza l'API Intl.DisplayNames per fornire nomi di lingua/localizzazione nella lingua dell'utente per qualsiasi codice locale BCP‑47 valido.

import { getLocaleName } from 'generaltranslation';

const name = getLocaleName('fr-CA', 'en');
console.log(name); // "Francese (Canada)"

Riferimenti

Parametri

Prop

Type

Descrizione dei parametri

ParametroDescrizione
localeCodice locale BCP‑47 di cui ottenere il nome visualizzato
defaultLocaleLocale da utilizzare per localizzare il nome visualizzato (predefinito: 'en')
customMappingMappatura personalizzata facoltativa per codici locale e relativi nomi

Restituisce

string - Il nome visualizzato localizzato della lingua/locale.


Comportamento

Risoluzione della lingua di visualizzazione

La funzione localizza i nomi secondo questa priorità:

  1. Parametro defaultLocale (se fornito)
  2. Locale predefinito della libreria ("en")

Integrazione con mapping personalizzati

  • I mapping personalizzati vengono controllati per primi, sia per i codici che per i nomi delle lingue/locale
  • Supporta la risoluzione degli alias e i nomi visualizzati personalizzati
  • Per i codici non mappati, esegue il fallback a Intl.DisplayNames standard

Strategia di risoluzione dei nomi

  1. Mappatura personalizzata del nome (massima priorità)
  2. Intl.DisplayNames nella locale predefinita
  3. Intl.DisplayNames nella locale predefinita della libreria ('en')
  4. Il codice locale stesso (fallback)

Esempi

import { getLocaleName } from 'generaltranslation';

// Nomi in inglese
console.log(getLocaleName('es', 'en')); // "Spanish (Spain)"
console.log(getLocaleName('ja', 'en')); // "Japanese (Japan)"
console.log(getLocaleName('zh', 'en')); // "Chinese (China)"

Creazione delle opzioni locali

import { getLocaleName, getLocaleEmoji } from 'generaltranslation';

function buildLocaleOptions(
  supportedLocales: string[],
  displayLocale: string = 'en'
) {
  return supportedLocales.map(locale => ({
    value: locale,
    label: getLocaleName(locale, displayLocale),
    emoji: getLocaleEmoji(locale)
  }));
}

const options = buildLocaleOptions([
  'en',
  'es',
  'fr',
  'de',
  'ja'
], 'en');

console.log(options);
// [
//   { value: 'en', label: 'Inglese (Stati Uniti)', emoji: '🇺🇸' },
//   { value: 'es', label: 'Spagnolo (Spagna)', emoji: '🇪🇸' },
//   ...
// ]

Note

  • Le mappature personalizzate hanno la precedenza su Intl.DisplayNames standard
  • Restituisce il codice locale stesso se non è possibile determinare un nome visualizzato
  • Il parametro della locale di visualizzazione determina la lingua del nome restituito

Prossimi passi

Come valuti questa guida?

getLocaleName