Localizzazione contestuale per app Web

Lo strumento In-Context di Crowdin consente di tradurre i testi direttamente entro l’applicazione web reale. In tal modo, la migliore qualità di traduzione è mantenuta.

La localizzazione in contesto è legata al progetto reale creato in Crowdin, sotto cui i file traducibili sono archiviati.

Questo strumento rende tutti i testi nella web app modificabili. Inoltre, 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.

Panoramica Tecnica

Crowdin Nel Contesto funziona con l’aiuto di una riga snippet in JavaScript ed il pacchetto pseudo-lingua. Crea il pacchetto pseudo-lingua in base ai file di localizzazione caricati al tuo progetto, che poi saranno integrati nella tua applicazione come lingua di localizzazione extra.

La pseudo-lingua integrata contiene alcuni identificatori speciali invece dei testi originali, di conseguenza quando modifica la lingua della tua app a questa, tutte le etichette sono convertite ad identificatori speciali. Javascript cerca questi identificatori e li rimpiazza con etichette modificabili. In tal modo, il traduttore non vede alcuna differenza tra l’app live e l’app con lo strumento In-Context di Crowdin integrato. Comunque, lo strumento definisce quale parte dell’app è traducibile e fornisce tutti i mezzi per far localizzare nel contesto al traduttore.

La traduzione è fatta sull’Editor di Crowdin regolare minimizzato con tutte le funzionalità fornite (TM, traduzione automatica, opzione approva/vota, commenti, termini). Dunque, è più facile revisionare le traduzioni per i proofreader ed assicurare la qualità.

Integrazione

Esistono due approcci comuni per integrare In-Context di Crowdin con la tua applicazione:

  • Ambiente di staging o di traduzione. Se non intendi invitare i tuoi utenti finali ad aiutare alla traduzione né consideri di usare una “modalità di traduzione” nella produzione della tua applicazione, integrare Crowdin In-Context alla tua gestione temporanea o all’ambiente app dedicato alla traduzione è una buona soluzione.
  • Ambiente di produzione. Crowdin In-Context non richiede alcune modifiche al codice nella tua applicazione, così che possa essere usato anche per la produzione. Decidi tu come attivarlo e quali segmenti saranno usati dagli utenti. I casi d’uso più comuni sono i seguenti:
    • crei un sito web di specchio, che è una copia completa della tua applicazione, ma sotto un URL differente (ad esempio, invece di crowdin.com può essere translate.crowdin.com), dove i traduttori effettueranno le traduzioni come fosse la tua applicazione reale.
    • puoi anche aggiungere In-context come una lingua extra. Quindi, quando i traduttori aprono la tua applicazione, potranno selezionare una lingua aggiuntiva dall’elenco, che aprirà In-Context per loro.

Segui la guida di configurazione dell’integrazione nel tuo progetto di Crowdin per configurare In-context. To check out the guide, open your project and go to Integrations > In-Context.

Dopo l’integrazione riuscita e l’aggiornamento della tua app, dovresti vedere la finestra d’invito e la casella di accesso a Crowdin.

Parametri Facoltativi

Puoi aggiungere questi parametri all’insieme _jipt nello snippet di configurazione.

Precaricamento dei Testi

_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.

Pulsante di Traduzione Sempre Visibile

_jipt.push(['touch_optimized', true]);

Quest’opzione è abilitata sugli schermi touch di default e rende il pulsante di traduzione affianco a ogni stringa traducibile permanentemente visibile, in contrapposizione al mostrarla al passaggio del mouse. Valori accettabili: true, false.

Prima della Richiamata di Conferma

_jipt.push(['before_commit', function(source, translation, context, language_code) { return status_obj; }]);

Funzione per convalidare il suggerimento prima di inviare.

Parametri
sorgenteTesto sorgente
traduzioneTesto di traduzione
contestoContesto della stringa sorgente
language_codeCodice 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

Prima della Richiamata di Inserimento DOM

_jipt.push(['before_dom_insert', function(text, node, attribute) { return 'text'; }]);

Funzione per trasformare la stringa prima che sia inserita nel DOM.

Parametri
testoStringa per l'inserimento
nodo
opzionale
Elemento DOM in cui dev'esser inserito il testo. Può esser omesso se il testo non ha l'elemento di destinazione (testo nei popup del browser)
attributo
opzionale
Attributo dell'elemento DOM, se il testo è parte dell'attributo
Restituisci Valori
testoStringa per l'inserimento
falseSe la funzione restituisce false, DOM non sarà aggiornato

Chiudi la Richiamata di Sovrapposizione In-Context

_jipt.push(['escape', function() { window.location.href = "http://app_domain.com"; }]);

Se definito, gli utenti possono chiudere la sovrapposizione In-Context se non vogliono tradurre. Implementa questa funzione dalla tua parte. Deve cambiare la lingua dell’app o reindirizzare dall’ambiente di traduzione alla produzione dell’app, in base al metodo di integrazione In-Context.

Questo articolo è stato utile?