Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
An opinionated boilerplate for multilingual Astro sites using i18next, with per-language Netlify deployments.

A full-stack Next.js TypeScript template focused on functionality over UI, featuring Zustand, TanStack Query, and ESLint 9 support.
Astro with i18next Example is a public boilerplate repository that shows how to add build-time translations to an Astro site using i18next, react-i18next, and i18next-parser, with each locale deployed as its own Netlify site. The project is hosted on GitHub and currently has 12 stars; the author explicitly notes it is not complete, with known issues in the Trans component.
Astro with i18next Example is a starter/reference project for multilingual Astro development. It takes a standard Astro site as input and produces localized static builds based on the LANGUAGE environment variable. The output is a set of static sites — English, Spanish, and French demos are deployed to separate Netlify domains. It leverages the Astro framework, i18next for translation management, react-i18next for React component support, and i18next-parser for key extraction.
Astro developers who need multi-language support in a static site will find this a practical reference. Teams that want a domain-per-language strategy (e.g., example.com for English, example.es for Spanish) without path prefixes can use the Netlify setup. Developers who already work with i18next and react-i18next can see exactly how to connect these libraries to an Astro project.
The build process starts by setting the desired locale, for example LANGUAGE=es. Then yarn build triggers Astro to generate a static site using the imported i18next configuration. i18next-parser extracts keys from the code, and missing translations fall back to English. The resulting output folder is deployed to a Netlify site dedicated to that language.
The author states it isn't complete yet, noting known issues with the Trans component and likely unknown issues. Before using it in production, test the Trans behavior in your specific components.
Set the LANGUAGE environment variable to the desired locale code, then run yarn build. For example, LANGUAGE=es yarn build produces the Spanish site.
Live demos are hosted on Netlify for English at astro-example-i18next.netlify.app, Spanish at astro-example-i18next-es.netlify.app, and French at astro-example-i18next-fr.netlify.app.
No, it uses a domain-per-language approach. Each language is served from a separate domain (or subdomain) and has its own Netlify deployment.
The English string is used as the fallback for any missing translation in the requested language, preventing blank spaces in the UI.
