Learn how to build delightful multilingual experiences with the official next-intl course and make your Next.js application seamlessly accessible to users around the world.
Taught by
Jan Amann
“Can’t read, won’t buy”
This is the title of a report by CSA Research that analyzed online consumer behavior as part of a large-scale study spanning 29 countries.
The study comes to this conclusion:
76% of online shoppers prefer purchasing products in their native language
40% will never buy from websites that are not in their native language
While some companies have begun translating their content, many stop short of creating a truly
localized experience that considers regional preferences and conventions.
It seems clear that businesses that don't offer a localized experience are missing out on significant opportunities—while those that do are already ahead of the curve.
So, why haven't more global companies properly embraced internationalization yet?
Internationalization is hard
If you're a developer who has already worked on the internationalization of an app, chances are you might nod along here. Maybe you were unsure on how to set it up, or you ran into a tough problem along the way.
I think so too, internationalization is indeed hard. At least, this always used to be the case for me.
“This time I'll get it right.”
That's what I told myself one too many times at the beginning of a project, always being optimistic that this time I'd know which challenges to anticipate.
Fast forward a few months, and inevitably, I'd encounter an unforeseen problem that would force me to rethink my app's architecture. “Not again.”, I thought to myself. “Can we make a compromise here or do I have to start all over again?”
One last try
Ok, one final refactor. And—somehow—this time it seemed to work! So good in fact that I wanted to use the same approach again for my next project. And that's how a few years ago a new package found its way into the npm registry: next-intl.
While the intention of publishing the package was mostly to make my life easier for future projects, I got curious if other developers would share feedback, helping me to improve the package over time.
What I didn't expect though, was that the project would seem to hit a nerve:
Ok, not gonna lie—this was quite a pleasant surprise.
The project entered a period of rapid growth, emerging as the go-to library for internationalization in modern Next.js apps.
I'm still in awe by all the positive feedback developers have shared with me:
“
We love next-intl. We've adopted it on the Node.js website along with Next.js' App Router. From all the i18n solutions out there for React and Next.js, so far the API and the design of next-intl has definitely become my favorite.”
Claudio Wunder
Cross Project Council at OpenJS Foundation
However, next-intl wasn't quite done yet.
Not a tool, but a tool-kit
The beauty of open source is that by putting your project out there, you get to learn about so many different use cases that people have. Aspects, that you might never have considered yourself.
In the case of internationalization, I've learned that there's no one-size-fits-all solution. So what I did was to ensure that next-intl provides a set of lightweight APIs that can be composed to fit your individual needs.
However, people came up with questions on how to use these:
“Which parts of my codebase need to be internationalized?”
“What is the right routing strategy for my site?”
“How can I optimize my development workflow?”
“How can I optimize my site for search engines?”
"How should my backend handle internationalization?"
"How can I improve the UX of my app for different cultures?"
“How do I integrate with external content from a CMS or Markdown?”
Through countless conversations that started with questions like these, I was able to gain a deep understanding of which challenges developers face.
What I found is that the building blocks that next-intl provides can be composed to handle even the most complex scenarios. Yet, one thing was missing: A guide, helping developers to put the pieces together to fit their individual needs.
Your fast track to internationalization
So here we are.
This course distills years of hard-won experience into clear, actionable insights about internationalization. You'll develop a rock-solid foundation, mastering everything from core concepts to advanced patterns—way beyond replacing a few hardcoded text labels.
I've created this course because it's the resource I wish I had when I started working on internationalization.
Whether you're taking your first steps or carry battle scars from previous attempts, you'll quickly learn proven strategies to tackle internationalization challenges with confidence in any project. You'll build apps that are a joy to develop and deliver exceptional user experiences across languages and cultures.
This time we'll get it right. For good.
Going international with Next.js
Learn how to build engaging multilingual experiences with confidence.
Architect internationalized apps with care & foresight
Deeply understand all pieces that contribute to a truly localized experience
Work with translations in depth
Get the UX right: From language switchers and forms to right-to-left languages
Leverage next-intl across the full stack of a Next.js app
Integrate with external backend services and a CMS
Max out your developer experience with TypeScript and IDE tooling
Use generative AI to localize your content
Collaborate with your team using a translation management system
Master SEO for multilingual apps to reach global audiences
And most importantly: Stay happy with internationalization past the honeymoon phase of your project and live happily ever after.
Hi, I‘m Jan!
I‘m an independent developer, open source maintainer and university teacher with 10 years of experience building user-centric apps with React.
I grew up in a small town in Austria, right at the crossing of Switzerland and Germany. Crossing borders was always daily routine for me and coincidentally I ended up building a project that helps developers to do the same.
I‘m incredibly excited to share everything I‘ve learned about internationalization with you in this course, to help you build apps that reach users across the globe with confidence.