When you're localizing an app for neurodivergent users, every word choice matters. If you get it wrong, you're essentially making your users' lives harder.

I learned this firsthand working on Tiimo, a Danish planning app built specifically for people with ADHD. But my connection to this project started a decade earlier, through a friend in a new mom online group.

She's a lawyer in China and our sons are the same age. Six years ago, she started posting about ADHD publicly after her son was diagnosed. At the time, most people in China didn't understand it well. Information was limited and practical tools were hard to find. Through her daily posts, she shared research, answered questions from other parents, and connected people going through the same thing. The more she shared, the more I understood. And when I came across Tiimo three years ago, the concept immediately made sense.

article-image

📱Bringing Tiimo to the Chinese market 🔗

When the Tiimo team reached out to me for help with their Chinese localization, I knew I wanted to work on the project. An app like this had the potential of making  life genuinely easier for the community my friend had been advocating for.

Clémence Rigal, Tiimo's Head of Growth, put it clearly:

"Because our product is built for a neurodivergent audience, we need language that is both affirming and universally understandable. We think about accessibility in the user experience of the app itself, and in the wording we use"

That's a tall order for localization. English has a growing vocabulary around neurodiversity. Chinese doesn't (not yet). So, more than converting English to Chinese, we were helping an entire community put their experience into words.

This kind of work required a good translator, but also the right tools. Tiimo's previous setup was fragmented across multiple platforms. Now, they needed something that could be integrated with their CMS while giving translators the necessary context to make good decisions.

That's where Localazy came in. From my perspective as the Chinese localizer, what mattered most was how the platform handled the collaboration:

  • ❓Could I get quick answers to questions?
  • ❓Could I maintain consistency across thousands of strings?
  • ❓Could I override the system when Chinese grammar demanded it?

The answer to all three was yes. Let me show you how.

💻 First impressions: the Localazy UI 🔗

Getting started was surprisingly simple. If you have a Google account, you don't even need to register separately. Just log in and you're in. For Tiimo, all 22 language pairs live in one place, which meant I could see the project scope immediately.

When I clicked into Chinese (Simplified), the interface was clean. Every string waiting to be translated appeared in a neat list. Source language on the left, target language on the right. Intuitive enough that I didn't need a tutorial. Underneath each string, I could see tabs for the main features:

article-image
Localazy interface.
  • Suggestions (machine translation options)
  • Similar (translation memory for consistency)
  • Versions (edit history and rollback)
  • Languages (how other translators handled this string)
  • Screenshots (visual context from the app)
  • Comments (direct communication with the dev team)

Everything I needed to make informed translation decisions was right there on the translation interface. This was very helpful for me since I didn't need to switch between tools, use separate spreadsheets, or hunt for context in email threads.

🔍 The "30 minutes" string 🔗

Let me walk you through one string that demonstrates Localazy's entire workflow, from initial doubt to final resolution.

30 minutes each, or in total? 🔗

One afternoon, I was working through new strings for Tiimo Learn, the community-based online lessons feature. One string caught my attention:

"7 Lessons · 30 Mins"

At first glance, it seemed straightforward. I translated it quickly:

"7节课 · 每节课30分钟" (7 lessons · 30 minutes each lesson)

But as I moved on to the next string, something nagged at me. Wait. Did that English actually mean "30 minutes each"? Or did it mean "30 minutes total"?

I went back to look at the source text again. The English was concise, maybe too concise. There was nothing that explicitly said "per lesson" or "in total".

In Chinese, I couldn't be ambiguous. The grammar forces you to be explicit. If I said "每节课30分钟" (30 minutes each lesson), users would expect 3.5 hours of content. If the actual total was 30 minutes, I'd just wasted hours of their time. For people using Tiimo to manage ADHD and plan their days carefully, that's was unhelpful. I needed to know for sure.

Asking the team directly on comments 🔗

This is where Localazy's Comments feature saved me from the email ping-pong I've endured on other projects. Instead of opening my inbox, drafting a query, waiting for a response, and losing context in the meantime, I clicked directly on the string in Localazy and typed into the Comments box:

article-image

I hit save and went back to work on other strings. No point sitting there waiting. Two hours later, I got a reply in the same thread: "Hi Jenny, 30 minutes would be the total duration for all 7 lessons".

Ah. So my initial translation was wrong. Good thing I asked.

Three messages, one clear answer, context preserved. No "sorry, which string were you asking about again?" and no back-and-forth screenshot exchanges. Instead, the entire exchange is still visible in that string's comment thread today. If another localizer working on Korean or Japanese has the same question, they can see the answer immediately.

This is better than the traditional spreadsheet approach. Here, the conversation lives with the string itself. And it allows you to nail the translation from the start, saving you hours of fixes and user confusion later.

The final revised translation 🔗

Now that I knew it was 30 minutes total, I needed to revise. I clicked back on the string and updated my translation:

"7节课 · 共30分钟"

The key changes:

  1. 🟢 I kept the measure word 节 (jié) after the number 7 to indicate "lessons/sessions"
  2. 🟢 I replaced 每节课 (each lesson) with 共 (gòng — meaning "total" or "in total") before "30 minutes"

This made it crystal clear for Chinese users: all seven lessons would take 30 minutes of their time.

Checking for terminology consistency 🔗

Before I hit save on the revision, I clicked on the "Similar" tab. This is Localazy's consistency checker, and it's become muscle memory for me.

If you've worked with CAT tools, this functions like a Translation Memory (TM), but it's more contextual. Instead of just exact matches, it scans the entire project for strings with matching keywords or sentence structures, then shows me how I translated those elements before.

For this string, it pulled up other instances where I'd used "lessons" and "minutes" within the Tiimo app:

  • "5节课 · 共20分钟" (5 lessons · total 20 mins) ✓
  • "3节课 · 共10分钟" (3 lessons · total 10 mins) ✓
article-image


This tab has saved me from embarrassing inconsistencies more times than I can count. My revised format was now consistent with how I'd handled similar strings.

An exception and the need for overrides 🔗

I clicked on "Save Translation."

Immediately, a pink error message appeared at the bottom of my screen:

⚠️ Unmatched numeric values: 30

I smiled. This happens frequently with Chinese localization, and it's actually a feature, not a bug. What happened is that Localazy's validation system is designed to catch errors. If the English source has "30 mins" and my Chinese translation suddenly says "40 minutes," that's probably a mistake worth flagging. The system counts numbers in both strings and checks if they match.

article-image

But Chinese grammar doesn't always play by those rules. By adding the measure word 节 (jié) and the character 共 (gòng) around the number 7, I had technically introduced "extra" characters that the system interpreted as potential number mismatches. The validation algorithm was doing its job, being rigid enough to catch real errors.

The difference from traditional QA checks is that Localazy's validation happens in real-time, string by string, rather than as a batch process at the end. And the platform gets it right by giving you an override.

article-image

If the flagged issue doesn't make sense, you can always click on the dropdown arrow next to the error message and select "Ignore validation issue". That's what I did here. The pink warning faded to gray, and the status changed to "All issues are ignored". The string was saved, with my override decision documented.

This is the sweet spot in localization technology: systems that catch mistakes but trust the human expert to make the final call.

The Versions tab tracked every edit 🔗

The Versions tab now tells the complete story of this string. Click on it and you'll see:

  • 🟢 Current version: "7节课 · 共30分钟" (7 lessons · total 30 minutes) — revised after clarification
  • ⚪️ Previous version: "7节课 · 每节课30分钟" (7 lessons · 30 minutes each lesson) — initial translation
article-image

The tab shows exactly when I made each change, what I changed from, and what I changed to. For developers, version history provides transparency. They can see exactly what changed and when, which helps them understand if UI issues are related to recent translation updates.

For me, it's a reference point. I can check if I updated related strings consistently and learn from earlier choices. If I ever need to explain why I translated something a certain way, the evidence is right there. More importantly, it shows that asking questions isn't a sign of incompetence. It's part of good localization work. My initial translation was an educated guess. The comment thread got me the information I needed. The version history shows I corrected it.

Notice that I didn't just accept the machine translation suggestion and move on. For Tiimo, that would have been a mistake. Next, I have more relevant examples to show you why.

🤖 MT couldn't match Tiimo's playful tone 🔗

Localazy includes machine translation and AI suggestions into the workflow. For each string, I can see what various translation engines suggest: Google Translate, DeepL, Amazon Translate, and others (plus Localazy AI). If I'm happy with a suggestion, keyboard shortcuts let me accept it instantly.

This can speed things up for straightforward strings, like simple UI labels like "Cancel" or "Settings" that don't need much human intervention. But professional translators always take MT suggestions with a grain of salt. Sometimes you're doing MTPE (Machine Translation Post-Editing), cleaning up what the engine gave you. Other times, you're translating from scratch because the suggestion is so far off that it's faster to start over.

Even advanced machine translation cannot understand cultural nuances, language sensitivity, or the warmth and humanity that good writing requires. MT engines typically revert to the most common, convenient option. For something like Tiimo, where tone and approachability matter deeply to the neurodivergent community, that approach fell short. Let's see some examples.

Case 1: The "Chill Dog" disaster 🔗

One of Tiimo's daily routine options includes this string:

"Downward-Facing Chill Dog: Stretch it out and pretend you're a dog sniffing out relaxation 🐶"

The English is clever. It's a playful twist on the yoga pose "Downward-Facing Dog", making it accessible and fun. Anyone who's done yoga gets the reference immediately.

I checked the MT suggestions out of curiosity:

article-image
  • Amazon Translate: "朝下的 Chill Dog" (Downward Chill Dog) — kept "Chill Dog" in English, which means nothing to Chinese readers.
  • DeepL: "下犬式:伸展身体,假装你是一只嗅出放松的狗" (Downward Dog: Stretch your body, pretend you're a dog sniffing out relaxation) — awkward and unnatural
  • Google Translate: "面朝下的冷狗" (Downward-facing cold dog) — almost funny enough to keep

That last one deserves an explanation. "冷狗" ("cold dog" or "freezing dog") isn't a phrase that exists in Chinese. Worse, it carries negative connotations. In some contexts, it echoes "死狗" ("dead dog"), which is a derogatory insult. Not exactly the warm, playful tone Tiimo was going for. 😅

The MT engines all made the same mistake: they translated literally without understanding the cultural reference or the playful tone.

My final translation was quite different:

"下犬式放松版:尽情伸展,假装自己是在伸懒腰的狗狗 🐶" ("Downward Dog Relaxation Version: Stretch freely, pretend you're a dog having a nice leisurely stretch")
article-image

This maintains the playful tone, makes the yoga reference clear for those who know it, and stays approachable for those who don't. It adds "伸懒腰", a warm, relatable phrase Chinese speakers use for that satisfying morning stretch feeling ("having a leisurely stretch"), and includes "狗狗" (the affectionate diminutive for dog), keeping a cute and friendly voice. MT couldn't make these choices. It doesn't understand that "伸懒腰" carries warmth and familiarity, or that "狗狗" is affectionate where "狗" is neutral.

Case 2: The "Save" button 🔗

In app interfaces, the word "Save" appears constantly. "Save your changes", "Save this routine", "Save your settings", "Save your progress."

In English, "save" handles all these contexts fine. In Chinese, context determines which word you use:

  • 💾 保存 (save/store data, files, changes — correct for apps)
  • 🛟 救 (save a life, rescue someone from danger)
  • 💰 节省 (save money or resources)

Machine translation often defaults to because it's the most common translation for "save" in general contexts. But imagine a button in Tiimo that says "救改变" ("rescue the changes"). Melodramatic and confusing. The correct translation is always 保存 for app contexts. But MT engines don't consistently recognize the difference. A human translator knows immediately which "save" is needed just from context.

Case 3: "Unload My Brain" 🔗

Tiimo uses playful, encouraging language to make planning feel less overwhelming. One feature helps users get tasks out of their heads and into the app. The English string: 🧠 "Unload My Brain".

This is perfect for the context. It's casual, relatable, and captures that feeling of mental clutter you need to externalize. For people with ADHD, this framing is both accurate and empowering.

🤖 The MT suggestion: "卸载我的大脑" (literally: "Uninstall my brain")

In Chinese, 卸载 is computer terminology. It means "uninstall software" or "remove a program from your system." When applied to 大脑 (brain), it sounds like a tech operation gone wrong. As if you're removing your brain like it's a malfunctioning app.

This is awkward and even slightly disturbing. It completely misses the mental health framing that makes the original English work. The correct approach requires, of course, understanding what "unload" means metaphorically. Better translations would be:

  • "清空大脑" ("clear out my mind"), or
  • "整理思路" ("organize my thoughts").

👩‍💻 Three mistakes = a common truth 🔗

All three examples show the same problem: machine translation translates words but doesn't fully retain the source meaning. It doesn't understand tone, cultural context, or how metaphors work across languages.

For generic content, that's manageable. For culturally sensitive projects like Tiimo, where the target audience is neurodivergent users who deserve language that's accurate, expressive, approachable, and human, MT shortcuts don't work.

Localazy has since integrated AI translation that understands brand voice and follows glossary terms automatically — Petr explains more above. That's a significant step forward that greatly improves the final results (you can see an actual test run by Dorota Páwlak here). But whether you're using traditional MT engines or the latest AI, you must keep in mind that these tools are a good starting point, but the final translations need the eyes of an expert.

📚 Related read: A practical guide to translating with Localazy AI

🔄 Continuous localization: the next step 🔗

Localization doesn't end when the app is fully translated and launched in the target market. Apps update, features get added, and new strings appear. The real test of a platform is how it handles the ongoing maintenance cycle.

When I asked Clémence what changed for Tiimo after moving to Localazy, she explained:

"Since moving this work into Localazy, it's easier to assign designated translators to specific locales and let them work in isolation with the right context. Each translator only sees strings for their market. The setup fits cleanly with our CMS, so updates move from translator to production with less coordination"

From my side, this meant getting notifications whenever new strings were added. I could review updates on my own schedule, translate them, and know they'd integrate smoothly into the next build.

  • ❌ No coordination meetings.
  • ❌ No file exports and imports.
  • ✅ Only a clean, continuous workflow.

But here's what good localization partnerships really require: staying open to feedback, especially from users. And we'll get to how that played out for Tiimo below.

The incident that proved platform choice matters 🔗

Before Tiimo moved to Localazy, they experienced a common but frustrating problem. A few months after the Chinese launch, a user reported garbled text in parts of the app. When the team brought me in to investigate, we discovered that during an app update cycle, some of my human translations had been accidentally overwritten and reverted to machine translations. The garbled text resulted from encoding problems in how those MT strings were processed.

Quality at launch is pointless if your workflow can't maintain it. A good translation today becomes bad translation tomorrow without proper maintenance

We fixed it quickly. I retranslated the affected strings. The developers pushed the update. Tiimo responded directly to the user who'd reported the issue. But it was a reminder: localization quality depends on the partnership between developer, platform, and localizer. Clear workflows matter. Version control matters. Systems that preserve human translation decisions during updates matter. This is one of the reasons why Tiimo moved to Localazy:

  • ⚙️ The tighter CMS integration meant fewer opportunities for translations to get accidentally overwritten
  • ⏮️ The version history feature provides an audit trail
  • 🔄 The workflow preserves translator decisions through update cycles

☝️ A tip for translators: set up your glossary early 🔗

If I could go back to the start of the Tiimo project, I'd do one thing differently: ask the team to set up a glossary in Localazy before I began translating.

The platform's glossary feature highlights defined terms during translation and validates your work against them. For a project like Tiimo, this would have me saved time on questions like:

  • 👥 What exactly is "body doubling" in Chinese?
  • 📅 Should we use 周 or 星期 when referring to weekdays?
  • 🧠 How should we consistently translate "executive function"?

Having these decisions documented upfront means they surface automatically when those terms appear in new strings. For projects managing 22 languages with different translators, that consistency is essential.

Localazy has also added style guides, which let teams define tone, formality, and brand voice expectations. Combined with the glossary, these tools help maintain a unified experience across locales.

article-image
Localazy AI uses your style guide for more relevant and accurate translations

✨ Good localization needs all three 🔗

From this experience, I could say that successful localization is a mix of empathy (Tiimo), cultural nuance (me), and robust tooling (Localazy).

Since Tiimo launched in Chinese, we've seen growing adoption in this market. That includes my friend, the lawyer I mentioned at the beginning of this article. She's using Tiimo now. So is her son. She's told me how much the planning features help them both manage their days with less overwhelm.

That feedback means everything. It means we've suceeded making tools accessible to people who need them. With a solid software localization platform, our job is much easier. And with the help of linguists, independent developers and small teams can launch multi-language apps without enterprise-level budgets, as long as they integrate continuous updates into their workflows. Because localization is a long-term relationship, not a one-time task.