@jamannnnnn on X
→ For humans & AI
→ Next.js-first by design
→ Full Turbopack support
→ SWC-based parsing
→ For humans & AI
→ Next.js-first by design
→ Full Turbopack support
→ SWC-based parsing
nextjs.org/docs/app/api...
nextjs.org/docs/app/api...
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
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
→ No oversimplified examples
→ Built around a real-world project
→ Holistically transitioned to fully internationalized
Full course reveal coming next week!
→ No oversimplified examples
→ Built around a real-world project
→ Holistically transitioned to fully internationalized
Full course reveal coming next week!
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! 🚀
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! 🚀
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...
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...
→ ethereum.org/en/contribut...
→ ethereum.org/en/contribut...
→ ethereum.org/en/contribut...
→ ethereum.org/en/contribut...
→ ethereum.org
→ ethereum.org
Turns out it actually supports this pattern, how cool is that!
https://vitest.dev/api/#beforeeach
Turns out it actually supports this pattern, how cool is that!
https://vitest.dev/api/#beforeeach
Practically, this means you get autocomplete for known values, but arbitrary strings that will match "other" are also supported.
Practically, this means you get autocomplete for known values, but arbitrary strings that will match "other" are also supported.
You can also check out the linked document for all details: https://ec.europa.eu/justice/article-29/documentation/opinion-recommendation/files/2012/wp194_en.pdf
You can also check out the linked document for all details: https://ec.europa.eu/justice/article-29/documentation/opinion-recommendation/files/2012/wp194_en.pdf
To comply with current regulations, these changes will be made:
1. Decrease locale cookie expiration to 5 hours
2. The locale cookie will now only be set when a user switches to a locale that doesn’t match the accept-language header
To comply with current regulations, these changes will be made:
1. Decrease locale cookie expiration to 5 hours
2. The locale cookie will now only be set when a user switches to a locale that doesn’t match the accept-language header
E.g. a plain param doesn't accept a number, but requires that the `number` formatter is used 😌
E.g. a plain param doesn't accept a number, but requires that the `number` formatter is used 😌
But if you consider yourself a TypeScript nerd, I think you'll like this quite a lot! 😊
But if you consider yourself a TypeScript nerd, I think you'll like this quite a lot! 😊
After Cursor and me fumbled around for a bit, I discovered that https://github.com/schummar had already done this … in a more profound way than I'd thought is possible. He kindly published his work for usage in next-intl.
After Cursor and me fumbled around for a bit, I discovered that https://github.com/schummar had already done this … in a more profound way than I'd thought is possible. He kindly published his work for usage in next-intl.
By strictly typing your supported locales, APIs like useLocale() or <Link /> that either return or receive a locale will now require a precise value based on a string union, improving type safety across your app.
By strictly typing your supported locales, APIs like useLocale() or <Link /> that either return or receive a locale will now require a precise value based on a string union, improving type safety across your app.