March 10, 20222 min readTutorials

How to internationalize a Remix application with remix-i18next (Part 2)

This is the second part of our blog series about internationalizing a Remix application.

If you haven't read the first part yet, start here:

In this part we focus on a continuous localization workflow with Locize, including:

  • keeping translations in sync (CI / on-demand)
  • handling missing keys
  • in-context editing
  • caching & last-used reporting

TL;DR

  • Use remix-i18next for SSR-friendly language detection and route namespace loading.
  • Use Locize + locize-cli for a modern, automated localization workflow.

Continuous localization

Once your Remix app is internationalized, the real challenge is keeping translations up to date while the product evolves.

missing key

With Locize you can:

  • automatically collect missing keys
  • optionally auto-translate missing keys (machine translation)
  • allow editors to translate via UI
missing key auto mt

Syncing translations

You can synchronize translations via the CLI:

  • locize sync (uploads new keys, downloads published translations)
  • locize download (downloads published translations)

This is ideal for CI setups.

In-context editing

Locize supports in-context editing in your running application.

in context

Caching

Using an i18next backend with caching reduces calls and speeds up rendering.

caching

Overwrite versions

Locize can keep different published versions so you can roll forward/back safely.

overwrite version

Last used reporting

Track which keys are actually used in production.

last used

i18next crash course

smart_display
YouTube Video
This video is hosted on YouTube. Accept YouTube cookies to watch it here.
Watch on YouTube

Next steps

  • Re-read Part 1 if you want to start from scratch.
  • If you want a bigger i18next overview, also check the general i18next resources on Locize.