Back to blog
Building an Expense Tracker That Speaks 14 Languages
3 min read

Building an Expense Tracker That Speaks 14 Languages

Personal finance is deeply personal — and deeply cultural. Here's why we rebuilt Simple Money Tracker to speak 14 languages, and what we learned about building software for the whole world.

i18nLocalizationGlobalUX

Money is universal, but the way we talk about it isn't. In Vietnam, people think in thousands and millions of dong. In Germany, commas and decimal points swap places. In Japan, the financial year starts in April. In Arabic-speaking countries, text reads right-to-left, and numbers have their own conventions.

Building an expense tracker that works for 'everyone' isn't just about translating strings. It's about rebuilding the app's DNA to respect how different cultures understand and interact with money.

14 Languages, One Experience

Simple Money Tracker now supports English, Vietnamese, Spanish, Arabic, Chinese, Dutch, French, German, Indonesian, Italian, Japanese, Korean, Russian, and Thai. But 'support' means more than swapping English text for translated text. It means RTL layout for Arabic. It means currency symbols that appear before or after amounts depending on locale. It means date formats that don't confuse March 4th with April 3rd.

We use a comprehensive i18n system with dynamic locale loading, so users only download the language they need. And because we built it modularly, adding a 15th language is just a matter of translating keys — no code changes required.

The Localization Tax

Here's something they don't tell you in programming tutorials: every feature you build becomes 14 features to maintain. Add a new dialog? That's 14 sets of labels, placeholders, error messages, and validation text. Update a button? Better check all 14 locales for length — German words are famously long, and Arabic needs RTL padding adjustments.

We learned this the hard way. Early on, we'd build a feature in English and 'translate it later.' Later never came, or came wrong. Now, every UI change is designed with all 14 languages in mind from day one. It's slower. It's harder. But it's the only way to build something that truly works globally.

Localized Intelligence

Perhaps the most interesting challenge was localizing the AI. Our Financial Coach and Telegram bot don't just speak multiple languages — they understand localized financial contexts. The bot knows that '50k' means 50,000 VND in Vietnam but $50,000 in the US. The AI coach adjusts its advice based on cultural norms around saving, debt, and spending.

Even our categories are localized. 'Food & Drink' in English becomes 'An uong' in Vietnamese, 'Essen & Trinken' in German, and 'shi fei' in Japanese. But the underlying data structure stays consistent, so a user switching languages doesn't lose their history — they just see it in their own words.

The World Is Bigger Than English

Version 2.32.0 brought multi-language support to Simple Money Tracker, and version 3.5.0 expanded it to cover every module including AI interactions, Telegram bot responses, and category names. It was one of our hardest milestones — and one of our most rewarding.

Because at the end of the day, an expense tracker that only works in English isn't really for everyone. And we didn't build Simple Money Tracker for some users. We built it for all of them.

Want to see these features in action? Try Simple Money Tracker for free.

Get Started
Share:

Comments

Back to blog
    reCAPTCHA Enterprise Logo

    protected by reCAPTCHA