Vai al contenuto principale

Principi Fondamentali dell'Internazionalizzazione

Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

Che Cos'è l'Internazionalizzazione e Perché è Importante?

Il software internazionalizzato supporta le lingue e le consuetudini culturali delle persone in tutto il mondo. Il Web raggiunge ogni angolo del pianeta. Le applicazioni web internazionalizzate offrono un'esperienza utente eccellente per gli utenti ovunque.

Il software localizzato si adatta a una lingua e cultura specifiche traducendo i testi nella lingua dell'utente e formattando i dati secondo le sue aspettative. Un'applicazione viene tipicamente localizzata per un numero limitato di località.

La specifica ECMA-402 per l'internazionalizzazione JavaScript offre un'ottima panoramica.

Località: Lingua e Regione

Una "località" (locale) si riferisce alle aspettative linguistiche e culturali di una regione. Viene rappresentata tramite un "codice località" definito in UTS LDML.

Questo codice è composto da diverse parti separate da trattini (-). La prima parte è una breve stringa che rappresenta la lingua. La seconda parte, opzionale, è una breve stringa che rappresenta la regione. Inoltre, possono essere specificate varie estensioni e varianti.

Per indicazioni sulla scelta dei componenti corretti della località, consultare l'articolo del W3C sulla scelta dei tag lingua.

Tipicamente, le applicazioni web vengono localizzate solo per la lingua o per la combinazione lingua-regione. Esempi di tali codici località sono:

  • en per l'inglese

  • en-US per l'inglese parlato negli Stati Uniti

  • en-GB per l'inglese parlato nel Regno Unito

  • es-AR per lo spagnolo parlato in Argentina

  • ar-001 per l'arabo parlato in tutto il mondo

  • ar-AE per l'arabo parlato negli Emirati Arabi Uniti

La maggior parte delle app internazionalizzate supporta solo un numero limitato di località.

Traduzione delle Stringhe

Probabilmente la tua applicazione contiene testi in una lingua naturale come l'inglese o il giapponese. Per supportare altre località, dovrai tradurre queste stringhe.

FormatJS fornisce un meccanismo che ti permette di scrivere il "software" centrale della tua applicazione senza codice specifico per diverse traduzioni. Le considerazioni per ogni località sono incapsulate nelle tue stringhe tradotte e nelle nostre librerie.

const messages = {
en: {
GREETING: 'Hello {name}',
},
fr: {
GREETING: 'Bonjour {name}',
},
}

Utilizziamo la sintassi dei messaggi ICU impiegata anche in Java, C, PHP e altre piattaforme.

Raggruppamento delle Stringhe Tradotte

È comune organizzare le traduzioni principalmente per località, poiché servono solo le traduzioni per la località corrente dell'utente. Le nostre integrazioni con i template e le librerie di componenti sono progettate per lavorare con le traduzioni di una singola località. Se la tua app è complessa, puoi suddividere ulteriormente le traduzioni, ad esempio per pagina o sezione del sito.

Struttura del Codice

La formattazione e presentazione effettiva dei dati e delle stringhe tradotte segue tipicamente questi passaggi:

  1. Determina la località dell'utente, come descritto nella guida sugli ambienti di runtime.

  2. Configura una delle integrazioni di FormatJS con i seguenti dati:

    • la località corrente dell'utente
    • le stringhe tradotte per quella località
    • opzionalmente, eventuali formati personalizzati
  3. Richiama il motore del template, passando i dati che necessitano formattazione.