Which SDKs and frameworks does i18n-keyless support?

Updated

i18n-keyless ships one API with twelve SDKs, so most common front-end, back-end, and mobile stacks are covered. If you use React, Next.js, Vue, Nuxt, Angular, Svelte, Node.js, Laravel, Rails, Flutter, Swift, Kotlin, Python, or Go, there is a documented path to integrate. Plain HTML works through a single script tag. The site claims setup takes about 5 minutes.

Supported SDKs and frameworks

The official list groups the twelve SDKs by ecosystem:

Ecosystem Frameworks / runtimes
React React, React Native, Expo, Next.js, Remix, TanStack Start, Astro
Vue Vue, Nuxt
Angular Angular
Svelte Svelte, Alpine, htmx (via one script tag)
Plain HTML One script tag
Node.js Node.js
PHP Laravel
Ruby Rails
Flutter Flutter (Dart)
Swift iOS, macOS, Vapor
Kotlin Android, Ktor
Python Django, Flask, FastAPI
Go Go

If your stack appears in this table, you can follow the SDK-specific setup. If it does not, the plain HTML script-tag route is the fallback for browser-based projects.

What "keyless" changes about integration

The core difference from traditional i18n libraries is that you do not maintain a key system. Instead of writing header.welcome.title and mapping it to a translation file, you write the real text and the service handles translation.

Practical consequences for setup:

  • No locale JSON to load. You are not wiring up translation files per language.
  • No key generation step. There is no separate key registry to create or maintain.
  • One file to edit. The site describes the workflow as editing a single file rather than managing many locale files.
  • No merge conflicts from locale files. Because there are no per-language JSON files being edited in parallel, the merge-conflict class of problems disappears.

The site frames the alternative as costly: setting up a keys system is described as at least 1 hour of senior dev time, and back-and-forth for each new key as roughly 1 minute per key — with an example of 500 keys across 2 languages totaling about 17 hours.

How to get started

  1. Confirm your stack is listed. Check the table above. If your framework is there, use its SDK.
  2. Get an API key. The site provides a "Get API Key for One App" entry point and a dashboard.
  3. Follow the 5-minute setup. The site states your whole i18n implementation can be done in about 5 minutes.
  4. Verify by viewing your app in a second language. With the key system, a missing translation shows something like someheader.welcome.title. With i18n-keyless, the worst case offline is untranslated real words — so a quick language switch is a reasonable sanity check.

Self-hosted vs. hosted

The site offers two deployment models:

  • Free self-hosted — you run it yourself.
  • Hosted from €4/month — managed service.

The site also addresses the shutdown concern directly with a "What if the service shuts down?" section, which is worth reading if you are weighing the hosted option against self-hosting.

Common integration questions

Does it work with a plain static site? Yes — plain HTML is supported via a single script tag, and Svelte, Alpine, and htmx are also listed under the script-tag approach.

Does it cover mobile? Yes — React Native and Expo on the React side, Flutter for Dart, Swift for iOS/macOS/Vapor, and Kotlin for Android/Ktor.

Does it cover back-end rendering? Yes — Node.js, Laravel, Rails, Django, Flask, FastAPI, and Go are all listed.

What if my framework is not listed? The script-tag route covers browser-based projects. For anything else, the supported list is the authoritative starting point.

What to check before committing

  • Confirm your exact framework version is covered by the relevant SDK, since the list names frameworks but not version ranges.
  • Decide between self-hosted (free) and hosted (from €4/month) based on whether you want to run the service yourself.
  • Read the shutdown section if you are choosing hosted, so you understand the exit path.

The fastest way to validate the fit is to pick your SDK, run the 5-minute setup, and switch languages in your app to confirm real words appear instead of keys.