Traduzione file i18n
File di origine:
Accetta archivi ZIP o singoli file: JSON, JSONC, XML, YAML, ARB, PO/POT, XLIFF, Properties, CSV/TSV, MD, TXT. La dimensione massima è 5 MB.
Lingua di origine: en-US (English, United States)
Il codice della lingua di origine. Esempio: fr, fr-FR, fil, zh-Hans-CN. Digita per cercare.
Genera e salva glossario:
Traduci solo nuove stringhe:
Indica se tradurre solo le nuove stringhe o sovrascrivere le stringhe esistenti nei file di destinazione.
Lingue di destinazione:
de (German), zh-Hans-CN (Chinese, Simplified Chinese, China)
Genera forme plurali:
Traduci metadati:

Formati file supportati

Il nostro servizio di traduzione file i18n supporta un'ampia gamma di formati di file utilizzati su diverse piattaforme e framework.

FormatoUtilizzato da Supporta la traduzione solo delle nuove stringhe Supporta commenti Supporta il controllo della traduzione dei metadati
JSON / JSONCJavaScript, TypeScript · i18next, React, Vue, Angular
XMLAndroid strings.xml · iOS plist · XML generico · .NET ResX
YAML / YMLRuby on Rails · Node.js · File di configurazione
ARBFlutter · Dart
PO / POTGNU Gettext · PHP, Python, WordPress, Ruby
XLIFFStrumenti CAT professionali · Piattaforme di localizzazione · Angular
.propertiesJava · Spring Boot · Android
CSV / TSVFogli di calcolo · Flussi di lavoro di localizzazione personalizzati
MDDocumentazione · File README · Jekyll, Hugo, Docusaurus
TXTFile di testo semplice utilizzati per la localizzazione di app

Come tradurre file i18n

La traduzione di file i18n è un processo semplice offerto dal nostro servizio. Segui questi passaggi per tradurre i tuoi file di localizzazione e garantire la coerenza tra i tuoi progetti.

  1. Carica file: Usa la sezione "File di origine" per caricare i tuoi file i18n o un archivio ZIP. Formati supportati: JSON, JSONC, XML, YAML, ARB, PO/POT, XLIFF, Properties, CSV/TSV, MD, TXT. Se il nome del file contiene un codice lingua, verrà utilizzato automaticamente come lingua di origine.
  2. Imposta lingua di origine e di destinazione:
    Scegli la tua lingua di origine (es. en-US). Aggiungi una o più lingue di destinazione (es. fr-FR, de-DE) e configura le opzioni di traduzione come contrazioni, abbreviazioni, terminologia e associazioni di file.

    Importante: Se abiliti "Traduci solo le nuove stringhe", i file di destinazione che carichi devono già contenere le stringhe precedentemente tradotte per quella lingua (es. il tuo file francese dovrebbe già includere tutte le vecchie traduzioni francesi). Il sistema tradurrà quindi solo le stringhe mancanti/non tradotte.

    Se carichi semplicemente lo stesso file di origine come file di destinazione (che non ha contenuto francese), non verrà tradotto nulla, perché non c'è modo di rilevare quali stringhe siano nuove rispetto a quelle vecchie.

    Nota: Il caricamento dei file di destinazione è facoltativo. Se non carichi alcun file di destinazione, tutte le stringhe verranno tradotte, indipendentemente dal fatto che "Traduci solo le nuove stringhe" sia abilitato o meno.

    Regole di denominazione dei file:
    Se i file caricati non sono nominati esattamente come codici lingua (es. fr.json, de.json), i loro nomi devono corrispondere ai nomi dei file di origine affinché il sistema sappia che contengono le stesse stringhe in lingue diverse. Ad esempio:

    /en/common.json
    /fr/common.json
    /de/common.json

    Questo assicura che le traduzioni si allineino correttamente. Se i nomi dei file sono diversi dal nome del file di origine, il sistema li tratterà come appartenenti a namespace diversi. In i18n, un namespace è semplicemente un file separato utilizzato per organizzare le stringhe per parti della tua app (ad esempio: common.json per stringhe generali, auth.json per l'accesso, dashboard.json per la dashboard).

    Ogni namespace dovrebbe avere un file corrispondente in ogni cartella di lingua:

    /en/common.json
    /en/auth.json
    /fr/common.json
    /fr/auth.json

    L'utilizzo degli stessi nomi di file per ogni lingua garantisce che il sistema possa abbinare correttamente le stringhe.

  3. Avvia traduzione: Fai clic sul pulsante "Traduci" per iniziare. Il nostro servizio gestisce attentamente i file per preservare l'ordine delle stringhe, evitando modifiche non necessarie. Il progresso viene visualizzato in tempo reale.
  4. Scarica file tradotti: Al termine della traduzione, fai clic sul pulsante "Scarica file tradotti" per recuperare il contenuto tradotto. Il file scaricato è un archivio ZIP nominato con l'ID del lavoro (ad esempio: 0196e881-fb54-7150-a292-5b1e8f70a8ae.zip). L'archivio contiene i file tradotti per ogni lingua di destinazione, organizzati in cartelle separate per codice lingua.

Perché scegliere il nostro servizio di traduzione i18n

  • Traduzione contestuale basata su IA: La nostra IA interpreta in modo intelligente i segnaposto di formato i18n e adatta le traduzioni alle norme culturali in base alla lingua, allo script e alla regione specificati nel codice lingua.
  • Ampio supporto di formati: Il nostro servizio gestisce tutti i principali formati di file i18n. Gestisce accuratamente le forme plurali, preserva tag HTML e commenti, mantiene le interruzioni di riga e mantiene intatta la struttura dei tuoi file.
  • Regolazioni specifiche per locale: Numeri e date nel testo vengono convertiti automaticamente per corrispondere al formato locale di destinazione.
  • Gestione degli errori: Rileviamo gli errori dell'IA e ritraduciamo se necessario, garantendo un risultato di alta qualità.
  • Conveniente: Il nostro servizio è più economico di altre soluzioni di traduzione automatica. Gli utenti ricevono 30,000 caratteri gratuiti ogni mese. Vedi prezzi
  • Ottimizzato per file di grandi dimensioni: Il nostro sistema elabora in modo efficiente file i18n di grandi dimensioni dividendoli in blocchi gestibili, assicurando che ogni segmento rientri nella finestra di output dell'IA. Questo approccio mantiene la coerenza della traduzione sfruttando terminologia e contesto predefiniti, anche per file di grandi dimensioni.

La nostra piattaforma semplifica la localizzazione dei tuoi file i18n con una traduzione avanzata basata su IA, fornendo risultati accurati ed efficienti preservando la struttura e il contesto del tuo file.

Cos'è l'i18n? Spiegazione di internazionalizzazione e localizzazione

L'internazionalizzazione (i18n) è il processo di progettazione di un software in modo che possa essere adattato a diverse lingue e regioni senza modifiche al codice. La localizzazione (l10n) è il processo di adattamento effettivo del software per una specifica locale: traduzione di stringhe, regolazione di formati di data, valute e riferimenti culturali. Il "18" in i18n sta per le 18 lettere tra la "i" e la "n" in "internationalization".

La traduzione di file i18n è al centro del flusso di lavoro di localizzazione. Invece di scrivere il testo nel codice sorgente, gli sviluppatori esternalizzano tutte le stringhe rivolte all'utente in file di risorse: file JSON, YAML, PO, XLIFF, ARB o Properties. Questi file diventano l'unica fonte di verità per tutte le traduzioni e vengono gestiti, versionati e distribuiti insieme all'applicazione.

Per i prodotti globali, i file i18n potrebbero dover essere tradotti in decine di lingue. Gestire questo su larga scala richiede automazione, coerenza e strumenti consapevoli del formato, che è esattamente ciò che offre il nostro servizio di traduzione file i18n basato su IA.

Formati file i18n: quale dovresti usare?

La scelta del formato file i18n dipende solitamente dal tuo stack tecnologico. Ogni formato ha punti di forza diversi per struttura, strumenti e supporto della piattaforma:

  • JSON — il formato più popolare per le applicazioni web. Utilizzato da i18next, React Intl, ngx-translate e Vue i18n. Supporta chiavi annidate e interpolazione. Consigliato per progetti React, Angular (ngx-translate), Vue e Next.js.
  • YAML — il formato nativo per i18n di Ruby on Rails e ampiamente utilizzato in Symfony (PHP) e Vue i18n. Leggibile dall'uomo con supporto per commenti, chiavi annidate e stringhe su più righe.
  • PO / Gettext — lo standard per plugin WordPress, applicazioni PHP, Python (Django, Flask) e software desktop Linux. Supporto integrato per forme plurali, commenti del traduttore e riferimenti ai file di origine.
  • XLIFF — lo standard del settore per flussi di lavoro di traduzione professionali. Utilizzato dall'i18n integrato di Angular, iOS/Xcode e da tutti i principali strumenti CAT (SDL Trados, memoQ, Memsource). Ideale per progetti aziendali che coinvolgono agenzie di traduzione.
  • ARB — il formato Application Resource Bundle di Flutter. Basato su JSON con metadati di localizzazione. Lo standard per la localizzazione di app Flutter e Dart, compilato da flutter gen-l10n.
  • Properties — il formato di localizzazione nativo di Java. Utilizzato da Spring Boot, Android (legacy) e applicazioni Java aziendali con ResourceBundle.

Traduzione incrementale: traduci solo le nuove stringhe

Una delle funzionalità più potenti del nostro servizio di traduzione file i18n è la traduzione incrementale: la capacità di tradurre solo stringhe nuove o modificate senza ritradurre contenuti già localizzati. Ciò riduce significativamente i costi di traduzione e i tempi di elaborazione per progetti sviluppati attivamente.

Per utilizzare la traduzione incrementale, carica sia il file di origine che il file di destinazione esistente per ogni lingua. Il nostro sistema confronta le chiavi presenti in entrambi i file e traduce solo le stringhe mancanti nella destinazione. Questo è particolarmente prezioso durante i cicli di sviluppo continuo in cui vengono aggiunte nuove stringhe a ogni sprint o rilascio.

I formati supportati per la traduzione incrementale sono elencati nella tabella sopra. Per altri formati, il caricamento di un file di destinazione è comunque utile per il contesto del glossario, garantendo una terminologia coerente tra le esecuzioni di traduzione.

Casi d'uso comuni per la traduzione di file i18n

Il nostro servizio di traduzione file i18n gestisce l'intera gamma di moderni scenari di localizzazione:

  • Localizzazione di applicazioni web: Traduci file JSON, YAML e Properties per app a pagina singola React, Angular, Vue, Next.js e Nuxt.js. Il supporto per la struttura dei namespace di i18next consente di tradurre tutti i file di lingua da un singolo caricamento ZIP.
  • Localizzazione di app mobile: Traduci file ARB per app Flutter, file Properties per Android e file XLIFF esportati da Xcode per la localizzazione di app iOS e macOS.
  • Documentazione e contenuti: Traduci file Markdown per generatori di siti statici come Docusaurus, VitePress, Jekyll e Hugo per fornire siti web di documentazione multilingue.
  • Progetti WordPress e PHP: Traduci file PO/POT per temi e plugin WordPress, applicazioni Symfony e altri progetti basati su PHP che utilizzano la localizzazione basata su gettext.
  • Applicazioni Angular: Traduci file XLIFF 1.2 e 2.0 generati da ng extract-i18n per il sistema di internazionalizzazione integrato di Angular.
  • Flussi di lavoro aziendali e CAT: Elabora file XLIFF scambiati con agenzie di traduzione professionali e strumenti CAT (SDL Trados, memoQ, Memsource) utilizzando la nostra traduzione IA che preserva la struttura.
  • Progetti open source: Traduci file PO per progetti open source basati su GNU gettext, applicazioni desktop (GTK/GNOME/KDE) e strumenti per sviluppatori distribuiti tra le comunità linguistiche.
  • Automazione CI/CD: Integra la traduzione di file i18n nella tua pipeline di rilascio utilizzando l'API REST di L10n.dev per tradurre automaticamente nuove stringhe a ogni merge o distribuzione.

Domande frequenti

Quali formati di file i18n sono supportati?

Supportiamo JSON / JSONC, XML (Android strings.xml, .NET ResX, generico), YAML / YML, ARB (Flutter), PO / POT (GNU Gettext), XLIFF 1.2 e 2.0, .properties (Java), CSV / TSV, Markdown (.md) e testo semplice (.txt). I file possono essere caricati singolarmente o come archivio ZIP fino a 5 MB.

Posso tradurre in più lingue contemporaneamente?

Sì. Puoi aggiungere più lingue di destinazione in un unico lavoro. Il nostro servizio elabora tutte le coppie linguistiche e impacchetta i risultati in un archivio ZIP organizzato per codice lingua (es. fr/, de/, ja/).

Come funziona "Traduci solo le nuove stringhe"?

Carica il tuo file di origine e il file di destinazione esistente (che contiene già le tue traduzioni precedenti) per ogni lingua. Il nostro sistema identifica le stringhe presenti nell'origine ma mancanti nella destinazione e traduce solo quelle, evitando di ritradurre contenuti per cui hai già pagato e impedendo la sovrascrittura di modifiche manuali.

Qual è la dimensione massima del file?

La dimensione massima di caricamento è 5 MB per file o archivio ZIP. Per progetti molto grandi, considera di dividere i file per namespace o di caricare più lavori. Puoi monitorare l'avanzamento del lavoro in tempo reale su questa pagina e accedere a tutti i lavori completati nella pagina File.

Come funziona il namespacing dei file?

I file con lo stesso nome in cartelle di lingua diverse vengono trattati come lo stesso namespace (es. /en/common.json e /fr/common.json). I file con nomi diversi vengono trattati come namespace separati. Usa nomi di file coerenti in tutte le cartelle di lingua per garantire un corretto abbinamento delle stringhe.