# Dialogflow

> Dialogflow Agents Localization

URL: https://store.crowdin.com/dialogflow
Identifier: dialogflow
Category: File Formats
Type: App
Author: Crowdin

With this app you can translate Dialogflow Agents in Crowdin and keep the app multilingual.

## File Format Details

| Attribute | Value |
| --------- | ----- |
| File Extension | .json |
| [API Type](https://support.crowdin.com/developer/api/v2/) | dialogflow |
| Source can be edited in Crowdin | No |
| Generating translated files via [Bundles](https://support.crowdin.com/bundles/) | [Search Crowdin Store](https://store.crowdin.com/tags/string-exporter) |
| Supports pluralization | No |
| WYSIWYG Preview in the editor | Yes |
| Supported types of contextual information | WYSIWYG |
| Custom attributes | No |
| Existing translations import possibility | Key-value mapping (trivial) |

## Sample File

```json
[
  {
    "id": "55229989-af70-474c-a2ab-94f9c3849be2",
    "data": [
      {
        "text": "alarms list",
        "userDefined": false
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "ad914120-0278-4b28-bf3e-7768104a0be7",
    "data": [
      {
        "text": "is my ",
        "userDefined": false
      },
      {
        "text": "weekly",
        "meta": "@recurrence",
        "alias": "recurrence",
        "userDefined": true
      },
      {
        "text": " alarm set",
        "userDefined": false
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "a63882bb-52a9-4623-8188-f144bae5539e",
    "data": [
      {
        "text": "check my alarm for ",
        "userDefined": false
      },
      {
        "text": "6 am",
        "meta": "@sys.time",
        "alias": "time",
        "userDefined": true
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "fedced40-f70d-46c9-9364-a2436bd5725f",
    "data": [
      {
        "text": "what time did you set the alarm for",
        "userDefined": false
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "05552845-8595-4db8-8026-885fd4cde36c",
    "data": [
      {
        "text": "what time is my alarm set for",
        "userDefined": false
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "de65cc80-805e-4669-b7cc-76db5552bd9d",
    "data": [
      {
        "text": "show my alarms",
        "userDefined": false
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "207593e3-df26-4cb8-a81a-ee6175ebfc4a",
    "data": [
      {
        "text": "did you set that alarm for ",
        "userDefined": false
      },
      {
        "text": "6:30",
        "meta": "@sys.time",
        "alias": "time",
        "userDefined": true
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "330d1078-64bd-4477-974c-b75da7fec13e",
    "data": [
      {
        "text": "I\u0027d like to see my alarms",
        "userDefined": false
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "5edd5d4d-eae8-4fe1-9a38-888f963fc8fb",
    "data": [
      {
        "text": "how many alarms do I have for ",
        "userDefined": false
      },
      {
        "text": "tomorrow morning",
        "meta": "@sys.time-period",
        "alias": "time-period",
        "userDefined": true
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "a82a4396-f1a7-4f1f-ae3b-d3aca3072c23",
    "data": [
      {
        "text": "at what time do you wake me up on ",
        "userDefined": false
      },
      {
        "text": "Mondays",
        "meta": "@recurrence",
        "alias": "recurrence",
        "userDefined": true
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "1d6f3f51-790f-46e2-a657-4c97da56a7ae",
    "data": [
      {
        "text": "my alarms",
        "userDefined": false
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "27bf01f2-e8b5-40fe-8117-e5d6511e0e0e",
    "data": [
      {
        "text": "check alarms at ",
        "userDefined": false
      },
      {
        "text": "9:30 pm",
        "meta": "@sys.time",
        "alias": "time",
        "userDefined": true
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "ae78b2ea-aff8-4990-8229-a1a8233720d7",
    "data": [
      {
        "text": "do I have any alarms set",
        "userDefined": false
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "08a967f4-2e3f-46ca-aa2d-d340e899fce6",
    "data": [
      {
        "text": "show my alarms for ",
        "userDefined": false
      },
      {
        "text": "tomorrow",
        "meta": "@sys.date",
        "alias": "date",
        "userDefined": true
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "2e917e11-3d6b-4995-a3a2-b1fb6b3088c2",
    "data": [
      {
        "text": "do I have any alarms set for ",
        "userDefined": false
      },
      {
        "text": "June 22",
        "meta": "@sys.date",
        "alias": "date",
        "userDefined": true
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "f13fb3b1-519c-40bb-b53c-0a19133ec04c",
    "data": [
      {
        "text": "check ",
        "userDefined": false
      },
      {
        "text": "all",
        "meta": "@all",
        "alias": "all",
        "userDefined": true
      },
      {
        "text": " my alarms",
        "userDefined": false
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "81f7cc85-4daf-43ae-9c03-9270b4dd1bbc",
    "data": [
      {
        "text": "my alarms set for ",
        "userDefined": false
      },
      {
        "text": "8 am",
        "meta": "@sys.time",
        "alias": "time",
        "userDefined": true
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "65cfe1f7-f90a-4ae1-a9a2-842c37153588",
    "data": [
      {
        "text": "is my ",
        "userDefined": false
      },
      {
        "text": "daily",
        "meta": "@recurrence",
        "alias": "recurrence",
        "userDefined": true
      },
      {
        "text": " alarm set for ",
        "userDefined": false
      },
      {
        "text": "10 am",
        "meta": "@sys.time",
        "alias": "time",
        "userDefined": true
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "ee0ff6ea-396b-4595-92d6-74ce8a5631b2",
    "data": [
      {
        "text": "is my alarm set",
        "userDefined": false
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "667c0457-8a33-4181-b437-ecea278bb583",
    "data": [
      {
        "text": "all",
        "meta": "@all",
        "alias": "all",
        "userDefined": true
      },
      {
        "text": " my alarms",
        "userDefined": false
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "3b512b00-e0f7-4feb-94ae-b2280447b281",
    "data": [
      {
        "text": "is my ",
        "userDefined": false
      },
      {
        "text": "Work",
        "meta": "@sys.any",
        "alias": "alarm-name",
        "userDefined": true
      },
      {
        "text": " alarm on",
        "userDefined": false
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "bdea5cd3-4a9a-44f9-a18b-1df88806f9fb",
    "data": [
      {
        "text": "for what time do I have my alarm set",
        "userDefined": false
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "5758e0f1-6cad-403c-8ea1-b30b52da2705",
    "data": [
      {
        "text": "I\u0027d like to see my ",
        "userDefined": false
      },
      {
        "text": "daily",
        "meta": "@recurrence",
        "alias": "recurrence",
        "userDefined": true
      },
      {
        "text": " alarms",
        "userDefined": false
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "1a8da6ef-246a-4bed-bff6-b303588fb18c",
    "data": [
      {
        "text": "show me ",
        "userDefined": false
      },
      {
        "text": "all",
        "meta": "@all",
        "alias": "all",
        "userDefined": true
      },
      {
        "text": " my alarms",
        "userDefined": false
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "f01a2e47-9780-4a6f-935e-6396baa64ec2",
    "data": [
      {
        "text": "show my alarm called ",
        "userDefined": false
      },
      {
        "text": "Gym",
        "meta": "@sys.any",
        "alias": "alarm-name",
        "userDefined": true
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "91f4be1a-e892-4f1d-a0c1-8d58005f214b",
    "data": [
      {
        "text": "do I have any alarms ",
        "userDefined": false
      },
      {
        "text": "tomorrow",
        "meta": "@sys.date",
        "alias": "date",
        "userDefined": true
      },
      {
        "text": " at ",
        "userDefined": false
      },
      {
        "text": "9",
        "meta": "@sys.time",
        "alias": "time",
        "userDefined": true
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "4ea87643-b099-4aa7-b4ee-29d0498d0313",
    "data": [
      {
        "text": "alarms list for ",
        "userDefined": false
      },
      {
        "text": "next week",
        "meta": "@sys.date-period",
        "alias": "date-period",
        "userDefined": true
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "c1cce334-2e4a-47c2-93ef-e3e8e8a2fe8d",
    "data": [
      {
        "text": "did you set the alarm for ",
        "userDefined": false
      },
      {
        "text": "10 am",
        "meta": "@sys.time",
        "alias": "time",
        "userDefined": true
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  },
  {
    "id": "ce5b471d-f7cf-4af7-972a-3a796bb02c48",
    "data": [
      {
        "text": "pull up the list of ",
        "userDefined": false
      },
      {
        "text": "all",
        "meta": "@all",
        "alias": "all",
        "userDefined": true
      },
      {
        "text": " my alarms",
        "userDefined": false
      }
    ],
    "isTemplate": false,
    "count": 0,
    "lang": "en",
    "updated": 0
  }
]
```

## Translating Dialogflow


**Notes**

 - Make sure to configure the proper export patterns for your Dialogflow files you upload to Crowdin. When downloading you should receive files named like "alarm.check_usersays_en.json", "alarm.check_usersays_fr.json". It's recommended to use Crowdin CLI or CVS integration to get translated package ready for import to the Dialogflow.

 - Every entry in Intent files woul require langauge code. This langauge code will not be set automatically, either you or a translators should put proper values using Crowdin Editor. If you enable automatic duplicates translation in your project settings, this action can be done once per every target language.
