Content Delivery (CDN)
Content Delivery will deploy your localization files to reliable and fast cloud storage so you can confidently use them in your application. This way, the updates in your localization files can be reflected without changes to your code or rebuilding the application.
In the Free plan, you can use only one content delivery configuration, and you cannot use custom storage.
Custom storages are available in the Translate plan and higher. Multiple content delivery configurations are available in the Optimise plan and higher. Upgrade your plan to use these features.
If you use the self-hosted version, you can connect to your own storage in server configuration. With Tolgee license you can use Hosted Content Delivery (same as on cloud).
Setting up the Content Delivery
You can set up Content Delivery in the Developer settings section of the Tolgee platform.
- Go to Developer Settings

- Click the
+ Content Deliverybutton
Give the configuration a name and choose the Languages and Format of the published files. Below them, you can choose what gets published (see Choose what gets published). These settings work the same way as on the export page.
When the Publish automatically option is enabled, your localization files will be published automatically after every
change in your localization data. If you deselect the checkbox, you will have to publish your localization files
manually.

- Use the Content Delivery link
Copy the link to your Content Delivery.

The easiest way to connect Content Delivery with Tolgee SDK is through BackendFetch plugin.
const tolgee = Tolgee()
...
.use(BackendFetch({ prefix: 'https://cdndev.tolg.ee/i18n/b53fb7fb98a57fd1f2ffc85ef5ee7b03' }))
...
This way, your localization files are stored outside your application, so you can update them independently from your release cycle.
Content delivery is made to be rapidly available all around the world, so we prioritize caching and using CDN over fast deployment. This means it can take up to 15 minutes (usually faster) for your changes to be published.
Read more about providing Tolgee SDK with static data.
Manual publishing of Localization Files
If you opted out of automatic publishing, you can do so manually in the list of content deliveries by Publish button.

Choose what gets published
Your app usually should not load every string in the project. Unfinished copy, strings for a feature that has not shipped yet, or strings that belong to another app can end up in front of users once the files are published. In the content delivery dialog, you can limit what gets published with the same filters you know from the export page. They are always visible in the dialog, below Languages and Format.
Statesselects which translation states are published. Unlike the export page, content delivery publishes onlyTranslatedandReviewedtranslations by default, so untranslated strings never reach your app.Namespacesselects which namespaces are published. It is only shown when namespaces are enabled for the project.Message & placeholder formatand format specific options such asSupport arraysorEscape HTMLare only shown for formats that support them.Include keys with tagspublishes only keys that have at least one of the listed tags.Exclude keys with tagsskips keys that have any of the listed tags.
Both tag fields offer the tags that already exist in the project and accept * as a wildcard. A tag used in one field is not offered in the other. Leave them empty to publish all keys.
For example, imagine your production app should only get strings that are part of a release, and never strings your team still marks as wip. Add release-* to Include keys with tags and wip to Exclude keys with tags. Every key you tag for a new release, such as release-2.5, is included the next time the files are published, without editing the configuration, while unfinished keys stay out of your app until the wip tag is removed.

When branching is enabled, each content delivery configuration gains a Branch field and is pinned to a specific branch. See Content Delivery and Branches for details.
Storage file structure
Your localization files are simply named by the language tags in the root folder of your storage link with the file extension (depending on your settings):
├── <your Content Delivery link>
│ ├── cs.json
│ └── en.json
If you use namespaces, it should look like this:
├── <your Content Delivery link>
│ └── common
│ ├── en.json
│ └── de.json
Using custom storage
Custom delivery storages are available in advanced plans. Upgrade your plan to use this feature.
If you use the self-hosted version, you need to set up the license to use this feature.
You can also connect the content delivery to your custom storage.
- Open Content Storage settings

- Add new storage
Tolgee supports S3 buckets and Azure blob storage. Fill in the settings that you obtain from your provider.
You can also test if your configuration is valid with the Test button.

- Select the storage in the Content Delivery
After you create custom storage, the Storage field will appear in Content Delivery settings, so you can select your storage over the default one.
