Skip to main content
String formats are how Ditto hands text to code. The CLI writes these files on pull according to the outputs in your config, and the API returns the same formats from the export endpoints (GET /v2/textItems/export and GET /v2/components/export). Every format can be fetched for the base text or for a single variant; Set up localization covers how locales map to files. Ditto allows Android developers to fetch the latest text as pre-formatted XML resources (.xml) in accordance with Android strings and Android localization guidance. If you’re fetching this format via the API, it will have an HTTP Content-Type header of text/xml. Example:
Instructions: To fetch this via the API, provide the query parameter ?format=android. To fetch this via the CLI, specify format: android in the config.yml file. Format details:
  • Text items in Ditto are mapped to <string> tags. Each tag is given a name property with a value that corresponds to a given text item’s Developer ID; to comply with Android requirements, - characters in the ID are replaced with _. An additional ditto_api_id field is also included with the unmodified Developer ID.
  • Variables in Ditto are mapped to <xliff:g> tags. They’re given id and example properties with values that correspond to a given variable’s name and example values, respectively.
  • A text item with plurals will have a <plurals> tag generated for it, along with an <item> for each plural form that is configured in Ditto (note: <item id="other"> will always be generated). Plural items also support variables via <xliff:g> tags.
  • If this format is exported for a specific variant, two comments containing variant metadata will also be included: