Alternative Caching with i18next

Browser caching with local storage

With i18next you can configure a cache layer to be used in the browser. It will load and cache resources from localStoragearrow-up-right and can be used in combination with the chained backendarrow-up-right.

import i18next from "i18next";
import ChainedBackend from "i18next-chained-backend";
import LocizeBackend from "i18next-locize-backend";
import LocalStorageBackend from "i18next-localstorage-backend";

i18next
  .use(ChainedBackend)
  .init({
    fallbackLng: "en",
    // ... your i18next config
    backend: {
      backends: [
        LocalStorageBackend,
        LocizeBackend
      ],
      backendOptions: [{
        expirationTime: 7 * 24 * 60 * 60 * 1000 // 7 days
      }, {
        projectId: "[PROJECTID]",
        apiKey: "[APIKEY]",
        version: "[VERSION]",
        referenceLng: "en"
      }]
    }
  });

Server side caching with filesystem

With i18next you can configure a cache layer to be used on server side. It will load and cache resources from the filesystemarrow-up-right and can be used in combination with the chained backendarrow-up-right.

React-native caching with AsyncStorage

With i18next you can configure a cache layer to be used on react-native. It will load and cache resources from the AsyncStoragearrow-up-right and can be used in combination with the chained backendarrow-up-right.

Server side Next.js caching with filesystem

Similar to the normal server side caching with filesystem, you can use the same approach in a Next.js app in combination with next-i18nextarrow-up-right. It will load and cache resources from the filesystemarrow-up-right and can be used in combination with the chained backendarrow-up-right.

The config file, will probably look similar to this, but for a more complete example have a look at this examplearrow-up-right.

triangle-exclamation

Last updated