Ciao Tools
Closed Alpha — Join the waitlist
i18n that lives in
your code, not beside it.

Ship your entire stack in 93 languages. No translation files. Wrap strings in ct() and a single command extracts, translates, and deploys.

ProductPage.tsx
import { useCt, Trans } from "@ciao-tools/react";

function ProductPage() {
  const ct = useCt();

  return (
    <div>
      <h1>{ct("మా స్టోర్‌కు స్వాగతం")}</h1>
      <Trans>
        మా <b>ఎంపిక చేసిన</b> సేకరణను బ్రౌజ్ చేయండి
      </Trans>
      <p>{ct("{amount:currency:USD}", { amount: 49.99 })}</p>
    </div>
  );
}

Welcome to our store

Browse our curated collection

$49.99

Works with your stack

TS

అది ఎలా పని చేస్తుంది

గ్లోబల్ రీచ్‌కు మూడు ఆదేశాలు

01

సహజంగా రాయండి

మీ కాంపోనెంట్ టెక్స్ట్ నిజం యొక్క మూలం. ct()లో చుట్టండి.

function Hero() {
  const ct = useCt();
  return <h1>{ct("తిరిగి స్వాగతం")}</h1>;
}
02

సంగ్రహించండి & అనువదించండి

ఒక ఆదేశాన్ని అమలు చేయండి. మీ కోడ్‌బేస్‌లోని ప్రతి అనువదించదగిన స్ట్రింగ్ కనుగొనబడుతుంది, అనువాద ఇంజిన్‌కు పంపబడుతుంది మరియు పూర్తి సందర్భోచిత అవగాహనతో తిరిగి వస్తుంది. ఒకే పదానికి అది కనిపించే ప్రదేశాన్ని బట్టి వేర్వేరు అనువాదాలు వస్తాయి.

Terminal
03

వెంటనే పంపండి

అనువాదాలు గ్లోబల్ CDNలో ఉంటాయి. 50ms లోపు లోడ్ సమయాలను ఉంచుతాయి.

// Generated manifest — fully typed
export const ciaoManifest = {
  languages: ["en", "es", "fr", "de"] as const,
  cdnUrls: { es: "https://cdn...", fr: "https://cdn..." },
} as const;

AI అనువాద ఇంజిన్

సంగ్రహించండి. అనువదించు. అంచనా వేయండి.

ప్రతి స్ట్రింగ్ మూడు-దశల పైప్‌లైన్ ద్వారా ప్రవహిస్తుంది. ప్రతి భాషా జతకు ఉత్తమ నమూనా స్వయంచాలకంగా ఎంపిక చేయబడుతుంది. మీరు ఎప్పుడూ ప్రొవైడర్‌ను కాన్ఫిగర్ చేయరు.

01

సందర్భాన్ని సంగ్రహించండి

మీ భాగం ట్రీని చదివి ప్రతి స్ట్రింగ్ అర్థం ఏమిటో అర్థం చేసుకుంటుంది: బటన్ లేబుల్, శీర్షిక, రెస్క్యూ హెచ్చరిక.

Gemini 3 Flash
Claude Haiku 4.5
02

అనువదించు

ప్రతి భాషా జతకు ఉత్తమ నమూనా మీ స్ట్రింగ్‌లను అనువదిస్తుంది. సందర్భోచితంగా, అర్థం ద్వారా అర్థం, పదం ద్వారా పదం కాదు.

Claude Sonnet 5
Gemini 3 Flash
GPT-5.2
DeepSeek V3
Kimi K2.5
DeepL
03

నాణ్యతను అంచనా వేయండి

ప్రతి అనువాదానికి స్కోర్‌లను ఇస్తుంది. మీరు ఎప్పుడూ మోడల్‌ను ఎంచుకోరు.

Gemini 3.1 Pro
Kimi K2.5

సందర్భం ప్రతిదీ మారుస్తుంది

ఒకే పదానికి వేర్వేరు ప్రదేశాలలో వేర్వేరు అర్థాలు ఉన్నాయి. ఉద్దేశాన్ని అర్థం చేసుకోవడానికి AI చుట్టుపక్కల స్ట్రింగ్‌లను చదువుతుంది. మాన్యువల్ కాంటెక్స్ట్ ట్యాగ్‌లు అవసరం లేదు.

ProductCard.tsx
<div>
  <img src={product.image} />
  <h3>{product.name}</h3>
  <span>${product.price}</span>
  <button onClick={saveToWishlist}>
    ❤️ {ct("సేవ్ చేయండి")}
  </button>
</div>
ct("Save")"Guardar"(es) — to store, to keep
DuckRescue.tsx
<div>
  <span className="text-4xl">🦆</span>
  <p>{ct("ఒక బాతు మునిగిపోతోంది!")}</p>
  <p>{ct("మిగిలిన సమయం:")} 00:03</p>
  <button onClick={rescue}>
    🛟 {ct("సేవ్ చేయండి")}
  </button>
</div>
ct("Save")"Rescatar"(es) — to rescue, to save a life

డెవలపర్ అనుభవం

మీ సోర్స్ కోడ్ మీ అనువాద జాబితా

ఇక కీ పేర్లను కనుగొనడం లేదు. ఇక వెతకడం లేదు t('homepage.hero.cta.button') ఇది ఏ వచనాన్ని సూచిస్తుందో తెలుసుకోవడానికి. మీ తీగలు చదవగలిగే ఆంగ్లం అవి రెండర్ చేయబడిన చోటనే.

ది <Trans> భాగం చుట్టూ ఉన్న వచనాన్ని అనువదిస్తూ, పొందుపరిచిన JSX (లింక్‌లు, బోల్డ్, స్పాన్‌లు, ఏదైనా మూలకం) ని నిలుపుకుంటుంది.

function CheckoutSummary({ user, items }) {
  const ct = useCt();

  return (
    <div>
      <h1>{ct("తిరిగి స్వాగతం, {name}!", { name: user.name })}</h1>
      <p>{ct("మీకు {count} {count:plural:item:items} ఉన్నాయి", { count: items.length })}</p>
      <p>{ct("మొత్తం: {amount:currency:USD}", { amount: 129.99 })}</p>
    </div>
  );
}
Output

Welcome back, Sarah!

You have 3 items

Total: $129.99

The difference

Your workflow, simplified

Traditional i18n

Write code
Create keys
Map strings
Send to translators
Wait
Receive files
Wire up
Deploy

Ciao Tools

Write code
Build
Ship

Never think about translations again.

క్రమంగా స్వీకరణ

ఇప్పటికే అనువాదాలు ఉన్నాయా? మీరు ఎక్కడ ఉన్నారో అక్కడ ప్రారంభించండి.

సియావో టూల్స్‌కు తిరిగి వ్రాయడం అవసరం లేదు. మీ ప్రస్తుత అనువాదాలను తీసుకురండి, క్రమంగా స్వీకరించండి మరియు మీ స్వంత వేగంతో తరలించండి.

Inline translations
import { CiaoProvider } from "@ciao-tools/react";

// Already have translations? Pass them directly
const translations = {
  es: { "హలో": "Hola", "సైన్ అప్ చేయండి": "Registrarse" },
  fr: { "హలో": "Bonjour", "సైన్ అప్ చేయండి": "S'inscrire" },
};

<CiaoProvider translations={translations}>
  <App />
</CiaoProvider>
Side-by-side migration
// Migrate one component at a time
function OldPage() {
  return <h1>{t("pages.old.title")}</h1>; // keep this
}

function NewPage() {
  const ct = useCt();
  return <h1>{ct("కొత్త పేజీకి స్వాగతం")}</h1>; // start here
}
1

మీ ప్రస్తుత అనువాదాలను ఉంచండి

మీ ప్రస్తుత అనువాద మ్యాప్‌లను నేరుగా CiaoProviderకి పంపండి. వలస అవసరం లేదు.

2

భాగం వారీగా తరలించండి

పాత పేజీలు మీ లైబ్రరీని ఉపయోగించడం కొనసాగిస్తాయి. కొత్త కోడ్ ct() మరియు <Trans>ని ఉపయోగిస్తుంది. రెండూ పక్కపక్కనే నడుస్తాయి.

3

సిద్ధంగా ఉన్నప్పుడు పాత వ్యవస్థను తొలగించండి

అంతా సియావో టూల్స్ ఉపయోగించిన తర్వాత, మీ పాత సెటప్‌ను వదిలివేయండి. మీ అనువాద కీలు ఇప్పుడు సాధారణ ఆంగ్లంలో ఉన్నాయి.

Features

The complete translation platform

From string extraction to CDN delivery and live updates.

Automatic extraction

OXC and Babel plugins scan your codebase and find every ct() call and <Trans> component. Your source code is the catalog.

Context-aware translation

AI translates with full component context. "Save" in a button vs. "Save" as rescue — it gets the difference.

Global CDN hosting

Translations are hosted on a global edge network and served from the nearest node. You never manage translation files.

Live hot updates

Fix a translation and it's live in seconds. No redeploy, no cache bust, no waiting for a release cycle.

Glossary & consistency

Define key terms once and enforce them across every language. Brand names and domain vocabulary stay consistent.

Full-stack, every framework

ct() works in React, React Native, Next.js server components, and Express. One API from mobile to server.

Prompt translation

ctPrompt() translates LLM system prompts while preserving template variables, JSON schemas, code blocks, and regex. Your AI agents speak every language.

Translation memory

Every translation is cached server-side. Re-syncs only translate new or changed strings, saving time and cost.

Multilingual SEO

Hreflang links, canonical URLs, og:locale tags, and XML sitemaps. CiaoHead handles it at runtime, or generate a sitemap from the CLI.

App store translations

Translate App Store and Play Store metadata with character limit validation. Names, descriptions, keywords, and release notes.

ICU MessageFormat

Plurals, ordinals, currency, dates, numbers, and percentages. Full locale-aware formatting via the ICU standard.

Fallback chains

es-MX falls back to es, then to en. Four caching layers ensure translations are always available, even offline.

పనితీరు

డిఫాల్ట్‌గా ఫాస్ట్, అనుకోకుండా కాదు

< 50ms
కాష్ నుండి లోడ్ చేయండి
93
భాషలు
0
JSON కీ ఫైళ్లు
~5 min
సెటప్ సమయం
L1
Zustand + localStorage
L2
IndexedDB
L3
ఇన్-మెమరీ LRU
L4
CDN ఎడ్జ్

Live demo

One codebase, every language

Click a language. Text, prices, dates, and plurals all update, formatted correctly for each locale.

Handcrafted Ceramic Mug

$34.99

Artisan-made with natural glazes. Perfect for your morning ritual.

In stock · February 3, 2026
3 items

ప్రారంభ ప్రాప్యత

వరుసలో మొదటిగా ఉండండి

మేము సియావో టూల్స్‌ను ప్రారంభ వినియోగదారుల చిన్న సమూహానికి తెరుస్తున్నాము. వెయిట్‌లిస్ట్‌లో చేరండి మరియు మీ స్థానం సిద్ధంగా ఉన్నప్పుడు మేము సంప్రదిస్తాము.

ఈ సైట్ reCAPTCHA మరియు Google ద్వారా రక్షించబడింది గోప్యతా విధానం మరియు సేవా నిబంధనలు వర్తిస్తాయి.