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.
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
Як гэта працуе
Тры каманды да глабальнага ахопу
Пішыце натуральна
Тэкст вашага кампанента з'яўляецца крыніцай ісціны. Няма ключоў для вынаходкі, няма JSON для сінхранізацыі. Проста абгарніце радкі ў ct() або <Trans> і працягвайце будаваць.
function Hero() {
const ct = useCt();
return <h1>{ct("З вяртаннем")}</h1>;
}Выманне & пераклад
Запусціце адну каманду. Кожны радок у вашай кодавай базе, які можна перакласці, знаходзіцца, адпраўляецца ў рухавік перакладу і вяртаецца з поўным улікам кантэксту. Тое ж слова атрымлівае розныя пераклады ў залежнасці ад таго, дзе яно з'яўляецца.
Адпраўляйце імгненна
Пераклады трапляюць у глабальную CDN. Чатыры ўзроўні кэшавання падтрымліваюць час загрузкі менш за 50 мс. Абнаўляйце пераклады, не закранаючы свой канвеер разгортвання.
// Generated manifest — fully typed
export const ciaoManifest = {
languages: ["en", "es", "fr", "de"] as const,
cdnUrls: { es: "https://cdn...", fr: "https://cdn..." },
} as const;Механізм перакладу AI
Выняць. Перакласці. Ацаніць.
Кожны радок праходзіць праз трохэтапны канвеер. Найлепшая мадэль для кожнай моўнай пары выбіраецца аўтаматычна. Вы ніколі не наладжваеце правайдэра.
Выманне кантэксту
Чытае дрэва кампанентаў і разумее, што значыць кожны радок: надпіс на кнопцы, загаловак, сігнал аб выратаванні.
Перакласці
Найлепшая мадэль для кожнай моўнай пары перакладае вашы радкі. З улікам кантэксту, сэнс за сэнсам, а не слова ў слова.
Ацэнка якасці
Ацэньвае кожны пераклад і выбірае вынік найвышэйшай якасці. Вы ніколі не выбіраеце мадэль.
Кантэкст усё змяняе
Тое ж слова азначае розныя рэчы ў розных месцах. Штучны інтэлект счытвае навакольныя радкі, каб зразумець намер. Не патрабуюцца тэгі кантэксту ўручную.
<div>
<img src={product.image} />
<h3>{product.name}</h3>
<span>${product.price}</span>
<button onClick={saveToWishlist}>
❤️ {ct("Захаваць")}
</button>
</div><div>
<span className="text-4xl">🦆</span>
<p>{ct("Качка тоне!")}</p>
<p>{ct("Засталося часу:")} 00:03</p>
<button onClick={rescue}>
🛟 {ct("Захаваць")}
</button>
</div>Досвед распрацоўшчыка
Ваш зыходны код - ваш каталог перакладаў
Больш не трэба выдумляць назвы ключоў. Больш не трэба шукаць 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>
);
}Welcome back, Sarah!
You have 3 items
Total: $129.99
The difference
Your workflow, simplified
Traditional i18n
Ciao Tools
Never think about translations again.
Інкрыментнае ўкараненне
Ужо ёсць пераклады? Пачніце там, дзе вы ёсць.
Ciao Tools не патрабуе перапісвання. Вазьміце свае пераклады, укараняйце інкрыментна і мігруйце ў сваім уласным тэмпе.
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>// 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
}Захавайце наяўныя пераклады
Перадайце вашы мапы перакладаў непасрэдна ў CiaoProvider. Міграцыя не патрабуецца.
Мігруйце кампанент за кампанентам
Старыя старонкі выкарыстоўваюць вашу старую бібліятэку. Новы код выкарыстоўвае ct() і <Trans>. Абодва працуюць разам.
Выдаліце старую сістэму, калі будзеце гатовыя
Пасля таго, як усё пачне выкарыстоўваць Ciao Tools, адмоўцеся ад старой сістэмы. Вашы ключы перакладу цяпер — звычайная англійская.
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.
Прадукцыйнасць
Хутка па змаўчанні, а не выпадкова
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.99Artisan-made with natural glazes. Perfect for your morning ritual.
Ранні доступ
Будзьце першымі ў чарзе
Мы адкрываем Ciao Tools для невялікай групы першых карыстальнікаў. Далучайцеся да спісу чакання, і мы звяжамся з вамі, калі ваша месца будзе гатова.
Гэты сайт абаронены reCAPTCHA і Google Палітыка прыватнасці і Умовы выкарыстання прымяняюцца.