Localizzazione contestuale per app Web

Crowdin In-Context tool allows to translate texts directly within the actual web application. In such a way, the best translation quality is maintained.

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

There are two common approaches to integrate Crowdin In-Context with your application:

  • Staging or translation environment. 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.
  • Production environment. Crowdin In-Context non richiede alcune modifiche al codice nella tua applicazione, così che possa essere usato anche per la produzione. Decidi come accenderlo e per quali segmenti degli utenti può essere attivato. La funzione che abilità la modalità di traduzione può essere nascosta. Ci sono stati casi in cui la modalità di traduzione era abilitata come lingua extra.

Segui passo dopo passo la configurazione dell’integrazione, che puoi trovare in Impostazioni Progetto, scheda In-Context.

Dopo il successo dell’integrazione e l’aggiornamento dell’app, dovresti vedere la finestra d’invito e la casella di accesso a Crowdin.

Parametri Opzionali

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

Precaricamento dei Testi

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

Speeds up dynamic content displaying within the In-Context tool by preloading all source strings. Automatically disabled for the large projects (5000+ strings). Acceptable values: true, false.

Pulsante di Traduzione Sempre Visibile

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

This option is enabled on touchscreens by default and makes the translation button next to each translatable string permanently visible, as opposed to showing on hover. Acceptable values: 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
fonteTesto di origine
traduzioneTesto di traduzione
contestoContesto della stringa di origine
language_codeCodice lingua di destinazione (codici lingua)
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
DOM element in which the text must be inserted. May be omitted if text does not have target element (text inside browser's pop-ups)
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?