one script tag.
any language.

Website internationalization (i18n) without the complexity. One script tag for automatic translation, localization, and multilingual support — powered by AI.

// that's it. seriously. <script src="https://tongues.80x24.ai/t.js" defer></script>

how it works

1

Add the script

One line in your HTML. No build tools, no npm packages, no config files.

2

Source detected

Set data-lang to your page's language. When it matches the visitor's browser language, zero API calls — nothing happens. Without it, tongues auto-detects via heuristic.

3

AI translates

Only when needed. Claude translates naturally, not word-by-word. A subtle pulse shows progress. Cached on both server and client for instant repeat visits.

why tongues

Source-aware

Set data-lang to skip translation when visitor already speaks your language. Zero API calls, zero cost. Without it, tongues auto-detects via heuristic.

Invisible

No language picker widget. No UI injected. Translation happens automatically based on the visitor's browser language.

Tiny & fast

~9KB script with ETag caching. Loads once, revalidates in background. No dependencies, no framework. Works everywhere.

SPA-ready

MutationObserver watches DOM changes with smart pause/resume. Works with React, Svelte, Vue, or any SPA out of the box.

Visual feedback

Untranslated text gently pulses while waiting for AI. Each element resolves individually as translations arrive. Cached content appears instantly.

Programmatic

window.t API — setLocale(), restore(), translateEl(el, { to }). Translate specific sections to any language without changing global state.

tongues vs others

tongues
Weglot
Google Translate
Setup
1 line of code
JS snippet + dashboard
widget embed
Starting price
$0/mo
$15/mo
free
Translation quality
Claude AI (natural)
DeepL + human
machine (literal)
Source detection
auto (0 cost)
manual config
manual config
Dashboard required
no
yes
no
SPA support
built-in
partial
no
UI injected
none
switcher + badge
bar + badge
Client size
~9KB
~150KB
~500KB

translation quality

Google Translate does word-by-word. tongues understands context.

original (English)
Google Translate
tongues
Dashboard
계기반
대시보드
Cloud storage is full
구름 저장소가 가득 찼습니다
클라우드 저장 공간이 가득 찼습니다
Fork this repository
이 저장소를 포크하세요
이 저장소를 포크하세요
Check out our spring collection
우리의 봄 수집품을 확인하세요
새로 나온 봄 컬렉션을 확인해 보세요
We value your privacy
우리는 귀하의 개인정보를 소중히 여깁니다
개인정보 보호를 중요하게 생각합니다

tongues translates naturally — like a bilingual human, not a dictionary.

same words, different meaning

data-preprompt tells tongues what your site is about. Same English text, completely different Korean translation.

"The pitch was perfect"
⚾ 야구 뉴스 사이트투구가 완벽했습니다
💼 비즈니스 컨설팅제안이 완벽했습니다
"The draft is ready"
🍺 맥주 양조장생맥주가 준비되었습니다
📝 블로그 에디터초안이 준비되었습니다
"Check the cell"
🔬 생물학 교육세포를 확인하세요
📊 스프레드시트 앱셀을 확인하세요

Add data-preprompt="야구 뉴스 사이트" to your script tag. 30 characters max.

~9KB
client script
4-layer
caching system
0 calls
when source = target
100+
languages

live demo

원문 (Korean)

메뉴를 선택하세요. 오늘의 추천 메뉴는 김치찌개입니다. 주문은 카운터에서 해주세요.

pricing

Free

$0
for personal sites
  • 1,000 requests/mo
  • 10,000 texts/mo
  • All languages
  • Source detection

Business

$9.99/mo
for scale
  • 500,000 requests/mo
  • 5,000,000 texts/mo
  • All languages
  • Source detection

get started

Register your domain to start translating. Free tier — no credit card needed.

we'll send a verification code
check your email for the 6-digit code

your website's domain name