Jan
banner
amann.work
Jan
@amann.work
Maintainer of 🌐 https://next-intl.dev · Guest lecturer for React Web Applications at FHV · Partner for User Interface Engineering

@jamannnnnn on X
Pinned
Jan @amann.work · Aug 12
🌐 learn.next-intl.dev is officially live!

Learn how to build delightful, multilingual apps with Next.js—from the basics to advanced patterns, all through a real-world project.

🎥 10 chapters · 42 lessons · 5+ hours of 4K video
💻 All code, recaps & resources included
I've just open-sourced the .po parser I've implemented for this feature. Might be useful in case you want to build custom tooling around!

It might also come in handy if you want to implement a custom .po formatter for useExtracted in the future.

github.com/amannn/po-pa...
November 14, 2025 at 2:52 PM
Can't say that it wasn't tempting to make it a "use extracted" directive instead, just for the fun of the controversy ⚔️
🌐 next-intl 4.5: useExtracted

→ For humans & AI
→ Next.js-first by design
→ Full Turbopack support
→ SWC-based parsing
November 10, 2025 at 2:31 PM
🌐 next-intl 4.5: useExtracted

→ For humans & AI
→ Next.js-first by design
→ Full Turbopack support
→ SWC-based parsing
November 7, 2025 at 3:25 PM
While everyone is arguing about directives, I’ve just used “using” for the first time, and now I feel like a TypeScript god
November 4, 2025 at 12:35 PM
Reposted by Jan
Following up on my demo of cacheComponents + next-intl, I wrote a blog post reflecting on the problem's background and better explaining the solution!

aurorascharff.no/posts/implem...
Implementing Next.js 16 'use cache' with next-intl Internationalization | Aurora Scharff
Next.js 16 introduces component-level caching with the 'use cache' directive, but it doesn't work seamlessly with next-intl yet. In this blog post, I'll explore why the incompatibility exists and show...
aurorascharff.no
November 3, 2025 at 7:23 PM
Q: Does cacheComponents in Next.js 16 work with next-intl?

A: No, at least not yet. The tldr; is that we need next/root-params and support for it within 'use cache'. Everything in next-intl is already in place to use this though.

A bit more here →

github.com/amannn/next-...
Support for `cacheComponents` / `ppr` / `dynamicIO` · Issue #1493 · amannn/next-intl
Next.js is changing the rendering behavior. It's still very early, and things are moving, but it would be interesting to see if we can adapt next-intl to better suit the needs of these rendering mo...
github.com
October 23, 2025 at 12:40 PM
🌐 next-intl 4.4 is out with support for Next.js 16!

Release notes: github.com/amannn/next-...
Next.js 16

• Cache Components
• Turbopack enabled by default
• Turbopack file system caching (beta)
• Optimized navigations and prefetching
• Improved caching APIs
• Build Adapters API (alpha)
• React 19.2

nextjs.org/blog/next-16
October 22, 2025 at 9:47 AM
I'm curious about the future of `dynamicParams = false` for Cache Components in Next.js.

I've opened a discussion to have a conversation about this, please share your thoughts here →

github.com/vercel/next....
`dynamicParams = false` for Cache Components & non-inheriting behavior · vercel next.js · Discussion #84991
dynamicParams = false is a useful feature for running validation of dynamic segments before rendering of the app starts. I think this pattern is especially useful when working with top-level dynami...
github.com
October 17, 2025 at 8:32 AM
I didn't exactly have "build rust tooling" on my bingo card for next-intl in 2025, but here we are
September 30, 2025 at 2:07 PM
Such an incredibly helpful setting, makes me wonder if this should be the default …

nextjs.org/docs/app/api...
September 26, 2025 at 10:16 AM
📄 RFC: First-class message extraction in next-intl

The more eyes we can get on it, the better the feature will be—please share your thoughts with me!

github.com/amannn/next-...
github.com
September 24, 2025 at 12:43 PM
🌐 learn.next-intl.dev is officially live!

Learn how to build delightful, multilingual apps with Next.js—from the basics to advanced patterns, all through a real-world project.

🎥 10 chapters · 42 lessons · 5+ hours of 4K video
💻 All code, recaps & resources included
August 12, 2025 at 8:30 AM
A sneak peek at what to expect from 🌐 learn.next-intl.dev:

→ No oversimplified examples
→ Built around a real-world project
→ Holistically transitioned to fully internationalized

Full course reveal coming next week!
August 8, 2025 at 2:32 PM
I thought this course would take 2-3 months.
It took eight.

But now, learn.next-intl.dev is almost ready: Learn how to build delightful, multilingual apps with Next.js — launching next week! 🚀
August 6, 2025 at 3:35 PM
> Being Heard Isn’t Just About Speaking — It’s About Understanding

A really beautiful piece by Adebesin Tolulope

iamlope.medium.com/being-heard-...
Being Heard Isn’t Just About Speaking — It’s About Understanding
Great apps don’t just talk — they listen. Learn how i18n with next-intl helps your Next.js app understand users in their own language.
iamlope.medium.com
May 27, 2025 at 2:39 PM
TIL about i18n-check!

This CLI helps you validate against:

1. Missing translations in target locales
2. Inconsistent usage of ICU arguments
3. Unused translations with next-intl (exp.)

Learn more → next-intl.dev/docs/workflo...
April 23, 2025 at 8:14 AM
If you've already upgraded to Next.js 15.3 and you saw a deprecation warning about Turbopack config with next-intl, you can now upgrade to next-intl@4.0.3 to get rid of the warning!

github.com/amannn/next-...
Release v4.0.3 · amannn/next-intl
4.0.3 (2025-04-22) Bug Fixes Support stable Turbopack config in Next.js 15.3 (#1850) (30ec8e0), closes #1838 – by @amannn
github.com
April 22, 2025 at 7:41 AM
TIL that the Ethereum website uses next-intl to localize its content to 69 languages—how cool is that! 🤯

ethereum.org
April 8, 2025 at 1:23 PM
🌐 next-intl 4.0

→ Revamped augmented types
→ Strictly-typed locale
→ Strictly-typed ICU arguments
→ GDPR compliance
→ Modernized build output
→ Preparation for PPR, dynamicIO & rootParams
→ … and more!

next-intl.dev/blog/next-in...
next-intl 4.0 – Internationalization (i18n) for Next.js
Internationalization (i18n) for Next.js
next-intl.dev
March 12, 2025 at 11:41 AM
Last call to provide feedback if you haven't already! 👀
amann.work Jan @amann.work · Dec 23
🌐 next-intl 4.0 beta

→ Revamped augmented types
→ Strictly-typed locale
→ Strictly-typed ICU arguments
→ GDPR compliance
→ Modernized build ouput
→ Preparation for PPR, dynamicIO & rootParams

next-intl.dev/blog/next-in...
next-intl 4.0 beta – Internationalization (i18n) for Next.js
Internationalization (i18n) for Next.js
next-intl.dev
February 28, 2025 at 12:31 PM
Also in this release: Link headers that are returned by a middleware are now merged with other ones that Next.js might set for fonts & images.

If you've been waiting with upgrading to Next.js 15 due to this, now's the time! The next-intl docs have now been updated to Next.js 15 as well.
Next.js 15.2

• Redesigned Error UI & Improved Stack Traces
• Streaming Metadata
• Turbopack Performance Improvements
• View Transitions (experimental)
• Node.js Middleware (experimental)

nextjs.org/blog/next-15-2
Next.js 15.2
Next.js 15.2 introduces an improved error experience, streaming metadata, Turbopack performance improvements, and more.
nextjs.org
February 27, 2025 at 7:42 AM
Who has already tried the beta? Anything you've encountered?
amann.work Jan @amann.work · Dec 23
🌐 next-intl 4.0 beta

→ Revamped augmented types
→ Strictly-typed locale
→ Strictly-typed ICU arguments
→ GDPR compliance
→ Modernized build ouput
→ Preparation for PPR, dynamicIO & rootParams

next-intl.dev/blog/next-in...
next-intl 4.0 beta – Internationalization (i18n) for Next.js
Internationalization (i18n) for Next.js
next-intl.dev
January 15, 2025 at 11:48 AM
☃️
January 11, 2025 at 10:33 AM
React Context as a provider in React 19 is 🔥!
January 10, 2025 at 11:36 AM
🌐 next-intl 4.0 beta

→ Revamped augmented types
→ Strictly-typed locale
→ Strictly-typed ICU arguments
→ GDPR compliance
→ Modernized build ouput
→ Preparation for PPR, dynamicIO & rootParams

next-intl.dev/blog/next-in...
next-intl 4.0 beta – Internationalization (i18n) for Next.js
Internationalization (i18n) for Next.js
next-intl.dev
December 23, 2024 at 10:10 AM