Il nostro strumento di traduzione di stringhe Android utilizza l’IA per tradurre file strings.xml in più lingue, rendendo la localizzazione delle app mobili veloce e precisa.
Carica un file strings.xml
L’AI di PTC traduce in pochi minuti
Scarica i file tradotti
Come funziona lo strumento di traduzione XML di stringhe Android
Passaggio 1
Iscriviti per una prova gratuita con PTC
Registrati per un account PTC per tradurre gratuitamente 2.500 parole in 2 lingue. Una volta superato il limite di parole della prova, puoi attivare il pagamento a consumo per pagare solo ciò che traduci.
Quando configuri il tuo progetto, seleziona l’opzione Caricamento manuale file. Questo ti consente di testare rapidamente PTC caricando il tuo file strings.xml e scaricando le traduzioni.
Passaggio 2
Configura il tuo progetto
Segui il wizard di configurazione di PTC per:
- Informa PTC sulla tua app Android. A differenza di strumenti generici come ChatGPT, Google Translate o DeepL, PTC utilizza queste informazioni per generare traduzioni che suonano naturali per la tua app.
- Seleziona le tue lingue di destinazione
- Carica il tuo file
strings.xml
Passaggio 3
Scarica i file tradotti
Una volta completata la traduzione, visualizza tutte le tue stringhe nella scheda Traduzioni. Noterai che tutti i tuoi elementi tecnici, come %s, %d, %1$s e i tag XML, appaiono esattamente come nel file originale. PTC riconosce e preserva automaticamente questi placeholder, quindi le tue traduzioni non danneggeranno la formattazione o la funzionalità della tua app.
PTC evidenzia anche in giallo le traduzioni troppo lunghe, rendendo facile individuare potenziali problemi dell’interfaccia utente. Puoi:
- Modificare direttamente le traduzioni
- Chiedere a PTC di ritradurre stringhe specifiche per soddisfare un requisito di lunghezza
Quando sei pronto, vai alla scheda File di risorse e scarica un archivio zip. Lo zip contiene un file strings.xml tradotto per ogni lingua, mantenendo esattamente lo stesso formato del file originale.
Aggiunta di traduzioni al tuo progetto Android
Per utilizzare le traduzioni nel tuo progetto, crea cartelle di valori localizzati per ogni lingua utilizzando il codice lingua ISO 639-1 corretto:
/res
/values <!-- Default (English) - REQUIRED -->
strings.xml
/values-es <!-- Spanish -->
strings.xml
/values-de <!-- German -->
strings.xml
/values-uk <!-- Ukrainian -->
strings.xml
Inserisci il file strings.xml tradotto corrispondente dall’archivio zip scaricato in ogni cartella.
Includi sempre una cartella di valori predefinita (senza un codice lingua) che contenga strings.xml. Questo è il tuo fallback: se Android non riesce a trovare una traduzione per la lingua dell’utente, utilizza questa.
Una volta che i tuoi file strings.xml tradotti sono a posto, ricostruisci la tua app. Android visualizzerà automaticamente la lingua corretta in base alle impostazioni del dispositivo dell’utente.
Implementazione del selettore di lingua (opzionale)
Se la tua app include un selettore di lingua in modo che gli utenti possano cambiare la lingua indipendentemente dalle impostazioni del dispositivo, devi salvare la loro scelta e applicarla ogni volta che l’app si avvia.
Ecco come cambiare la lingua quando un utente ne seleziona una diversa:
fun setLocale(context: Context, languageCode: String) {
// Save the user's choice
val prefs = context.getSharedPreferences("Settings", Context.MODE_PRIVATE)
prefs.edit().putString("app_language", languageCode).apply()
// Apply the new locale
val locale = Locale(languageCode)
Locale.setDefault(locale)
val config = Configuration()
config.setLocale(locale)
context.resources.updateConfiguration(config, context.resources.displayMetrics)
// Restart the activity so changes take effect
if (context is Activity) {
context.recreate()
}
}Quindi, nella classe Application o nell’onCreate() dell’attività principale, carica la preferenza della lingua salvata:
override fun onCreate() {
super.onCreate()
val prefs = getSharedPreferences("Settings", Context.MODE_PRIVATE)
val languageCode = prefs.getString("app_language", "en") ?: "en"
val locale = Locale(languageCode)
Locale.setDefault(locale)
val config = Configuration()
config.setLocale(locale)
resources.updateConfiguration(config, resources.displayMetrics)
}Questo salva la scelta della lingua dell’utente in modo che rimanga la stessa ogni volta che apre l’app e funziona correttamente dopo aver pubblicato l’app su Google Play.
Domande frequenti sulla localizzazione Android
Come traduco la descrizione della mia app per Google Play?
Utilizza la funzione “Incolla per tradurre” di PTC. Copia la descrizione della tua app, incollala in PTC, seleziona le lingue di destinazione e ottieni subito le traduzioni.
Puoi quindi copiare le descrizioni tradotte e aggiungerle direttamente a Google Play Console:
1. Vai a Google Play Console → Presenza nello Store → Scheda principale dello Store → Traduzioni
2. Aggiungi le tue descrizioni brevi e lunghe tradotte
3. Salva le modifiche
4. Ripeti per ogni lingua che vuoi supportare
Devo usare risorse stringa o testo hardcoded nella mia app Android?
Usa sempre risorse stringa archiviate in file strings.xml, non codificare mai il testo direttamente nel codice o nei layout. Le risorse stringa rendono possibile la localizzazione. Non puoi tradurre il testo hardcoded nei file Kotlin o Java.
Sposta il testo hardcoded in res/values/strings.xml:
<resources>
<string name="welcome_text">Welcome to our app!</string>
</resources>Quindi fai riferimento ad esso nel tuo codice:
val welcomeText = stringResource(R.string.welcome_text)Vedi il commit della nostra app demo: Estrazione di testo hardcoded in strings.xml.
Come gestisco i placeholder come %s e %d nelle stringhe?
Definisci i placeholder nel tuo file strings.xml usando %1$s (per stringhe), %2$d (per numeri interi), ecc.:
<resources>
<string name="welcome_user">Welcome, %1$s!</string>
<string name="points_summary">%1$s, you have %2$d points.</string>
</resources>
Usali nel tuo codice Kotlin:
val welcome = stringResource(R.string.welcome_user, userName)
val summary = stringResource(R.string.points_summary, userName, points)
PTC riconosce e preserva automaticamente questi placeholder durante la traduzione.
Vedi il commit della nostra app demo: Aggiunta di stringa basata su placeholder per testo dinamico.
Posso impostare la localizzazione continua per gli aggiornamenti automatici delle traduzioni?
Sì, PTC offre due modi per automatizzare le traduzioni:
Opzione 1: Connetti il tuo repository (GitHub, GitLab o Bitbucket)
Collega PTC direttamente al tuo repository. Quando aggiorni strings.xml e invii le modifiche, PTC rileva automaticamente le stringhe nuove o modificate, genera le traduzioni e apre una richiesta di merge nel tuo repository.
Opzione 2: Integra con CI/CD utilizzando l’API di PTC
Utilizza l’API di PTC per integrare la localizzazione direttamente nella tua pipeline CI/CD. Questo approccio funziona con qualsiasi sistema di controllo della versione o processo di build.
Come gestisco le lingue da destra a sinistra (RTL) come l’arabo o l’ebraico?
Usa start e end invece di left e right nei tuoi layout:
<!-- Instead of this -->
<TextView
android:layout_marginLeft="16dp" />
<!-- Use this -->
<TextView
android:layout_marginStart="16dp" />Android capovolge automaticamente il layout per le lingue RTL quando segui questa convenzione. In Jetpack Compose, usa Arrangement.Start invece di Arrangement.Left.
Come testo la mia app Android localizzata?
Cambia la lingua del tuo dispositivo in Impostazioni oppure usa il selettore di lingua dell’emulatore di Android Studio. Testa ogni lingua per individuare:
– Testo troppo lungo per gli elementi dell’interfaccia utente
– Traduzioni mancanti (ricade nella lingua predefinita)
– Formattazione errata di data, numero o valuta
– Problemi di layout con testo più lungo
Per le lingue RTL, abilita “Forza direzione layout RTL” in Opzioni sviluppatore per testare il mirroring del layout.
Pronto a localizzare la tua app Android?
Carica il tuo file strings.xml e ottieni traduzioni accurate e consapevoli del contesto in pochi minuti.