Text Items & Library Components

Text items in Ditto are strings maintained in your Ditto projects that can be linked to one or more instances of that text in your design files. Editing a text item will also edit all of its linked instances. Each workspace also has a centralized library of components. These function similarly to text items in projects, but allow you to reuse the same text across multiple projects by linking a library component to one or more project text items. Editing the component or any of its linked instances will update all of its instances.

Developer IDs

Developer IDs in Ditto are unique (typically) human-readable identifiers for various types of Ditto data, such as projects, text items, variables, and variants, which serve as the unique key for each piece of data. This allows developers to reference this Ditto data in development, as well as to retrieve desired data from the API and CLI. Developer IDs are generated automatically when an item is created, based on that item’s data. For instance, new projects will have Developer IDs based on the name of the project, while new text items’ will be based on the initial text content. To view and edit a project’s Developer ID, choose Integrate into development in the main menu found in the top right of a project in the web app. CleanShot 2025-08-20 at 11.50.23@2x.png CleanShot 2025-08-20 at 11.53.18@2x.png To edit a text item’s Developer ID:
  1. Select the text item in your project
  2. Edit the Developer ID section in the details panel
CleanShot 2025-08-20 at 12.02.51@2x.png To edit a variant’s Developer ID:
  1. Go to the variant library and select a variant
  2. Edit the Developer ID in the details panel
CleanShot 2025-08-20 at 12.04.28@2x.png

Translation with Variants

Ditto generates localization-ready files using variants, with each variant corresponding to a language/locale. In these files, a single text item (string) can contain multiple variants, making it easy to display different language files to users. To handle localized strings, you can choose to either:
  • Localize in-house by providing translations in the Ditto app
  • Integrate Ditto with a translation management system (either using one of our existing integrations or via our API)
To learn more about localizing with Ditto, check out this guide.

Variable Interpolation

Variable interpolation and dynamic values are handled by variables in Ditto. When fetched by the API/CLI or in manual exports, Ditto will handle variable formatting specific to each string file format.

Pluralization - coming soon

String Import - coming soon