Going to production

We already saw customers going from integrating locize to production in a few days. There should be a few things to take into consideration before pressing that button:

Your API key

Do not add your API key into your production build.

Anyone can take your API key from the code and start using the API to change your translations or adding new content on your cost.

If you already leaked your API key to production best will be to remove that key immediately going to your locize project's setting page. Remove it from your codebase with the next deployment or your code.

Using saveMissing, add, update function

Using the feature to add new keys during development is meant to be only used during development. Using it in production can lead to spamming our endpoint with unneeded requests.

Doing so can force us to start charging you for those saveMissing calls (which currently are free) or in worst case we will be forced to suspend your account.

module

what to do

i18next

set saveMissing, updateMissing to false on i18next.init (default)

locizer

do not use functions: locizer.add, locizer.update, locizer.used

locizify

set saveMissing, updateMissing to false on init (default)

Use the locize CDN

Loading translations from the CDN has some significant advantages over loading them from your own server. If you're forced to load them from your own server we would at least consider loading them from the CDN during development to get that realtime feedback.

1) Realtime update

Your changes done using the locize UI or API are immediately published to the CDN which means a huge timesaving during development.

2) Update without deployment

Your translators can fix typos or other mistakes in the content independent from the development. There is no need to download the translations updating your codebase and having to deploy it.

Versions & Caching

If you decided to use the locize CDN in production there is one important tipp.

Create an additional version in the project settings. And enable caching on it.

This will improve load times on first request because the translations get cached on available edge locations bringing your translations closer to the users resulting in better latency. Further subsequent requests will be cached by the browser improving the experience even more.