Maintain one language. Serve all of them. Drop a script tag into any page — visitors see it in their language instantly.
Three steps. Zero server config. Under a minute.
Paste a single line into your HTML. Pick your languages. Done. No build step, no config files, no backend.
A floating widget lets visitors pick any supported language. The page translates in real time — word by word, streamed as it generates.
Their choice is remembered automatically. On every return visit, every page loads translated before they see a single word of English.
This is not Google Translate. LLM-powered translation that reads like a native wrote it. See for yourself.
Find answers to common questions about setting up your account, managing billing, and getting the most out of our platform.
Our support team is available around the clock to help you with any issues. Check out the guides below to get started quickly.
Need help? Contact us at support@example.com or use the chat widget in the bottom-right corner.
Not a toy demo. Production-ready translation for any site.
Visitor picks a language once. Every page, every visit — automatically translated. No repeated choices.
Translations cached at the edge, globally. Repeat visitors get their page in under 50ms — faster than a font file loads.
Translations stream in word-by-word in real time. Visitors see progress immediately instead of waiting for a blank page.
LLM-powered translation that reads naturally — not the stilted output you get from traditional machine translation.
No dependencies. UMD format works everywhere — plain HTML, React, Vue, WordPress, anything with a script tag.
A polished language picker that floats on any page. Dark theme, progress indicator, accessible by default. Or call the API directly.
How localize.today compares to other translation solutions.
| localize.today | Localize.js | Google Translate Widget | i18next / next-intl | |
|---|---|---|---|---|
| Setup time | 2 minutes | 30 min+ | 5 minutes | Days/weeks |
| Translation quality | LLM (native fluency) | Human + MT | Google NMT | Human |
| Streaming output | Yes | No | No | No |
| Language persistence | Auto-remembers | Yes | Per session | URL-based |
| Self-hosted option | Yes | No | No | Yes |
| Edge caching | Global edge | CDN | None | Varies |
| Free tier | Unlimited translations | Trial only | Free | N/A |
| Pricing | From $0 | $25/mo+ | Free (with ads) | Dev time |
Common questions from developers evaluating localize.today.
We use large language models (LLMs) for translation, not traditional machine translation. The output reads naturally — like a native speaker wrote it. LLMs understand context, idioms, and tone in ways that rule-based MT cannot. Try the live demo above to judge for yourself.
Graceful degradation. If the API is unreachable, visitors see your original content in the source language. Cached translations (stored in localStorage) continue to work offline. Your site never breaks.
Visible page text is sent to an LLM provider for translation. We do not store your source content. Translated text is cached on Cloudflare's global edge network. You can self-host the entire stack if you need full control.
Yes. The library operates on the DOM directly. It works with any framework that renders HTML — static sites, WordPress, React, Vue, Svelte, or plain HTML. For SPAs, call SkyLokal.translate() after route changes.
Yes. The Worker is open source. Fork it, swap the LLM provider, deploy to your own Cloudflare account. The client library just needs an API endpoint that returns the expected JSON format.
Google's widget injects a toolbar, rewrites your DOM, adds ads, and translations are often awkward. localize.today is invisible infrastructure — a floating picker, streaming translations, persistent language preference, and LLM quality. No toolbar, no ads, no branding (on Pro).