Gestione della traduzione

File di localizzazione (Strings)

Contenuti tradotti automaticamente dall'inglese con Phrase Language AI.

I file di localizzazione sono file di testo che possono essere aperti e modificati in un editor di testo come Notepad o TextEdit o uno dei numerosi Strumenti avanzati di modifica del testo utilizzati dai programmatori. Questi file seguono generalmente il principio chiave-valore. Ciò significa che contengono un elenco di frammenti di testo (Strings) a cui sono associati ID univoci (chiavi). Ogni stringa è quindi un valore di una chiave (Questo semplice esempio è il formato dei file di localizzazione utilizzati nella programmazione Java):

  • key1 = value1

  • chiave2 = valore2

  • ...

  • keyN = valueN

Creazione di file di localizzazione

I file di localizzazione sono file di testo semplice con una struttura semplice. Possono essere creati manualmente, ma di solito sono generati automaticamente da utility di internazionalizzazione o script disponibili per diversi ambienti di sviluppo. La creazione automatica di file di localizzazione assicura che le strutture dei file siano valide.

Per creare un file di localizzazione, tutti i pezzi di testo visualizzabili vengono sostituiti da ID univoci nei file di codice. Le Strings di testo vengono quindi aggiunte al file di localizzazione con i loro ID.

Uso di file di localizzazione

Invece delle Strings di testo vere e proprie, il codice ora contiene solo chiavi. Quando il software genera una visualizzazione per l'utente, queste chiavi vengono utilizzate per cercare le Strings associate nel file di localizzazione.

Se un'applicazione è configurata per essere utilizzata in inglese e spagnolo, tutto il testo inglese può essere conservato in un file denominato English.txt ed è la posizione di testo predefinita. Se un utente non seleziona una lingua, tutto il testo verrà estratto da questo file per generare una visualizzazione. Se l'utente seleziona Spagnolo, il software viene reindirizzato a Spanish.txt. Molte lingue possono essere utilizzate con un sistema come questo.

Il vantaggio è che la scelta della lingua per la visualizzazione non influisce sul codice. Se il software deve visualizzare un pulsante di accesso, può richiedere la stringa associata alla chiave login_pulsante e deve solo sapere in quale file guardare per recuperare la stringa appropriata per la lingua specificata.

Gestione stringhe

Essendo una piattaforma di traduzione basata su chiavi, phrase supporta molti diversi tipi di file di risorse. Dopo aver file (Strings), vengono estratte le chiavi e i relativi valori stringa. Le chiavi e le Strings vengono quindi presentate al traduttore in un formato standardizzato. I traduttori si concentrano sulla loro attività senza doversi preoccupare del formato esatto del file di localizzazione. Possono ispezionare le chiavi, perché la chiave stessa può fornire un contesto cruciale e guidarle a correggere le scelte di parole.

Quando tutte le Strings vengono tradotte, vengono scaricati i file. Nel processo, viene creato il formato di file di localizzazione necessario in corrispondenza del file di origine originale.

Formati file di risorse

Sono supportati quattro grandi tipi di risorse, tutte essenzialmente basate su testo, che possono essere aperte e ispezionate in un editor di testo.

Fogli di calcolo

Sono supportati file .XLSX e .CSV. Questi formati sono equivalenti ai fini della localizzazione e contengono righe di coppie chiave-valore. Le chiavi sono in una riga, mentre i valori corrispondenti sono in una riga adiacente. Quale colonna esatta viene usata per quale scopo dipende dall'applicazione e un localizzatore deve configurare Phrase per interpretare correttamente le colonne. I file ZenDesk .CSV hanno una struttura fissa, quindi questo tipo di file non richiede ulteriori modifiche:

"Titolo","Lingua predefinita","Testo predefinito","Testo inglese","Stato variante"
"simple_key","German","Einfacher Schlüssel.","Simple key.","Current"

XML

XML è un formato che offre metainformazioni sotto forma di <tags>. La struttura dei tag viene utilizzata per determinare dove si trovano le chiavi e i loro valori corrispondenti, come mostrato qui da un file XML Android:

 <string name="simple_key">Solo una chiave con un messaggio.</string>

Due formati standard di traduzione XML sono .TMX e .XLIFF. Questi non solo contengono chiavi e valori in una lingua, ma associano anche coppie di valori da una lingua di origine con i valori corrispondenti da una lingua di destinazione. Tali file sono in genere bilingui, come mostra questa unità di traduzione in un file Symfony Xliff:

<trans-unit id="simple_key" resname="simple_key">
 <origine xml:lang="de-DE">Nur ein einfacher Schlüssel mit einer einfachen Nachricht.</origine
<Destinazione xml:lang="en-GB">Solo una chiave semplice con un messaggio semplice.</Destinazione>
</trans-unit>

I programmi di QT usano file di risorse con una struttura molto simile a questi formati standardizzati, ma per motivi storici hanno un layout diverso.

Lisci elenchi chiave-valore

Ci sono file di risorse che contengono semplici elenchi di chiavi e valori, come mostra questo frammento di YAML di Ruby on Rails:

simple_key: Solo una chiave semplice con un messaggio semplice.

Molti diversi linguaggi di programmazione o piattaforme usano tali formati con Minori differenze di layout.

Dal momento che si tratta di file monolingue, un programma di localizzazione deve mantenere versioni parallele di tali file: una per la lingua di origine e altre per le lingue di destinazione.

Gettext produce file chiave-valore contenenti informazioni aggiuntive, come commenti descrittivi o varianti plurali:

# Questa è la descrizione incredibile per questa chiave!
msgid "key_with_description"
msgid_plural ""
msgstr[0] "Guarda qui! Questa chiave ha una descrizione! (Almeno in alcuni formati)"
msgstr[1] "Guarda qui! Questa chiave ha %s descrizioni! (Almeno in alcuni formati)"

Esistono formati concorrenti con funzionalità e layout simili che variano in modi relativamente Minori.

Matrici associative

Mentre altri formati richiedono codice personalizzato (parser) per leggerli, alcuni formati sono più facili per sviluppatori e localizzatori. I formati basati su array .JSON (JavaScript) e PHP possono essere letti e mappati direttamente in strutture di codice comuni (array) facili da manipolare. Gli array possono essere complessi e diverse applicazioni generano strutture di array personalizzate.

Per esempio, go-i18n JSON si riferisce alle chiavi come ID:

{
    "id": "simple_key",
    "translation": "simple key, simple message, so simple."
},

Angular usa le chiavi stesse come chiavi nei suoi array:

"simple_key": "Sono una chiave semplice con un messaggio semplice.".

Poiché ci sono queste differenze Minore ma cruciali, sono supportate strutture di array .JSON e PHP ampiamente utilizzate.

Questo articolo ti è stato utile?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.