Go to content
cutty.dev
All posts

25 languages LIVE — a major milestone

cutty.dev now speaks 25 languages. A brief story about what that means, why these specific languages, and how it was done without sending data externally.

For the first weeks of cutty.dev's existence, it spoke two languages — Polish and English. Today it speaks twenty-five. This is a short story about what that means and why it was worth it.

A List That Means Something

Polish. English. German. French. Spanish. Italian. Czech. Romanian. Hungarian. Greek. Dutch. Swedish. Finnish. Ukrainian. Turkish. Arabic (right to left). Hebrew (right to left). Chinese. Japanese. Korean. Hindi. Thai. Vietnamese. Indonesian. Portuguese.

The choice is not random. These are the languages that capture the largest European markets plus key markets outside Europe — the Middle East and North Africa (Arabic), Israel (Hebrew), East Asia (Chinese, Japanese, Korean), the Indian subcontinent (Hindi), and Southeast Asia (Thai, Vietnamese, Indonesian). Together — a few billion people, in their own language, from the first visit.

Spanish opens up Spain and Latin America. Portuguese — Portugal, Brazil, African countries. French — France, Belgium, Quebec, a large part of Africa. Each of these languages is a market measured in hundreds of millions of potential visitors.

What "native" means

Translations are not done using an external API. They are generated by a local AI model running on our own infrastructure. This means:

  • No text from the interface has ever left our network — no external AI provider has received any of our texts.
  • Quality goes beyond simple mechanical translation — the model preserves context, tone, and nuances.
  • No cost per query — we can refresh translations whenever we want, without additional charges on the invoice.

After the first iteration, each page was visually checked — to ensure the layout didn’t break, that long German text didn’t overflow the frames, and that Arabic and Hebrew were displayed correctly from right to left.

RTL — edge case

Arabic and Hebrew required separate work. The entire page is flipped horizontally — navigation goes from right to left, arrows are reversed, and the hero gradient is mirrored. The result is that the Arabic and Hebrew versions look native, rather than like a half-baked Western site that only partially supports right-to-left text.

CJK and other scripts

Chinese, Japanese, and Korean use CJK characters, which most web fonts do not include. We added appropriate fallbacks loaded only on those page versions — the rest of the locales use our standard, lightweight font. Thai, Hindi, and other scripts received the same treatment: each language looks as it should in its own writing system.

Why it all makes sense

Most companies launch their product in English and "might add other languages later if there's demand." cutty.dev went the opposite way — 25 languages from the start, so that when someone from Spain, the Czech Republic, Egypt, Taiwan, or Vietnam lands on our site via search, they immediately see their language.

This is also a matter of respect. The internet defaults to English. A small tool from Europe that greets you in Korean or Thai says something about who it was made for: for everyone, not just the English-speaking core.

What's next

The list is long, but not closed. If your language is not yet here — write. Adding another one is a matter of days, not months.

And if we're already speaking your language — just shorten the first link. It should look the same for you as it does for yourself.