“It’s only work if somebody makes you do it.” • craft code • creative ideas • cutting edge • author • senior front end architect • professional scuba diver • adventures above and below the sea level
Location
Germany
Work
Senior Front End Architect, Full Stack Engineer, Creative Technologist and Scuba Diving Professional
The build in internationalized (i18n) routing leverages the Next.js routing layer which is not available in states generated with next export.
I choose to implement a clean an simple approach to i18n compatible with next export instead of trying to work around the internal shortcomings of next.js.
If you start working on reimplementing the missingfunctionality by emulating the routing layer in exported sites, I would like to have a chat and see how we could collaborate.
Hello,
actually, I work on Tolgee which is basically a combination of a localization platform and i18n libraries. We also support Next.js. I don't know why Next export doesn't work like gatsby-plugin-react-intl, which just generates static pages for each language. It would be great for us to be able to do the same thing with Next export.
For us it would be great to have the same support as provided in Next's i18n-routing but without the actual i18n library, since we just need to get the current language using some hook.
“It’s only work if somebody makes you do it.” • craft code • creative ideas • cutting edge • author • senior front end architect • professional scuba diver • adventures above and below the sea level
Location
Germany
Work
Senior Front End Architect, Full Stack Engineer, Creative Technologist and Scuba Diving Professional
"Next export doesn't work like gatsby-plugin-react-intl, which just generates static pages for each language" - this is what I expected as well. I was quite suprised when I saw the compiler error on generating the static files. I think for next.js we really need to see the difference between "their" static version (SSG etc) leveraging the build in express.js server and "true" static files with next export (which are more or less static) and least can run on any webserver.
If my work oes not fit your project, maybe take a look at this article: "dev.to/adrai/static-html-export-wi..." it's a approach which keeps the i18next compatibility.
Hi Jan,
thank you for spotting the broken link. Fixed it to dev.to/martinkr/next-js-i18n-with-...
The build in internationalized (i18n) routing leverages the Next.js routing layer which is not available in states generated with
next export
.I choose to implement a clean an simple approach to i18n compatible with
next export
instead of trying to work around the internal shortcomings of next.js.If you start working on reimplementing the
missing
functionality by emulating the routing layer in exported sites, I would like to have a chat and see how we could collaborate.Cheers!
Hello,
actually, I work on Tolgee which is basically a combination of a localization platform and i18n libraries. We also support Next.js. I don't know why Next export doesn't work like gatsby-plugin-react-intl, which just generates static pages for each language. It would be great for us to be able to do the same thing with Next export.
For us it would be great to have the same support as provided in Next's i18n-routing but without the actual i18n library, since we just need to get the current language using some hook.
Nice work you're doing with tolgee.io!
"Next export doesn't work like gatsby-plugin-react-intl, which just generates static pages for each language" - this is what I expected as well. I was quite suprised when I saw the compiler error on generating the static files. I think for next.js we really need to see the difference between "their" static version (SSG etc) leveraging the build in express.js server and "true" static files with
next export
(which are more or less static) and least can run on any webserver.If my work oes not fit your project, maybe take a look at this article: "dev.to/adrai/static-html-export-wi..." it's a approach which keeps the i18next compatibility.
Cheers!
Thanks! I'll try to play with your solution and reuse the relevant part of it :)