Codice Personalizzato

Il Codice Personalizzato è un passaggio del flusso di lavoro che ti consente di specificare i tuoi frammenti di codice in base a quali stringhe dovrebbero esser ulteriormente filtrate nel flusso di lavoro. Il Codice Personalizzato ha un input e due output (true e false), quindi puoi dividere le stringhe in due thread del flusso di lavoro in base a qualche condizione specifica scritta usando JavaScript.

Casi d’Uso

Puoi usare il passaggio del flusso di lavoro del codice personalizzato in numerosi scenari. Ecco alcuni esempi:

  • Per inviare una parte delle stringhe ai traduttori interni e un altra parte a un’agenzia di traduzione.
  • Per inviare una parte delle stringhe alla traduzione automatica e un’altra parte al crowdsourcing.
  • Per inviare una parte delle stringhe ai revisori interni e un’altra parte alla revisione da un’agenzia di traduzione.

Aggiungere il Passaggio del Codice Personalizzato al Tuo Flusso di Lavoro

Il Codice Personalizzato potrebbe esser aggiunto al flusso di lavoro del tuo progetto nell’editor del flusso di lavoro o nell’editor del modello del Flusso di Lavoro.

Codice Personalizzato nell'Editor del Flusso di Lavoro

Parametri del Frammento di Codice

Dopo aver aggiunto il passaggio del Codice Personalizzato al tuo flusso di lavoro, è necessario specificare il frammento di codice nel campo del Codice Personalizzato in base a quali stringhe saranno dirette a uno dei due output.

Il Frammento di Codice è basato su JavaScript. Include un oggetto crowdin e diverse proprietà. Per creare il frammento di codice, usa questo modello dell’oggetto per l’inserimento del codice:

object crowdin {
 object file {
   string name,
   string fullName,
   string title,
   string branchName,
   string type
 }
 object context {
   string context
   ?int maxLength
 },
 string contentType,
 string source,
 array labels
}

Trova l’esempio di un frammento di codice personalizzato nell’Editor dello Script di Crowdin. Usa il link per vedere la struttura del frammento di codice, modificalo con i tuoi dati e verifica che il tuo codice sia corretto.

Richiesta Frammento di Codice

La richiesta del frammento di codice include le chiavi sotto elencate:

  1. file.name – nome del file sorgente
  2. file.fullName – percorso completo al file sorgente nel progetto (ramo escluso se presente)
  3. file.title – il titolo del file sorgente come appare ai traduttori
  4. file.branchName – il nome del ramo in cui è memorizzato il file sorgente
  5. file.type – tipo di file sorgente
  6. source – testo sorgente
  7. label – insieme delle etichette della stringa sorgente
  8. context.maxLength – lunghezza massima della stringa
  9. context.context – contesto della stringa che inserisce l’input del passaggio del Codice Personalizzato
  10. context.identifier – identificativo (chiave) della stringa sorgente
  11. contentType – la stringa può includere uno dei seguenti tre tipi:

    • testo/semplice
    • application/vnd.crowdin.text+plural
    • application/vnd.crowdin.text+icu

Visualizza l’esempio di un frammento di codice della richiesta:

{
   "file": {
     "name": "strings.json",
     "fullName": "backend/strings.json",
     "title": "application strings",
     "branchName": "master",
     "type": "json"
   },
   "context": {
     "context": "backend.string.example.plain",
     "maxLength": 10,
     "identifier": "6a1821e6499ebae94de4b880fd93b985"
   },
   "contentType": 'application/vnd.crowdin.text+plural',
   "source": '{"one":"Password", "other":"Password"}',
   "label" : ["Translate by vendor"]
}

Risposta del Frammento di Codice

Dopo aver eseguito il frammento di codice, dovrebbe restituire la risposte se le condizioni specificate sono soddisfatte o no:

  • L’oggetto della risposta dovrebbe contenere la proprietà success booleana indicando se le condizioni specificate sono soddisfatte. Ad esempio:
{
  "success": true
}
  • Nel caso in cui le condizioni specificate non siano soddisfatte, la stringa sarà diretta all’output false del passaggio del Codice Personalizzato. Per esempio:
{
  "success": false
}

Questo articolo è stato utile?