Why is there such a high download amount?

If you notice a high number of downloads in your invoice or project statistics (see your Health / Metrics page), it’s usually due to how your app fetches translations.

Here are the most common reasons and solutions:

You've integrated i18next-locize-backend or are using the download API in a serverless environment

Serverless functions are short-lived and don’t retain cache. Each invocation may trigger a new download of translations.

Solution: Download translations in your CI/CD pipeline (via cli or api) and package them with your serverless function.

You're creating a new i18next instance or initializing i18next on each request

Initializing i18next on every request will fetch translations each time, increasing downloads.

Solution: Redesign your initialization to use a single i18next instance, or clone the i18next instance if needed.

You're using next-i18next with the i18next-locize-backend

In some deployment environments (especially serverless), this can trigger downloads on every request.

Solution: Follow this guide and bundle the translations with your Next.js app or use i18next-locize-backend only on client side.

You're using remix-i18next with the i18next-locize-backend

Depending on your deployment, this may be due to serverless environments or frequent creation of new i18next instances.

Solution: Follow this guide and this example to bundle translations with your Remix app.

You've integrated the Locize CDN directly into your mobile app

Solution: Download translations when packaging your app (via cli or api) and bundle them with your mobile app. If you want a "live" fallback and use i18next with react-native, try react-native caching with AsyncStorage.

Other tips

Consider using caching for browser usage or other alternative caching approaches to further reduce downloads.