Your site, every language.
One script tag.

Maintain one language. Serve all of them. Drop a script tag into any page — visitors see it in their language instantly.

Click to copy
<!-- Add before </body> --> <script src="https://localize.today/localize.today.min.js"></script> <script> SkyLokal.initialize({ apiBase: "https://localize.today", languages: ["en", "es", "fr", "de"], widget: true }); </script>

Customize

Floating widget
Streaming translation
yoursite.com/help

Welcome to Our Help Center

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.

HTML

How It Works

Three steps. Zero server config. Under a minute.

1

Add One Script Tag

Paste a single line into your HTML. Pick your languages. Done. No build step, no config files, no backend.

2

Visitors Choose Their Language

A floating widget lets visitors pick any supported language. The page translates in real time — word by word, streamed as it generates.

3

Every Page, Every Visit

Their choice is remembered automatically. On every return visit, every page loads translated before they see a single word of English.

Try It Live

This is not Google Translate. LLM-powered translation that reads like a native wrote it. See for yourself.

Welcome to Our Knowledge Base

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.

Source: English

Built for Real Websites

Not a toy demo. Production-ready translation for any site.

🔄

Auto-Persistent Language

Visitor picks a language once. Every page, every visit — automatically translated. No repeated choices.

Edge-Cached Translations

Translations cached at the edge, globally. Repeat visitors get their page in under 50ms — faster than a font file loads.

📡

Streaming Translation

Translations stream in word-by-word in real time. Visitors see progress immediately instead of waiting for a blank page.

🌍

20+ Languages, Native Quality

LLM-powered translation that reads naturally — not the stilted output you get from traditional machine translation.

📦

12KB Client Library

No dependencies. UMD format works everywhere — plain HTML, React, Vue, WordPress, anything with a script tag.

🎯

Floating Widget

A polished language picker that floats on any page. Dark theme, progress indicator, accessible by default. Or call the API directly.

vs Alternatives

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

FAQ

Common questions from developers evaluating localize.today.

How good is the translation quality?

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.

What happens if the API goes down?

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.

Is my content sent to a third party?

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.

Does it work with SPAs (React, Vue, Next.js)?

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.

Can I use my own LLM or translation API?

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.

How is this different from Google Translate?

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).