Vai al contenuto
Tutti gli strumenti Prezzi Blog

Chat e messaggi vocali

Documenti

Audio e video

Accedi

Lingua

Traduttore di file di localizzazione

Traduci i file di localizzazione della tua app con chiavi e placeholder intatti

Carica i tuoi file JSON, PO, strings.xml, .strings, .xcstrings o XLIFF, scegli una lingua e ricevi gli stessi file tradotti, pronti da inserire nel progetto. Chiavi, commenti, ordine e formattazione restano esattamente come erano, e ogni placeholder come {name}, {{count}} o %1$s viene controllato in ogni stringa. Le prime stringhe sono gratis e senza registrazione; il lavoro completo, fino a 20 file e 5,000 stringhe, costa $5 con pagamento una tantum, senza abbonamento. Un chatbot va bene per una dozzina di stringhe, ma un file con migliaia di chiavi spesso torna troncato, con chiavi rinominate o placeholder modificati.

Traduci file di stringhe

Tono
Glossario e nomi da mantenere (facoltativo)

Nomi di marchi e prodotti, separati da virgole. Ognuno viene controllato in ogni traduzione.

Un termine per riga: termine = traduzione.

Senza registrazione. Fino a 300 stringhe gratis per intero. Oltre: le prime stringhe sono gratis, tutti i file del lavoro costano $5, con un solo pagamento.

Continuando accetti i nostri Termini di servizio e la nostra Informativa sulla privacy.

  • Fino a 300 stringhe gratis per intero, le prime stringhe di un lavoro più grande gratis, senza registrazione
  • Lavoro completo a $5, pagamento una tantum: fino a 20 file e 5,000 stringhe
  • Chiavi, annidamento, commenti e ordine restano com'erano; vengono tradotti solo i valori
  • Placeholder, plurali ICU e tag inline controllati in ogni stringa
  • Forme plurali scritte per la lingua di destinazione (PO, Android, Xcode)
  • 41 lingue, tono formale o informale, glossario e nomi da non tradurre
Apri la demo

Vedi un PDF di esempio Esempio di output

85 stringhe · chiavi invariate

{

"home.greeting": "Good morning, {name}Buenos días, {name}",

"home.nearby": "{count, plural, =0 {No trails near you yet} one {# trail near you} other {# trails near you}}{count, plural, =0 {Aún no hay rutas cerca de ti} one {# ruta cerca de ti} other {# rutas cerca de ti}}",

"trail.offline_done": "<b>{name}</b> is saved on this phone. You can use the map without a signal.<b>{name}</b> está guardado en este teléfono. Puedes usar el mapa sin señal.",

"trail.share_text": "I just finished {trail} with Trailbook! {km} km and {meters} m up. 🥾¡Acabo de terminar {trail} con Trailbook! {km} km y {meters} m de subida. 🥾",

"saved.empty": "You have not saved any trails yet.\nTap the heart on a trail to keep it here.Aún no has guardado ninguna ruta.\nToca el corazón en una ruta para guardarla aquí."

}

Giallo: segnaposto e sintassi plurale ICU, controllati in ogni stringa. Verde acqua: tag, caratteri di escape ed emoji, mantenuti come sono.

Stesse chiavi. Stessi segnaposto. Nuova lingua.

Cambiano solo i valori. Il file torna con la stessa struttura e lo stesso ordine, con il nome es.json, e ogni stringa che perde un segnaposto viene rigenerata prima di arrivare alla tua build.

App demo inventata per questa pagina; le stringhe in spagnolo sono risultati reali dello strumento, da un file di 85 stringhe.

Cosa ricevi

Ricevi i tuoi file nello stesso formato, con il nome e la posizione che ogni piattaforma si aspetta: en.json diventa es.json, strings.xml va in una cartella values-es, Localizable.strings in es.lproj. Se i file sono più di uno, vengono scaricati insieme in un unico ZIP. Prima di scaricare, ogni stringa tradotta compare a schermo accanto all'originale e puoi modificarla.

  • JSON e ARB: chiavi annidate, array, ordine delle chiavi, indentazione e spaziatura come nel tuo file. I messaggi ICU come {count, plural, one {# item} other {# items}} mantengono la loro struttura. In ARB i metadati "@" restano al loro posto e @@locale viene impostato.
  • PO e POT: msgid e msgctxt non cambiano mai; le voci vuote e quelle fuzzy vengono tradotte, quelle che hanno già una traduzione restano invariate. Le voci plurali ottengono tanti msgstr[n] quanti ne servono alla lingua di destinazione, e l'intestazione riceve Language e Plural-Forms.
  • strings.xml di Android: <string>, <string-array> e <plurals>; translatable="false" viene saltato; apostrofi e virgolette vengono preceduti da escape come richiede Android; il contenuto di <xliff:g> non viene mai tradotto.
  • iOS e macOS: i file .strings mantengono commenti e codifica (spesso UTF-16); gli String Catalog .xcstrings ricevono una nuova localizzazione per la tua lingua, con le varianti plurali, e le stringhe già tradotte vengono conservate.
  • XLIFF 1.2 e 2.0: un <target> dopo ogni <source> non tradotto, codici inline come <g>, <x/>, <ph> e <pc> mantenuti, e lingua di destinazione impostata sul file.

Tradurre file di stringhe con un chatbot e con questo strumento

I chatbot traducono bene i brevi testi dell'interfaccia, e una dozzina di stringhe incollate in una chat di solito tornano senza problemi. Il guaio, con un vero file di localizzazione, sono la lunghezza e la sintassi: migliaia di chiavi, placeholder, regole dei plurali ed escape che un compilatore o una libreria rifiutano se manca anche un solo carattere.

La tua situazione Un chatbot Questo strumento
Dieci etichette di pulsanti Di solito le traduce bene Le traduce e ti restituisce il file
Un file con 3.000 chiavi La risposta dovrebbe essere lunga quanto il file, quindi tende a interrompersi a metà Traduce ogni stringa in blocchi da un massimo di 60, fino a 5,000 stringhe per lavoro
Chiavi e annidamento Riscrive l'intero file, quindi le chiavi possono essere tradotte, rinominate o perse Le chiavi non vengono mai inviate in traduzione; il file viene ricostruito dal tuo
Placeholder come {name}, %1$s o :attribute Di solito li mantiene, ma nessun controllo lo verifica Controlla ogni stringa; quella che perde un placeholder viene tradotta di nuovo, poi lasciata nella lingua originale ed elencata
Plurali in russo, polacco o arabo Spesso copia le due forme inglesi Scrive tutte le forme plurali che servono alla lingua di destinazione, con numeri di esempio per ciascuna
Apostrofi nelle stringhe Android Può lasciare un apostrofo senza escape che rompe la build Inserisce l'escape per apostrofi e virgolette come richiede Android

Come tradurre un file di localizzazione

  1. 1

    Carica i file e scegli una lingua

    Trascina uno o più file dello stesso progetto: JSON, ARB, PO o POT, strings.xml, .strings, .xcstrings o XLIFF. Scegli la lingua di destinazione e il tono, ed elenca i nomi di prodotto da non tradurre.

  2. 2

    Controlla le prime stringhe gratis

    Le prime stringhe compaiono a schermo con le loro chiavi accanto al testo originale. Modificale direttamente lì. Per questo passaggio non serve nessun account.

  3. 3

    Sblocca e scarica

    Le prime stringhe ti convincono? Sblocca il lavoro completo per $5, poi scarica i file tradotti, insieme a un elenco di avvisi se qualcosa richiede un'occhiata.

Perché i file di stringhe lunghi mettono in difficoltà gli assistenti AI generici

Un file di localizzazione è codice quanto è testo. Per tradurlo in una chat, l'assistente deve riscrivere tutto il file, con chiavi, parentesi, escape e il resto, e un file con qualche migliaio di stringhe è più lungo di quanto possa contenere una singola risposta. Si interrompe a metà o ti chiede di continuare, e tocca a te rimettere insieme i pezzi.

Il secondo problema è la sintassi. Una chiave tradotta per errore, un {count} trasformato in {cuenta}, un %1$s che ha perso il simbolo del dollaro, un apostrofo senza escape in strings.xml: ognuna è una piccola modifica in una risposta lunga, e ognuna può rompere una build o mostrare ai tuoi utenti un placeholder grezzo.

Questo strumento non chiede mai a un modello di riscrivere il tuo file. Legge il file suddividendolo in stringhe, invia solo il testo, con la chiave e l'eventuale commento dello sviluppatore come contesto, in blocchi da un massimo di 60 stringhe, e pretende una risposta per ogni stringa. I tag inline vengono prima sostituiti da brevi marcatori. Ogni risposta viene controllata: stessi placeholder, stessi escape come \n, stessi marcatori, i nomi che hai elencato e tutte le forme plurali. Se una stringa non supera il controllo, viene richiesta di nuovo; se fallisce due volte, il testo originale resta al suo posto e la stringa viene inserita nell'elenco per te. Poi il file viene ricostruito a partire dal tuo originale.

Cosa traducono gli utenti

  • App React, Vue, Angular e Next.js: file JSON di i18next, vue-i18n, react-intl e ngx-translate
  • App Flutter: file .arb, con le descrizioni nei @metadata usate come contesto
  • Plugin e temi WordPress, Django e altri progetti gettext: modelli .pot e file .po
  • App Android: res/values/strings.xml con array di stringhe e plurali
  • App iOS e macOS: Localizable.strings e String Catalog (.xcstrings)
  • File esportati da una piattaforma di traduzione o da Xcode in formato XLIFF

Cosa non fa

Per ora non legge file YAML, .properties, .resx o .stringsdict, e non aggiunge le chiavi plurali di i18next (key_one, key_few) mancanti nel file di origine: traduce le chiavi che hai. Nei file .xcstrings, le stringhe che usano sostituzioni o varianti per dispositivo vengono lasciate così come sono.

Non sovrascrive le traduzioni che hai già: le voci PO compilate, i target XLIFF segnati come tradotti e le voci degli String Catalog nella tua lingua restano invariati. Un pagamento copre fino a 20 file e 5,000 stringhe; Unlimited copre fino a 15,000 stringhe per lavoro.

È una traduzione automatica con controlli strutturali. Va benissimo per rilasciare in fretta una prima versione di una lingua e per tenere il progetto sincronizzato. Per le schede degli store, i testi legali o qualsiasi contenuto con una voce di marca, falla rivedere da un madrelingua.

Come ottenere un buon risultato

Il contesto fa la differenza tra "Save" come verbo (salvare) e "Save" come sconto (risparmio). Chiavi come settings.save_button e i commenti nel tuo file (#. nei PO, descrizioni @key negli ARB, /* commenti */ nei .strings) vengono inviati insieme a ogni stringa, quindi un file con chiavi significative e qualche commento viene tradotto meglio.

Elenca i nomi delle tue app e dei tuoi prodotti in "Non tradurre mai" e scegli il registro formale o informale per le lingue che li distinguono. Usa le stringhe gratuite come prova, poi controlla l'elenco degli avvisi dopo lo sblocco: ogni voce mostra la chiave, il problema e ciò che ha restituito il modello.

Per lingua e situazione

Quanto costa

Lavori piccoli, prime stringhe

Gratis

Un lavoro fino a 300 stringhe è gratis per intero, download inclusi. Lo vedi a schermo, senza registrazione. 1 lavoro al giorno, oppure 3 al giorno con un account gratuito.

Lavoro completo

$5

Un solo pagamento per fino a 20 file e 5,000 stringhe. Senza abbonamento, non scade mai.

Unlimited

$19 / settimana

Tutti gli strumenti del sito, con lavori fino a 15,000 stringhe.

Domande e risposte

ChatGPT può tradurre un file di localizzazione JSON?

Se è piccolo, di solito sì. Un file con migliaia di chiavi deve tornare indietro in un'unica risposta, quindi un chatbot tende a interrompersi a metà e nessuno controlla che ogni chiave e ogni segnaposto sia sopravvissuto. Questo strumento traduce i valori a blocchi, controlla ogni segnaposto e ricostruisce il file a partire dal tuo.

Quali formati sono supportati?

JSON (i18next, vue-i18n, react-intl, ngx-translate e simili), Flutter ARB, gettext PO e POT, Android strings.xml, iOS e macOS .strings e .xcstrings, e XLIFF 1.2 e 2.0. I file possono pesare fino a 10 MB ciascuno, fino a 20 file in un solo lavoro.

Chiavi e segnaposto vengono mantenuti?

Le chiavi non vengono mai inviate in traduzione. In ogni stringa vengono controllati i segnaposto come {name}, {{count}}, %s, %1$d, %@, :attribute e %{name}, le sequenze di escape come \n, i tag inline e le emoji. Una stringa che ne perde uno viene tradotta di nuovo; se continua a fallire, resta il testo di origine e la stringa compare nell'elenco degli avvisi.

Come vengono gestiti i plurali?

I messaggi ICU mantengono la loro struttura e ricevono le categorie plurali usate dalla lingua di destinazione. Le voci PO con msgid_plural ottengono tante forme msgstr[n] quante ne servono alla lingua di destinazione, e l'intestazione riceve il Plural-Forms corrispondente. I <plurals> di Android e le varianti plurali di Xcode vengono scritti con le categorie della lingua di destinazione, come one, few, many e other per il russo.

Che succede alle stringhe già tradotte?

Vengono mantenute. Vengono tradotte solo le voci PO vuote o fuzzy, le unità XLIFF senza un target completato e le voci degli String Catalog senza la tua lingua. In JSON, .strings e strings.xml ogni valore è trattato come testo di origine.

In quali lingue può tradurre?

41 lingue, tra cui spagnolo, francese, tedesco, italiano, portoghese (Brasile e Portogallo), olandese, polacco, russo, ucraino, turco, arabo, ebraico, hindi, indonesiano, vietnamita, thailandese, giapponese, coreano e cinese (semplificato e tradizionale).

È gratis?

Le prime stringhe di ogni lavoro sono tradotte gratis e mostrate a schermo, senza registrazione. Il lavoro completo, con i download, costa $5 con pagamento una tantum. Unlimited, a $19 a settimana, copre tutti gli strumenti del sito. I lavori piccoli fanno eccezione: un lavoro fino a 300 stringhe è gratis per intero, download inclusi.

I miei file sono privati?

Solo tu puoi aprire il tuo lavoro. Le stringhe vengono inviate a un fornitore di modelli di IA al solo scopo di tradurle, tramite canali che non usano i tuoi dati per l'addestramento. I lavori caricati senza account vengono eliminati dopo 7 giorni e puoi eliminare qualsiasi lavoro tu stesso in qualsiasi momento.

Aggiornato il 23 ottobre 2026 · APPFACT STUDIO LTD

Altri lavori che possiamo fare

Usiamo cookie analitici per capire quali pagine sono utili. Ti va bene?