Formati / Android strings.xml

strings.xml, con l'escape che evita di rompere la build

Android ha due regole che falliscono in direzioni opposte, ed è facile sbagliarle entrambe a mano.

strings.xml

Un apostrofo senza escape rompe la build; uno con escape superfluo mostra una barra rovesciata

aapt rifiuta un apostrofo nudo dentro una risorsa di testo, quindi una traduzione francese o italiana ferma la build invece di uscire sbagliata. Se metti l'escape a un apostrofo che non ne aveva bisogno, l'utente vede una barra rovesciata sullo schermo.

Linguiqo applica l'escape in uscita e lo toglie in entrata, così quello che scrive il traduttore è quello che legge l'utente, e quello che riceve la build è quello che aapt accetta. Le due operazioni si applicano in ordine inverso nelle due direzioni, ed è proprio la parte che uno script fatto a mano di solito sbaglia.

Le quantity string sono plurali con la grafia di Android

Un elemento plurals contiene elementi item per quantity: zero, one, two, few, many, other. Quali di questi una lingua usa davvero lo decide CLDR, non il file, e scrivere un item che una lingua non sceglie mai è peso morto che la build si porta comunque dietro.

Linguiqo scrive esattamente le categorie usate dalla lingua di destinazione.

Domande

I miei string array vengono conservati?

No. Vengono letti e scritti solo testi e quantity string, quindi un file esportato non contiene elementi string-array. Tieni gli array in un file di risorse separato che Linguiqo non associa.

Gestisce translatable="false"?

I testi contrassegnati come non traducibili restano fuori dalla coda del traduttore.

Carica un file Android strings.xml e guarda tu stesso

La demo legge un tuo file reale e mostra il risultato. Senza account, e dopo due ore viene cancellato tutto.

Apri la demo

Cos'è Linguiqo