Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Remix starter with localized URLs, dependency-free typed translations, and automatic language redirection.
Remix Starter is a boilerplate for the Remix framework (Remix Run) that provides localized URL routing and dependency-free typed translation out of the box. Built as a starting point for multi-language web apps, it automatically redirects users to their language version based on browser settings, remembers manual choices with a cookie, and suggests a better language when someone lands on the wrong one.
Remix Starter is a Remix-run application template that ships with a working i18n setup using localized URLs such as /en-ch/ and /en-ch/about. It accepts translations from an app/data/i18n.json file and exposes only the keys used on each page. The starter is written in TypeScript and runs on Node.js via the standard npm run dev, npm run build, and npm start commands.
/ and /about, users visit /en-ch/ and /en-ch/about, which is an SEO best practice for multilingual content.Accept-Language header and routes users to their preferred language, so no manual selection is required on first visit.build/ and public/build/) to any Node.js host, or copy the app/ folder into a Remix template pre-configured for your target server./en/, /de/, /fr/, and let the starter handle redirection and translation loading.app/data/i18n.json from any translation management system and drop it in; the loader bundle-splits translations per page.The starter operates through the Remix loader function. On each route, you define an array of translation keys. The loader calls loadTranslations with the locale from the URL params and the key array, returning a type-safe object. During rendering, the useLoaderData hook exposes the translations for that page. For routing, the app checks the Accept-Language header, routes to the best match, sets a cookie when a user picks a language manually, and shows a recommendation banner when the current country code doesn't match the browser language.
Yes, it's an open-source starter on GitHub (the repository metadata lists 55 stars) and there's no mention of any paid tier.
You can either deploy the built app server anywhere that runs Node.js, or move the app/ folder into a Remix template that is pre-configured for a specific host.
Add translations for the new locale to app/data/i18n.json and make sure the URL prefix matches the locale code, for example /fr/ for French. The automatic redirection and cookie logic then pick it up.
No. The starter uses a custom loadTranslations function and TypeScript types to load only the required keys from a JSON file, with no dependencies.
