Traduci la tua app React con l’AI che offre risultati di qualità umana. Ottieni traduzioni istantanee e pronte per la produzione, gratis per 30 giorni. Non è richiesta la carta di credito.
Non sai come preparare la tua app React per il multilinguismo? Questa guida include anche una demo passo-passo con commit reali, così puoi vedere esattamente come internazionalizzare e tradurre un progetto React.
Traduci i progetti React in modo rapido e semplice con PTC
PTC (Private Translation Cloud) è un sistema di traduzione che ti aiuta a mantenere il tuo progetto React multilingue senza sforzi aggiuntivi. Invece di tradurre manualmente i file JSON o impostare flussi di lavoro di traduzione complicati, PTC ti consente di inviare un file JSON con stringhe di origine per la traduzione e ottenere traduzioni basate sull’IA in pochi passaggi.
Ecco come tradurre il tuo progetto React con PTC:
Passaggio 1
Iscriviti per una prova gratuita di 30 giorni
Una volta che ti iscrivi, ottieni l’accesso illimitato a tutte le funzionalità di PTC per 30 giorni, senza bisogno di carta di credito.
Passaggio 2
Inizia un nuovo progetto
Nel wizard di configurazione, scegli l’opzione Caricamento manuale file. Questo ti consente di caricare un file JSON dal tuo progetto React (e molti altri formati di file di risorse supportati) per vedere come PTC gestisce le traduzioni.
Passaggio 3
Descrivi il tuo progetto
Aggiungi una breve descrizione di cosa fa la tua app e a chi è destinata. Questo aiuta Private Translation Cloud a scegliere la terminologia, il tono e lo stile linguistico giusti per il tuo pubblico.

Passaggio 4
Carica il tuo file JSON
In genere, questo è il file en.json
dalla tua cartella src/i18n/locales/
.
Passaggio 5
Scegli le tue lingue di destinazione
Scegli le lingue in cui vuoi tradurre. Private Translation Cloud fornisce traduzioni sensibili al contesto in oltre 33 lingue, coprendo le lingue parlate in tutti i principali mercati.
Passaggio 6
Visualizza e scarica le tue traduzioni
Private Translation Cloud offre traduzioni AI in pochi minuti. Le vedrai nella scheda Traduzioni, organizzate in una tabella chiara per lingua.
Le traduzioni lunghe sono evidenziate in giallo. Puoi mantenerle se la tua interfaccia utente lo supporta, oppure chiedere a Private Translation Cloud di ritradurle per adattarle ai tuoi limiti di lunghezza.

Una volta che sei soddisfatto, scarica le traduzioni dalla scheda File di risorse come ZIP. Se hai tradotto in più lingue, lo ZIP includerà un file per ogni lingua (ad esempio, fr.json
, de.json
).
Passaggio 7
Aggiungi i file tradotti al tuo progetto
Inserisci ogni file JSON scaricato nel tuo progetto React sotto src/i18n/locales/
. Se hai configurato la tua app per caricare tutti i file da questa cartella, i18next rileverà automaticamente i nuovi file di lingua. La prossima volta che esegui la tua app, sarai in grado di passare da una lingua all’altra senza modificare alcun codice.
Questo è tutto ciò che serve per tradurre un’app React con Private Translation Cloud!
Traduci note di rilascio, e-mail e altro testo per la tua app React
Il tuo progetto React include più delle semplici stringhe all’interno dei tuoi file JSON. Potrebbe essere necessario tradurre anche contenuti di supporto come note di rilascio, e-mail di onboarding o annunci di prodotti.
Con la funzione Incolla per tradurre di Private Translation Cloud, devi semplicemente:
- Vai a Traduzioni → Incolla per tradurre
- Incolla il testo aggiuntivo che vuoi tradurre, ad esempio il testo di un’e-mail
- Fai clic su traduci

Riceverai immediatamente traduzioni di alta qualità e sensibili al contesto che puoi copiare nel tuo progetto.


Puoi fare lo stesso per altri contenuti del tuo progetto, come note di rilascio o annunci di prodotti, mantenendo coerente la comunicazione con tutti gli utenti in tutte le lingue.
Automatizzare il processo di traduzione
Caricare manualmente i file è un ottimo modo per vedere come Private Translation Cloud fornisce traduzioni di qualità umana alla velocità e al costo di una macchina. Una volta che hai visto i risultati di persona, puoi fare il passo successivo e automatizzare il processo in modo che le traduzioni rimangano aggiornate senza alcuno sforzo aggiuntivo.
Private Translation Cloud ti offre due opzioni per automatizzare il flusso di lavoro di traduzione:
- Integrazione Git – Collega il tuo repository GitHub, GitLab o Bitbucket. Private Translation Cloud controllerà le modifiche ai tuoi file di origine e aprirà le pull request con le traduzioni aggiornate.
- Integrazione API – Collega PTC al tuo flusso di lavoro di sviluppo. La tua app può inviare il testo aggiornato a PTC tramite l’API e recuperare automaticamente le traduzioni.
Esempio i18n React: demo di un progetto React traducibile
Se il tuo progetto React non è ancora configurato per la localizzazione, non preoccuparti. In questa sezione, ti guideremo attraverso un’app demo e riferimenti di commit di esempio.
Questa guida presuppone che tu abbia già un’app React + TypeScript in esecuzione (Vite, CRA, Next o simili) e almeno alcune stringhe dell’interfaccia utente (UI) in inglese. Aggiungeremo il supporto per l’internazionalizzazione (i18n), organizzeremo i file di traduzione e utilizzeremo Private Translation Cloud per generare traduzioni in modo rapido e semplice.
1
Configura react-i18next per la localizzazione
Per preparare la tua app per la localizzazione, devi spostare il testo fuori dai componenti e nei file di traduzione. Questo rende possibile aggiungere altre lingue in seguito senza modificare il tuo codice.
Il modo più comune per farlo in React è usare i18next e il suo pacchetto di integrazione React react-i18next.
- Installa le librerie:
npm install i18next react-i18next
- Crea una cartella per i file di traduzione:
src/i18n/
└── locales/
└── en.json
Qui è dove vivranno tutte le traduzioni. Ogni file all’interno di src/i18n/locales/
rappresenta una singola lingua. Per ora, hai solo bisogno di en.json
per l’inglese. Più tardi, Private Translation Cloud genererà file aggiuntivi come fr.json
(francese) o de.json
(tedesco) e li inserirà nella stessa cartella, in modo che tutto rimanga organizzato in un unico posto.
- Aggiungi le stringhe della tua lingua di origine (inglese) a
en.json
:
{
"welcome": "Welcome",
"description": "This is a localization demo.",
"clickMe": "Click me"
}
- Sostituisci il testo hard-coded in
App.tsx
con chiavi di traduzione che fanno riferimento al file JSON:
import { useTranslation } from 'react-i18next';
function App() {
const { t } = useTranslation();
return (
<div>
<h1>{t('welcome')}</h1>
<p>{t('description')}</p>
<button onClick={() => alert(t('clickMe'))}>{t('clickMe')}</button>
</div>
);
}
Se ti stai chiedendo da dove viene la funzione t
, la configureremo nel passaggio successivo durante la configurazione di i18n. Per ora, la parte importante è che il tuo componente non si basa più su testo inglese hard-coded.
Riferimento commit: Aggiungi file di traduzione inglese iniziale
2
Indica a i18n dove trovare i tuoi file di traduzione
Nel passaggio precedente, hai creato en.json
e hai aggiornato il tuo componente per fare riferimento alle chiavi di traduzione. In questo momento, però, i18n non sa dove cercare quei file JSON. Dobbiamo configurarlo in modo che la funzione t()
possa effettivamente estrarre le stringhe giuste.
Invece di importare manualmente ogni file di lingua, puoi usare Vite’s import.meta.glob
per caricare automaticamente ogni file *.json
all’interno di src/i18n/locales/
. Questo significa che quando in seguito aggiungi file come fr.json
o de.json
(da Private Translation Cloud), verranno rilevati senza lavoro extra.
- Crea
src/i18n/index.ts
e configura i18next per caricare automaticamente i tuoi file JSON:
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
const modules = import.meta.glob('./locales/*.json', { eager: true }) as Record<
string,
{ default: Record<string, any> }
>;
const resources: Record<string, { translation: any }> = {};
for (const path in modules) {
const lang = path.match(/\.\/locales\/(.*)\.json$/)?.[1];
if (lang) {
resources[lang] = { translation: modules[path].default };
}
}
i18n
.use(initReactI18next)
.init({
resources,
fallbackLng: 'en',
interpolation: { escapeValue: false },
});
export default i18n;
- Importa questa configurazione una volta nel tuo file di ingresso (
src/main.tsx
) in modo che i18next sia pronto prima che l’app venga renderizzata:
import './i18n';
Con questo, la tua app React sa dove trovare i file di traduzione. Quando Private Translation Cloud genera in seguito nuovi file, come fr.json, non è necessario modificare il codice o aggiungere importazioni. Tutto ciò che devi fare è assicurarti che il file tradotto vada in src/i18n/locales/
. La prossima volta che esegui l’app, i18n renderà automaticamente disponibile il francese insieme all’inglese.
Riferimento commit: configura la configurazione i18n
3
Crea le traduzioni con Private Translation Cloud
Ora che la tua app legge i messaggi da src/i18n/locales/en.json
, puoi usare Private Translation Cloud per generare le traduzioni in altre lingue.
- Una volta che ti iscrivi per una prova gratuita o accedi al tuo account Private Translation Cloud, apri il wizard di configurazione e aggiungi il tuo file di origine inglese come risorsa traducibile:
src/i18n/locales/en.json
Quindi, imposta il percorso di output in modo che Private Translation Cloud sappia dove inserire i file tradotti:
src/i18n/locales/{{lang}}.json
Questo schema crea un file per lingua (ad esempio, fr.json
e de.json
) nella stessa cartella di en.json
.
4
Ottieni le tue traduzioni e aggiungile al tuo progetto
Private Translation Cloud ha bisogno di alcuni minuti per generare le traduzioni AI. Quando sono pronte, riceverai un file JSON per lingua. Ogni file deve essere inserito nel tuo progetto sotto la cartella src/i18n/locales/
.
Ad esempio, se hai tradotto in francese, il file sarà:
src/i18n/locales/fr.json
Esempio del contenuto all’interno di src/i18n/locales/fr.json
:

Il modo in cui ottieni i file dipende da come usi Private Translation Cloud. In questa demo, abbiamo scelto l’integrazione Git, il che significa che Private Translation Cloud ha aperto una merge request con i file tradotti già inseriti nella cartella corretta.
Riferimento commit: PTC ReactLocalizationDemo: traduzioni automatiche
5
Aggiungi un selettore di lingua e testa la tua app in altre lingue
Con le tue traduzioni a posto, il passaggio finale è aggiornare App.tsx
e aggiungere un semplice selettore di lingua. Questo ti consente di passare da una lingua all’altra nella tua app React e confermare che tutto funzioni correttamente.
import { useTranslation } from 'react-i18next';
function App() {
const { t, i18n } = useTranslation();
return (
<div>
<h1>{t('welcome')}</h1>
<p>{t('description')}</p>
<button onClick={() => alert(t('clickMe'))}>{t('clickMe')}</button>
<button onClick={() => i18n.changeLanguage('en')}>EN</button>
<button onClick={() => i18n.changeLanguage('fr')}>FR</button>
</div>
);
}
Ora puoi passare dall’inglese al francese. Quando esegui l’app in francese, il layout dovrebbe apparire esattamente come in inglese, cambia solo la lingua del testo.


Riferimento commit: Aggiungi un selettore di lingua per testare la traduzione
Bonus
Opzioni avanzate di i18next per le app React
Una volta che la tua app React è localizzata e funziona in più lingue, puoi sbloccare alcune opzioni avanzate in i18next per migliorare le prestazioni e l’esperienza utente:
- Rileva automaticamente la lingua dell’utente
Per impostazione predefinita, l’app si avvia in inglese e consente agli utenti di cambiare lingua manualmente con un selettore di lingua. Per farla aprire automaticamente nella lingua preferita dall’utente, installa il plugin di rilevamento della lingua:
npm install i18next-browser-languagedetector
Quindi aggiorna il tuo src/i18n/index.ts
:
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import LanguageDetector from 'i18next-browser-languagedetector';
i18n
.use(LanguageDetector) // detect browser/localStorage/etc.
.use(initReactI18next)
.init({
fallbackLng: 'en',
supportedLngs: ['en', 'fr', 'de', 'ar'], // adjust to your supported languages
interpolation: { escapeValue: false },
detection: {
order: ['querystring', 'localStorage', 'cookie', 'navigator'],
caches: ['localStorage', 'cookie'],
},
react: {
useSuspense: true, // set false if you don’t wrap <App /> in <Suspense>
},
});
export default i18n;
Con questa configurazione, i18n controllerà la lingua del browser (e le preferenze memorizzate) al primo caricamento e passerà automaticamente alla lingua preferita dell’utente quando disponibile.
- Carica le traduzioni in modo lazy per bundle più piccoli
Nel passaggio 2 di questa guida, hai configurato import.meta.glob
con { eager: true }
, che raggruppa tutti i file di traduzione nel caricamento iniziale dell’app. Questo è semplice, ma se supporti molte lingue può aumentare la dimensione del tuo bundle.
Per ottimizzare, puoi caricare le traduzioni in modo lazy usando i18next-http-backend:
npm install i18next-http-backend
Aggiorna src/i18n/index.ts
:
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import Backend from 'i18next-http-backend';
import LanguageDetector from 'i18next-browser-languagedetector';
i18n
.use(Backend) // load JSON over HTTP
.use(LanguageDetector) // auto-detect + cache
.use(initReactI18next)
.init({
fallbackLng: 'en',
supportedLngs: ['en', 'fr'],
interpolation: { escapeValue: false },
backend: {
// Vite serves files from /public at the site root
loadPath: '/locales/{{lng}}/{{ns}}.json',
},
react: { useSuspense: true },
});
export default i18n;
Ecco come dovrebbero essere organizzati i tuoi file:
public/
locales/
en/
translation.json
fr/
translation.json
Con questa configurazione, i file di traduzione vengono caricati dal server solo quando è necessaria una lingua. Questo mantiene il bundle iniziale più piccolo, soprattutto se la tua app supporta molte lingue.
Seguendo questi due suggerimenti per l’ottimizzazione, la tua app React può:
- Avviarsi automaticamente nella lingua preferita dell’utente
- Caricare le traduzioni solo quando necessario, mantenendo i tuoi bundle snelli

Inizia a tradurre la tua app React oggi stesso
Ora che hai visto quanto velocemente un’app React può essere tradotta con Private Translation Cloud, tocca a te. Provalo gratis per 30 giorni e scopri quanto può essere semplice tradurre React.
