Intl-watcher: i18n Key Management & Dictionary Splitting in Next.js

Hi everyone :waving_hand:,

I just published an open-source Next.js plugin called intl-watcher. It’s something I initially created as a small script to manually manage i18n translation keys across my private projects - mainly to automate extracting new keys, removing unused ones, and splitting dictionaries into optimized client/server bundles.

Over time, running it manually felt tedious, so I decided to automate the process and publish it as a plugin. It’s early-stage, somewhat niche, and specifically tuned to work seamlessly with the next-intl library (particularly useTranslations and getTranslations). Flat dictionaries as well as namespaces are both supported. Resilient parsing isn’t fully implemented yet (I’m working on that!), it handles most static key expressions, even dynamic-looking ones like

t(`${literalUnion}Description`)

It’s not perfect yet, but it might already help some of you simplify managing your translations in Next.js projects.

If you find it useful or have ideas, I’d love to hear your feedback!

:backhand_index_pointing_right: intl-watcher GitHub Repository

2 Likes

Thanks for sharing, Christian! This looks super helpful — I appreciate your work on making i18n management easier in Next.js projects. :raising_hands:

Thanks for the kind words - let me know if you were able to give it a try and whether everything works as expected. After all, it’s quite the difference running this “just” for my own side projects and having others attempt to integrate it into their own workflows.

1 Like