Quando si carica un file in un progetto, tutte le nuove risorse vengono estratte da quel file e archiviate in un progetto. Il formato del file caricato non deve necessariamente essere il formato iniziale configurato per il progetto. Se vengono forniti tag per raggruppare le risorse, alle nuove chiavi verranno applicati tali tag.
Alcuni formati, come Gettext, forniscono preziose meta informazioni aggiuntive come commenti, descrizioni o informazioni sulle forme plurali. Queste informazioni vengono estratte quando e ovunque possibile e archiviate insieme alle risorse assegnate, consentendo di salvare tutte le preziose informazioni fornite nei file di localizzazione per un uso futuro.
Esistono diversi metodi per caricare i file:
-
Nell'applicazione, durante la creazione di un nuovo progetto o selezionando Caricare file in una pagina del progetto
-
via API
-
via CLI
Durante il caricamento tramite API o CLI, per i formati di file che includono più impostazioni locali in un singolo file (ad esempio, Phrase Strings .JSON, .YAML, multilingue .XLSX/.CSV, .XLIFF, .TMX, Genesys JSON), l'identificatore delle impostazioni locali di ogni traduzione nel file viene associato a un'impostazione locale del progetto in base al nome della lingua, esattamente come configurato nella scheda del progetto. I codici delle impostazioni locali (ad esempio "en-US") non vengono utilizzati per questa corrispondenza a meno che quella stringa esatta non sia anche il nome configurato per le impostazioni locali. Se l'identificatore delle impostazioni locali di una traduzione non corrisponde ad alcun nome di impostazioni locali nel progetto, le sue traduzioni non verranno importate senza alcun avviso.
-
Per impostazione predefinita, viene estratto solo il nuovo contenuto e le chiavi esistenti in un progetto di localizzazione non vengono eliminate o aggiornate; nessun dato può andare perso caricando file. Se è necessario sovrascrivere i dati esistenti, Sostituisci le risorse del progetto con il contenuto del file di localizzazione selezionando l'opzione . Le traduzioni esistenti verranno sovrascritte con il contenuto del file di localizzazione caricato.
Questa opzione è disponibile anche nell'API.
Nota
Per evitare la perdita di dati, assicurarsi che le ultime modifiche vengano scaricate da Phrase nel file di localizzazione prima di modificarlo e caricarlo nuovamente con l'opzione .
-
Inserire un identificatore univoco (ad esempio il percorso del file) da anteporre ai nomi delle chiave di traduzione caricati. Usare un prefisso significativo relativo al progetto o al file per mantenere organizzati i nomi delle chiave.
Ad esempio, una chiave
hello_worldimportata con il prefissoproject_risulterà nella chiaveproject_hello_world.Il prefisso della chiave di traduzione garantisce che le chiave vengano confrontate con quelle esistenti per evitare collisioni tra diversi progetto o file.
Questa opzione è disponibile anche nell'interfaccia API e CLI.
-
Aggiungere nuove chiave e sovrascrivere quelle esistenti con il contenuto del file caricato.
-
Aggiornare le traduzioni di destinazione solo se il testo di origine esistente nella lingua predefinita del progetto corrisponde al testo di origine nel file multilingue caricato.
-
Selezionare questa opzione se è necessario aggiornare tutte le descrizioni delle chiave dal file caricato. Le descrizioni vuoto sovrascriveranno quelle esistenti. Le descrizioni possono contenere qualsiasi informazione aggiuntiva per i traduttori e aiutare a identificare le singole chiave nell'editor.
-
Per mantenere le traduzioni organizzate, aggiungere più tag alle chiave con etichette significative. Selezionare questa opzione per impedire che le nuove chiave vengano automaticamente contrassegnate con un tag di caricamento.
-
Selezionare questa opzione per aggiungere tag alle nuove chiave e alle chiave con traduzioni aggiornate automaticamente al caricamento. Ciò aiuterà a distinguere tra Strings di traduzione nuove, aggiornate e vecchie, assicurando che solo le chiave rilevanti vengano elaborate ulteriormente.
Questa opzione è disponibile anche nell'API.
-
Specificare la codifica (ad es. UTF-8) del file o farla selezionare automaticamente (la codifica selezionata automaticamente potrebbe risultare errata e può essere ripristinata annullando il caricamento).
-
-
evita la necessità di verificare nuovamente le traduzioni in lingua non principale durante l'aggiornamento delle traduzioni.
-
tratta tutte le traduzioni caricate come revisionato. Questa opzione è disponibile quando il flusso di lavoro di revisione avanzato è stato attivato. Indica che le chiave sono pronte per essere inviate alla produzione.
-
tratta tutte le traduzioni caricate come verificate.
-
Per caricare file in Strings, seguire questi passaggi:
-
Prima di caricare, assicurarsi che il file sia formattato correttamente in base al tipo.
-
Da un progetto, selezionare Caricare file dal menu .
Si apre la pagina .
-
Fare clic su Scegli file, selezionare un file da una directory.
Il file selezionato viene aggiunto al campo .
-
Selezionare un per il file.
I formati suggeriti vengono presentati per primi in base al tipo di file.
-
Selezionare una lingua per il contenuto del file dall'elenco a discesa.
Se queste informazioni non sono presenti nel file stesso, creare una nuova lingua per il contenuto o usarne una esistente.
-
Facoltativamente, fornire i tag da assegnare alle nuove chiavi e qualsiasi altra opzione.
-
Clicca su Salva.
Il contenuto viene importato e convertito in chiavi.
-
Caricamento non riuscito
Se un file non può essere elaborato correttamente, vengono forniti i dettagli dell'errore per aiutare a risolvere il problema.
-
Caricamento riuscito
Dopo l'elaborazione riuscita di un file di traduzione, viene presentata una pagina di riepilogo che fornisce una panoramica del caricamento con pulsanti che rimandano ai passaggi successivi. Fare clic sul tag caricare per aprire il file nell'editor.
-
Rimozione delle chiavi
Per evitare l'eliminazione accidentale di chiavi durante la rimozione di chiavi da un file di localizzazione e il suo nuovo caricamento, tali chiavi non vengono eliminate automaticamente.
Per rimuovere tali chiavi, seguire questi passaggi:
Le chiavi non menzionate sono chiavi che non sono incluse nel caricamento corrente ma esistono ancora nel progetto. Eliminandole, tutte le chiavi e le traduzioni associate che non erano incluse nel file caricato vengono rimosse dal progetto.
Il limite per l'eliminazione delle chiavi non menzionate è di 100.000 chiavi. Nei progetti che superano questo limite, l'opzione non è disponibile.
-
Annulla un caricamento
Ogni caricamento attiva molteplici azioni e può modificare molti dati all'interno dei progetti e non è possibile ritirare un caricamento.
Per rimuovere le chiavi che sono state (erroneamente) introdotte da un file caricato, seguire questi passaggi:
-
Dal riepilogo del caricamento interessato, fare clic su Elimina e selezionare .
-
Conferma la selezione.
Tutte le chiavi e le relative traduzioni create da quel caricamento vengono rimosse. Le traduzioni per le chiavi esistenti prima del caricamento non verranno rimosse. Per rimuovere singole traduzioni, usare la cronologia delle versioni per ciascuna traduzione.
-
Da qualsiasi pagina del progetto, selezionare dal menu per accedere all'archivio caricamenti.
L'archivio caricamenti elenca tutti i caricamenti storici in tutti i possibili stati. Fai clic sul menu a discesa per filtrare i caricamenti in base allo stato (, e/o ). Per individuare un caricamento specifico, usare la casella di ricerca in alto per cercare per nome.
Accedere ai riepiloghi dettagliati del caricamento delle risorse interessate facendo clic su un caricamento elencato. Tutti i caricamenti riusciti vengono presentati anche nel flusso di attività di un progetto.
I file di lingua possono essere esportati da un progetto in qualsiasi momento e in qualsiasi formato file supportato.
I file possono essere esportati dall'applicazione, tramite API o CLI.
I file possono essere scaricati dalla scheda di qualsiasi progetto selezionandoli e facendo clic su Scarica (più file) o sul pulsante Altre opzioni /Scarica di una lingua.
Le opzioni di download vengono presentate durante il download di un file nella finestra con schede per , e .
La selezione di diversi presenta opzioni diverse. Per ulteriori dettagli, fare riferimento all'articolo pertinente sul specifico formato file.
Facoltativamente, usare il campo nella scheda per specificare un nome file di esportazione Personalizzato, oppure lasciarlo vuoto per generare un nome definito dal sistema.
-
Se è stato aggiunto un prefisso alla chiave di traduzione durante il caricamento del file, selezionare questa opzione nella scheda per rimuovere il prefisso dai nomi delle chiavi di traduzione esportate:
-
Inserire il prefisso per scaricare tutte le chiavi e rimuovere il prefisso specificato ove possibile.
Importante
Ciò potrebbe creare nomi di chiave duplicati se altre chiavi condividono lo stesso nome dopo la rimozione del prefisso.
-
Se necessario, selezionare per scaricare solo le chiavi di traduzione contenenti il prefisso specificato e rimuovere il prefisso dal file scaricato.
Questa opzione è disponibile anche nell'API e nell'interfaccia CLI.
-
Per impostazione predefinita, le risorse traducibile vengono archiviate come chiavi e valori invece di mantenere la struttura originale del file. Ciò consente formati di file intercambiabili senza essere bloccati in un unico formato, oltre a un raggruppamento flessibile tramite tag.
Alcuni framework o configurazioni richiedono più file di origine che necessitano anche di una configurazione aggiuntiva.
Mantenere file separati
In generale, mantenere tutte le traduzioni per ogni lingua in un unico file. Ciò rende i download delle risorse più veloci e più robusti. Le traduzioni sono mantenute organizzate nei progetti, quindi non sono necessari piccoli file separati.
Se è necessario mantenere i file di localizzazione in file separati, è possibile utilizzare un flusso di lavoro basato su file contrassegnando le chiavi al momento del caricamento e utilizzando i tag come riferimento durante il download delle chiavi tradotte nei file di origine. Le chiavi possono avere più tag ed essere incluse in più file, garantendo riutilizzo e coerenza. Un flusso di lavoro basato su tag è flessibile e consente la riorganizzazione delle risorse di traduzione senza dover essere caricate nei progetti.
Assegna alle chiavi nomi univoci in tutti i file per garantire un flusso di lavoro fluido. In un approccio basato su chiave-valore, una chiave deve avere gli stessi valori assegnati in ogni contesto. Alcuni framework consentono l'uso di chiavi non univoche su più file. Alcuni formati, come Symfony, supportano i domini dei messaggi. Questi domini vengono rilevati dal nome del file. Le chiavi non vengono automaticamente delimitate da domini basati sul nome del file, ma questo può essere risolto usando un prefisso di dominio univoco per le chiavi all'interno del file.
Esempio di configurazione CLI
Se si lavora con CLI o si collega un progetto a un archivio (ad es. GitHub, GitLab o Bitbucket), configurare un file di configurazione per gestire caricamenti e download.
Per l'esempio, un progetto ha diversi file di traduzione denominati semanticamente per le impostazioni locali di origine. Ad esempio: accounts.en.yml, emails.en.yml ecc. Questi nomi semantici vengono gestiti tramite tag.
Configura il .phrase.yml per riflettere l'organizzazione dei file nel progetto di localizzazione e collegarli ai tag nel progetto Strings includendo il segnaposto tag nel percorso del file:
phrase:
access_token: "3d7e6598d955bfcab104c45c40af1b9459df5692ac4c28a17793"
project_id: "23485c9c5dfb15d85b32d9c5f3d2hl54"
file_format: yml
push:
sources:
- file: ./path/to/locales/<tag>.en.yml
params:
locale_id: "abcd1234cdef1234abcd1234cdef1234"
pull:
targets:
# accounts
- file: ./path/to/locales/accounts.<locale_name>.yml
params:
tags: accounts
# emails
- file: ./path/to/locales/emails.<locale_name>.yml
params:
tags: emails
Importante
Sebbene supportato, per motivi di sicurezza, non è consigliato archiviare i token di accedere all'interno del file.
L'impostazione di una variabile d'ambiente PHRASE_ACCESS_TOKEN è più sicura.
I tag dei parametri possono anche essere usati nella sezione push invece di usare il segnaposto <tag>.
La configurazione crea chiavi con tag basati sul file da cui provengono quando si esegue un push o si attiva la sincronizzazione da un archivio. Quando si esegue un pull o si attiva l'esportare verso l'archivio, le chiavi vengono raggruppate in file in base ai loro tag.
Un prodotto, sito web o app viene tradotto in diverse lingue, ma in alcuni casi la localizzazione non riguarda solo la lingua scelta, ma diverse versioni all'interno di una stessa lingua.
È necessaria un'ulteriore distinzione se:
-
Un prodotto ha un marchio diverso nelle regioni in cui si parla la stessa lingua.
-
Un prodotto viene usato da diversi clienti che vogliono usare una soluzione white label.
-
Sono richieste varianti di lingua come semplice, formale o informale.
Localizzazione di un prodotto statico
Se un prodotto è completamente sviluppato e raramente aggiornato, una versione separata del prodotto può esistere all'interno di un progetto.
-
Se un singolo output o un progetto a breve termine:
Creare un branch, lavorare esclusivamente su quel branch per la durata del progetto e eliminare il branch una volta completato.
-
Se un progetto a lungo termine:
Mantenere un duplicato del progetto esistente. Ciò consente l'invito e il lavoro con i clienti nella stessa organizzazione fornendo solo l'accesso al/ai loro progetto/i, lasciando altri progetti nascosti a loro.
Localizzazione di un progetto con aggiornamenti continui
Se un prodotto viene costantemente aggiornato con nuovo contenuto (chiavi), applicare tali aggiornamenti a più progetti e mantenerli sincronizzati è difficile. Usare lingue dedicate all'interno di un progetto per mantenerle.
I codici lingua che seguono lo standard ISO (ad es. en-US) non devono essere univoci, quindi molte versioni della stessa lingua possono essere create all'interno di un progetto. Distinguere tra regioni, clienti o pubblico usando un nome lingua univoco.
Una volta effettuata la configurazione, qualsiasi chiave appena introdotta nelle impostazioni locali predefinite verrebbe visualizzata come non tradotto nelle altre lingue e localizzata di conseguenza. Se si lavora con un cliente e il suo/i suoi traduttore/i, assegnarli specificamente in modo che possano modificare solo le loro versioni lingua aggiornando l'accesso alla lingua nel loro profilo utente o nella gestione utente del progetto.
Configurare processi di localizzazione paralleli con lavori e flussi di lavoro di revisione all'interno dello stesso progetto. Questa flessibilità si estende anche al caricamento e al download di file lingua o processi automatizzati tramite API.