Translated from the original published on vc.ru on 2026-09-16 — original

We're building 1trAIner — an AI coach that builds a plan based on watch data, recovery, and schedule. This week we decided to open the service to English- and Chinese-speaking users. Not for export: it's important to us that search engines and AI assistants know about the service, and Bing and Chinese models barely see the Russian version.

Briefly about the result. In two days, English and Chinese versions of the website, dashboard, mini app, bot, emails, notifications, legal documents, and iOS app appeared. The coach responds in the language the person selected in their profile. The sitemap grew from 274 to 825 URLs.

The first wave, including proofreading of key pages, cost about $3. In the second wave, about $10 went to proofreading landings, help, and legal documents with an editorial model, and another ~$1.4 — to checking the medical safety of responses. Below is where the main time went.

Translating text is the cheapest part

The translation is done by DeepSeek against a glossary of 77 terms: «лёгкий бег» is always easy run and 轻松跑, «разгрузочная неделя» is a recovery week.

Key pages, the homepage, help, and landings are additionally proofread by a stronger model. It fixes "machine-like" phrasing and sometimes catches real errors. In one landing, the machine turned the marathon "Dёmino" into the invented "Demyansky"; the editor restored the correct name.

Machine translation of 191 landings and help cost about $0.34. The bill for proofreading is tens of times higher, and that's normal: that's where quality comes from.

What broke silently

The most unpleasant thing in such a project is errors without errors. The page opens, code 200, tests green, but the person sees the wrong language. Here's what we caught in these two days.

The bot spoke Russian to a Chinese person. The system message dictionary was in the website folder, but that folder wasn't copied into the bot container. Reading the dictionary failed silently, and the bot honestly replied in Russian to any language. We only noticed during code review at the next stage.

Article cards on the English landing pages were showing up in Russian. Every translation carries a fingerprint of the source text. If the text was changed but the translation wasn't, the service serves the original to avoid showing outdated content. The article card arrived on the landing page truncated, the fingerprint didn't match, and the service decided the translation was outdated.

The iPhone app showed English instead of Chinese. Three screens picked the language from a list of "English or Russian." Chinese wasn't in the list, so the system took the first option.

The "Methodology" page silently stayed in Russian. The text fingerprint depended on field order, and the fields were assembled in two places in different orders.

The overall takeaway is simple. You need to check not "is it translated" but "what will the person see." Now any fingerprint mismatch fails the tests, and acceptance opens every language page on the live site.

A coach in another language is a different product

Translating the interface isn't enough. The AI coach writes plans, reviews workouts, and replies in chat. All of this now runs in the language of the profile.

For acceptance we set up test accounts in English and Chinese and ran ten real scenarios on each. Language and terminology scored 4.8 and 4.7 out of 5. But the medical boundary scored 2.8. When someone complained that their knee hurt on a descent, the coach just advised running slower and didn't refer them to a doctor.

The problem turned out not to be in the translation: the same defect was found in the Russian responses too. We added a strict rule to the prompts and a separate code check. If a person writes about pain and the response doesn't recommend seeing a doctor, the service adds the warning itself. After the fix, all 9 test responses in three languages refer to a doctor. Work is still ongoing: the remaining issues concern the caveat "only if it doesn't hurt."

If we hadn't done the translation, we would have found this problem later. Sometimes a new audience is the best test for an old product.

What about payment

Right now you can only pay for a subscription with a card from a Russian bank. The free trial is available to everyone. We didn't hide this limitation: the English and Chinese pricing pages state plainly how things stand. The price is shown in rubles with an approximate equivalent in dollars or yuan.

What's next

We're looking at how the language versions get indexed in Bing and cited by AI assistants. The bot already understands phrases like "weight 74" and "weight 74", and the editor is now finishing the remaining landing page cards.

You can see how it looks on the English version of the site. I'll be happy to answer questions in the comments, especially from those who have already translated their product.

Source: vc.ru