Codice Personalizzato

Custom Code is a workflow step that allows you to specify your own code snippets according to which the strings should be filtered further in the workflow. The Custom Code has one input and two outputs (true and false), so you can split strings into two workflow threads according to some specific conditions written using JavaScript.

Use Cases

You can use the custom code workflow step in the numerous scenarios. Here are a few examples:

  • To send one part of the strings to in-house translators and another part to a translation agency.
  • To send one part of the strings to machine translation and another part to crowdsourcing.
  • To send one part of the strings to in-house proofreaders and another part to proofreading by a translation agency.

Adding Custom Code Step to Your Workflow

Custom Code could be added to the workflow of your project in the workflow editor or the Workflow template editor.

Codice Personalizzato nell'Editor del Flusso di Lavoro

Parametri del Frammento di Codice

After you added the Custom Code step to your workflow, it’s necessary to specify the code snippet in the Custom Code field according to which the strings will be directed to either of two outputs.

Code Snippet is JavaScript-based. It Includes a crowdin object and several properties. 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 branchName,
   string type
 object context {
   string context
   ?int maxLength
 string contentType,
 string source

Find the example of a custom code snippet in Crowdin Script Editor. 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. – nome del file sorgente
  2. file.fullName – percorso completo al file sorgente nel progetto (ramo escluso se presente)
  3. file.branchName – nome del ramo in cui è memorizzato il file sorgente
  4. file.type – tipo di file sorgente
  5. source – testo sorgente
  6. context.maxLength – maximum length of the string
  7. context.context – context of the string that enters the input of the Custom Code step
  8. contentType – string can include one of three types:

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

Check out the example of a code snippet request:

   "file": {
     "name": "strings.json",
     "fullName": "backend/strings.json",
     "branchName": "master",
     "type": "json"
   "context": {
     "context": "backend.string.example.plain",
     "maxLength": 10
   "contentType": 'application/vnd.crowdin.text+plural',
   "source": '{"one":"Password", "other":"Passwords"}',

Risposta del Frammento di Codice

After running the code snippet, it should return the response whether the specified conditions are met or not:

  • The response object should contain boolean success property indicating whether the specified conditions are met. Ad esempio:
  "success": true
  • In case the specified conditions are not met, the string will be directed to the false output of the Custom Code step. Per esempio:
  "success": false

Questo articolo è stato utile?