← All posts
Engineering
1 min read

Removing two translations, properly

PaceStreak had German and Spanish catalogues. They're gone now. Removing a language isn't deleting two files: it's the picker, the stored preference, the tests and every place that assumed more than one.


PaceStreak had shipped German and Spanish translations of the app. They were unreviewed by native speakers and falling behind every time a screen changed. A translation that’s half right is worse than none: it tells the reader the product cares about their language, then proves it doesn’t. So they were removed.

What “remove” actually touched

Deleting the two catalogue files was the smallest part:

  • The language picker in settings went, since one option isn’t a choice.
  • Stored preferences. Anyone who had picked German or Spanish had that saved; the app now falls back to English without an error.
  • The sign-in screen had a language switcher of its own.
  • Tests. The i18n guard checked that every key existed in every catalogue; it now checks the one catalogue has every key the code uses.
  • The build. No more per-language chunks.

What stayed

The i18n layer itself stayed. Strings still go through one function with plural rules and interpolation, so adding a language later is a catalogue and a review, not a refactor. Taking the languages out didn’t mean taking the door out.

AlzyWelzy

Building PaceStreak. GitHub

Related

  • Design

    Keyboard first, and thumb first

    A command palette, G-then-a-letter shortcuts, swipe and long-press on habits, pull to refresh, and why each one is a shortcut on top of a button rather than the only way in.

    2 min
  • Infrastructure

    A 308 that sent every link home

    Reloading any page in the app, or opening a shared link, landed on Today. The SPA rewrite rules pointed at /index.html, and Cloudflare Pages redirects that to /. It had been true for every deployment.

    1 min

Build the habit. Keep the week.

PaceStreak is a habit and streak tracker for training and everything else worth doing regularly.