Lo strumento Crowdin In-Context fornisce un’overlay per la tua applicazione. Traduttori e proofreader possono tradurre con contesto e visualizzare le traduzioni completate in anteprima, istantaneamente, per visualizzare come saranno mostrate nella tua applicazione. Puoi usare In-context per le tue applicazioni web per contribuire a mantenere la migliore qualità di traduzione.
La localizzazione di In-Context è legata al tuo progetto di Crowdin, dove sono salvati i file traducibili. Le traduzioni effettuate usando In-context saranno aggiunte al tuo progetto allo stesso modo delle traduzioni direttamente effettuate nell’Editor.
Questo strumento fornisce una vista della tua applicazione con testi modificabili, quindi il processo di traduzione è visibile in tempo reale. Anche la parte dinamica dell’applicazione e le stringhe che contengono segnaposto possono essere tradotte in questo modo.
Crowdin In-Context funziona con l’aiuto di un frammento Javascript di una riga e il pacchetto pseudolinguistico. Crea un pacchetto pseudolinguistico basato sui file di localizzazione caricati al tuo progetto, che, in seguito, saranno integrati nella tua applicazione come una lingua di localizzazione aggiuntiva.
La pseudo-lingua integrata contiene identificativi speciali, invece dei testi originali. Dunque, passando a quella lingua nella tua app, tutte le etichette sono convertite a identificativi speciali. Javascript cerca quegli identificativi e li sostituisce con etichette modificabili. Quindi, la pagina di In-context della tua app web somiglierà alla tua applicazione, con la sola differenza che le stringhe traducibili saranno modificabili.
Le traduzioni sono direttamente effettuate nell’app, senza bisogno di aprire l’Editor. Una versione semplificata dell’Editor di Crowdin sarà mostrata, con tutte le funzionalità (TM, traduzione automatica, opzione d’approvazione/voto, commenti, termini) fornite. Dunque, è più facile creare e revisionare le traduzioni, poiché i traduttori possono visualizzarle in anteprima in un contesto reale.
Esistono due approcci comuni per integrare In-Context di Crowdin con la tua applicazione:
Ambiente di staging o traduzione Se non stai pianificando di invitare i tuoi utenti finali ad aiutare con le traduzioni o non stai considerando di usare una “modalità di traduzione” nella applicazione della tua produzione, integrare Crowdin In-Context al tuo ambiente app di staging o traduzione dedicato, sarebbe una buona soluzione.
Ambiente di produzione Crowdin In-Context non richiede alcuna modifica del codice nella tua applicazione, così puoi usarla anche in produzione. Decidi tu come attivarlo e quali segmenti saranno usati dagli utenti. I casi d’uso più comuni sono i seguenti:
Segui la guida di configurazione dell’integrazione nel tuo progetto di Crowdin per configurare In-context. Per consultare la guida, apri il tuo progetto e vai a Strumenti > In-Context.
Dopo la corretta configurazione dell’integrazione e dopo aver ricaricato la tua applicazione, dovresti vedere la finestra d’invito e la casella d’accesso di Crowdin.
Puoi aggiungere questi parametri all’insieme _jipt
nel frammento di configurazione.
_jipt.push(['preload_texts', true]);
Velocizza la visualizzazione dei contenuti dinamici entro lo strumento In-Context pre-caricando tutte le stringhe sorgente. Disabilitato automaticamente per i grandi progetti (oltre 5000 stringhe). Valori accettabili: true, false.
_jipt.push(['touch_optimized', true]);
Quest’opzione è abilitata sugli schermi touch di default e rende il pulsante di traduzione, affianco a ogni stringa traducibile visibile permanentemente, invece di mostrarla al passaggio del mouse. Valori accettabili: true, false.
_jipt.push(['before_commit', function(source, translation, context, language_code) { return status_obj; }]);
Funzione per convalidare il suggerimento prima di inviare.
Parametri | |
sorgente | Testo sorgente |
traduzione | Testo di traduzione |
contesto | Contesto della stringa sorgente |
language_code | Codice della lingua di destinazione (codici linguistici) |
Restituisci Valori | |
status_obj | Oggetto. Lo status_obj.status può essere "ok", "errore" o "corretto". In caso di errore, status_obj.message contiene la descrizione dell'errore. Quando lo status è "corretto", status_obj.correction contiene la traduzione corretta |
_jipt.push(['before_dom_insert', function(text, node, attribute) { return 'text'; }]);
Funzione per trasformare la stringa prima che sia inserita nel DOM.
Parametri | |
testo | Stringa per l'inserimento |
nodo opzionale | Elemento DOM in cui dev'esser inserito il testo. Potrebbe esser omesso se il testo non ha un elemento di destinazione (testo nei popup del browser) |
attributo opzionale | L'attributo dell'elemento DOM, se il testo è parte di un attributo |
Restituisci Valori | |
testo | Stringa per l'inserimento |
false | Se la funzione restituisce false, DOM non sarà aggiornato |
_jipt.push(['escape', function() { window.location.href = "http://app_domain.com"; }]);
Se definito, gli utenti possono chiudere la sovrapposizione di In-Context se non vogliono tradurre. Implementa questa funzione dalla tua parte. A seconda dell’approccio all’integrazione di In-Context, deve cambiare la lingua dell’app o reindirizzare dall’ambiente di traduzione all’app di produzione.