How to implement i18n in Gatsby

For my own purposes, I recently made my own i18n implementation for Gatsby. It works by serving to different versions of the site, at two different domains (or paths). During the Gatsby build process, it will decide which translations to use, based on an env variable. Optionally, you can also implement a language switcher, that directs you to the different versions of that site.

I wrote a blog post about how I implemented this approach in detail here, if you're interested in implementing it yourself.