Quando si carica un file in un progetto, tutte le nuove risorse vengono estratte da quel file e memorizzate in un progetto. Il formato del file caricato non deve essere necessariamente il formato iniziale configurato per il progetto. Se vengono forniti tag per raggruppare le risorse, le nuove chiavi avranno quei tag applicati.
Alcuni formati, come Gettext, forniscono informazioni meta aggiuntive preziose come commenti, descrizioni o informazioni sulle forme plurali. Queste informazioni vengono estratte quando e dove possibile e vengono memorizzate insieme alle risorse assegnate, consentendo di salvare tutte le informazioni preziose fornite nei file di localizzazione per un uso futuro.
Ci sono diversi metodi per caricare file:
-
Nell'applicazione, quando si crea un nuovo progetto o selezionando Carica file in una pagina di progetto
-
via API
-
via CLI
-
Per impostazione predefinita, vengono estratte solo nuove risorse 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, sostituire 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 prevenire la perdita di dati, assicurati che le ultime modifiche siano scaricate da Phrase nel file di localizzazione prima di modificarlo e caricarlo nuovamente con l'opzione .
-
Inserisci un identificatore unico (ad es. il percorso del file) da anteporre ai nomi delle chiavi di traduzione caricate. Usa un prefisso significativo relativo al progetto o al file per mantenere organizzati i nomi delle chiavi.
Ad esempio, una chiave importata
hello_worldcon il prefissoproject_risulterà nella chiaveproject_hello_world.Il prefisso della chiave di traduzione garantisce che le chiavi siano confrontate con quelle esistenti per evitare collisioni tra diversi progetti o file.
Questa opzione è disponibile anche nell'interfaccia API e CLI.
-
Aggiungi nuove chiavi e sovrascrivi quelle esistenti con il contenuto del file caricato.
-
Aggiorna le traduzioni di destinazione solo se il testo sorgente esistente nella lingua predefinita del progetto corrisponde al testo sorgente nel file multilingue caricato.
-
Seleziona questa opzione se è necessario aggiornare tutte le descrizioni delle chiavi dal file caricato. Le descrizioni vuote sovrascriveranno quelle esistenti. Le descrizioni possono contenere ulteriori informazioni per i traduttori e aiutare a identificare le singole chiavi nell'editor.
-
Per mantenere le traduzioni organizzate, aggiungi più tag alle chiavi con etichette significative. Seleziona questa opzione per impedire che nuove chiavi vengano automaticamente contrassegnate con un tag di caricamento.
-
Seleziona questa opzione per contrassegnare automaticamente nuove chiavi e chiavi con traduzioni aggiornate al momento del caricamento. Questo aiuterà a distinguere tra nuove, aggiornate e vecchie stringhe di traduzione, assicurando che solo le chiavi pertinenti vengano elaborate ulteriormente.
Questa opzione è disponibile anche nell'API.
-
Specifica la codifica (ad es. UTF-8) del file o lasciala selezionare automaticamente (la codifica selezionata automaticamente può risultare errata e può essere annullata annullando il caricamento).
-
-
previene la necessità di verificare nuovamente le traduzioni delle lingue non principali quando si aggiornano le traduzioni.
-
tratta tutte le traduzioni caricate come revisionate. Questa opzione è disponibile quando è stato attivato il flusso di lavoro di revisione avanzato. Indica che le chiavi sono pronte per essere inviate in produzione.
-
tratta tutte le traduzioni caricate come verificate.
-
Per caricare file in Strings, segui questi passaggi:
-
Prima di caricare, assicurati che il file sia formattato correttamente in base al tipo.
-
Da un progetto, seleziona Carica file dal menu .
Si apre la pagina .
-
Clicca su Scegli file, seleziona un file da una directory.
Il file selezionato viene aggiunto al campo .
-
Seleziona un per il file.
I formati suggeriti vengono presentati per primi in base al tipo di file.
-
Seleziona una lingua per il contenuto del file dall'elenco a discesa.
Se queste informazioni non sono nel file stesso, crea una nuova lingua per il contenuto o usa una esistente.
-
Fornisci facoltativamente tag da assegnare alle nuove chiavi e ad altre opzioni.
-
Clicca su Salva.
Il contenuto viene importato e convertito in chiavi.
-
Caricamento non riuscito
Se un file non può essere elaborato correttamente, vengono forniti dettagli sugli errori per aiutare a mitigare l'errore.
-
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 collegano ai passaggi successivi. Clicca sul tag di caricamento per aprire il file nell'editor.
-
Rimozione delle chiavi
Per prevenire la cancellazione accidentale delle chiavi quando si rimuovono chiavi da un file di localizzazione e lo si carica nuovamente, quelle chiavi non vengono eliminate automaticamente.
Per rimuovere quelle chiavi, segui questi passaggi:
Le chiavi non menzionate sono chiavi che non sono incluse nel caricamento attuale ma esistono ancora nel progetto. Eliminandole, tutte le chiavi e le traduzioni associate che non sono state incluse nel file caricato vengono rimosse dal progetto.
-
Annulla un caricamento
Ogni caricamento attiva più 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, segui questi passaggi:
-
Dallo riepilogo del caricamento dell'upload interessato, fai clic su Elimina e seleziona .
-
Conferma la selezione.
Tutte le chiavi e le traduzioni associate create da quel caricamento vengono rimosse. Le traduzioni per le chiavi che esistevano prima del caricamento non verranno rimosse. Per rimuovere traduzioni individuali, usa la cronologia delle versioni per ogni traduzione.
-
Da qualsiasi pagina del progetto, seleziona dal menu per accedere all'archivio dei caricamenti.
L'archivio dei caricamenti elenca tutti i caricamenti storici in tutti i possibili stati. Fai clic sul menu a discesa per filtrare i caricamenti per stato (, e/o ). Per individuare un caricamento specifico, utilizza la casella di ricerca in alto per cercare per nome.
Accedi ai riepiloghi dettagliati dei caricamenti delle risorse interessate facendo clic su un caricamento elencato. Tutti i caricamenti riusciti sono anche presentati 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 cliccando su Scarica (file multipli) o sul pulsante Altre opzioni /Scarica di una lingua.
Le opzioni di download vengono presentate quando si scarica un file nella finestra con schede per , e .
Selezionando diversi si presentano diverse opzioni. Per ulteriori dettagli, fare riferimento all'articolo pertinente riguardante il formato file specifico.
Facoltativamente, utilizzare 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 di chiave di traduzione al momento del 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 dove possibile.
Importante
Questo potrebbe creare nomi di chiavi duplicati se altre chiavi condividono lo stesso nome dopo che il prefisso è stato rimosso.
-
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 traducibili sono memorizzate come chiavi e valori invece di mantenere la struttura originale del file. Questo consente formati file intercambiabili senza essere bloccati in un formato e una flessibile raggruppamento utilizzando tag.
Alcuni framework o configurazioni richiedono più file sorgente che richiedono anche configurazioni aggiuntive.
Mantenere file separati
In generale, mantenere tutte le traduzioni per ogni lingua in un unico file. Questo rende i download delle risorse più veloci e più robusti. Le traduzioni sono mantenute organizzate in progetti, quindi non sono necessari file piccoli separati.
Se i file di localizzazione devono essere mantenuti in file separati, è possibile utilizzare un flusso di lavoro basato su file etichettando le chiavi al momento del caricamento e utilizzando le etichette come riferimento quando si scaricano le chiavi tradotte nei file originali. Le chiavi possono avere più etichette e essere incluse in più file garantendo riutilizzo e coerenza. Un flusso di lavoro basato su etichette è flessibile e consente la riorganizzazione delle risorse di traduzione senza dover essere caricate nei progetti.
Dai alle chiavi nomi unici 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. Al alcuni framework consentono l'uso di chiavi non uniche su più file. Alcuni formati, come Symfony, supportano i domini dei messaggi. Questi domini vengono rilevati dal nome del file. Le chiavi non sono automaticamente scoperte dai domini basati sul nome del file, ma questo può essere risolto utilizzando un prefisso di dominio unico per le chiavi all'interno del file.
Esempio di configurazione CLI
Se lavori con CLI o colleghi un progetto con un archivio (ad es. GitHub, GitLab o Bitbucket), configura un file di configurazione per gestire caricamenti e download.
Per l'esempio, un progetto ha diversi file di traduzione nominati semanticamente per la lingua sorgente. Ad esempio: accounts.en.yml, emails.en.yml ecc. Questi nomi semantici sono gestiti tramite etichette.
Configura il .phrase.yml per riflettere l'organizzazione dei file nel progetto di localizzazione e collegali alle etichette nel progetto Strings includendo il segnaposto dell'etichetta 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:
etichette: accounts
# email
- file: ./path/to/locales/emails.<locale_name>.yml
params:
tags: email
Importante
Sebbene supportato, per motivi di sicurezza, non è consigliabile memorizzare i token di accesso all'interno del file.
Impostare una variabile ambientale PHRASE_ACCESS_TOKEN è più sicuro.
I tag dei parametri possono essere utilizzati anche nella sezione di push invece di utilizzare 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'esportazione nell'archivio, raggruppa le chiavi in file in base ai loro tag.
Un prodotto, un sito web o un'app è tradotto in diverse lingue, ma in alcuni casi, la localizzazione non è solo la lingua scelta, ma diverse versioni all'interno di una lingua.
È necessaria una ulteriore distinzione se:
-
Un prodotto ha un branding diverso nelle regioni in cui si parla la stessa lingua.
-
Un prodotto è utilizzato da diversi clienti che vogliono utilizzare una soluzione white label.
-
Sono richieste varianti linguistiche come semplice, formale o informale.
Localizzare un prodotto statico
Se un prodotto è completamente sviluppato e raramente aggiornato, può esistere una versione separata del prodotto all'interno di un progetto.
-
Se un output singolo o un progetto a breve termine:
Crea un branch, lavora esclusivamente su quel branch per la durata del progetto e elimina il branch quando è completo.
-
Se un progetto a lungo termine:
Mantieni un duplicato del progetto esistente. Questo consente di invitare e lavorare con i clienti nella stessa organizzazione fornendo solo accesso ai loro progetti, lasciando altri progetti nascosti per loro.
Localizzare un progetto con aggiornamenti continui
Se un prodotto viene costantemente aggiornato con nuovi contenuti (chiavi), applicare quegli aggiornamenti a più progetti e mantenerli sincronizzati è difficile. Usa lingue dedicate all'interno di un progetto per mantenerle.
I codici lingua seguendo lo standard ISO (ad es. en-US) non devono essere unici, quindi molte versioni della stessa lingua possono essere create all'interno di un progetto. Distinguere tra regioni, clienti o pubblici utilizzando un nome lingua unico.
Quando configurato, qualsiasi chiave introdotta di recente nella locale predefinita apparirebbe come non tradotta nelle altre lingue e sarebbe localizzata di conseguenza. Se lavori con un cliente e i loro traduttori, assegnali specificamente per poter modificare solo le loro versioni linguistiche aggiornando l'accesso alla lingua nel loro profilo utente o nella gestione utenti del progetto.
Configura processi di localizzazione paralleli con lavori e flussi di revisione all'interno dello stesso progetto. Questa flessibilità si estende anche al caricamento e al download di file di lingua o processi automatizzati tramite API.