All projects

~/tgolab/projects $ cat i18n.md

App internationalisation

Landingi

i18n from scratch in an existing app and an automated translation workflow with Lokalise, so translators work without a developer.

A translation key with values in four languages
Landingi dashboard in the Polish version
Landingi dashboard in the English version
Landingi dashboard in the Spanish version
Interface language picker in account settings
1 / 5

Problem

The Landingi app supported a single language, and every text change needed a developer, so translators had no way to work on their own.

My role

Introducing i18n into an existing app from scratch and building the translation workflow around Lokalise, and later helping to roll out an in-house translation management app.

What I built

  • The app’s i18n layer: moving the texts out of the code into more than 5,000 translation keys.
  • Two-way automation with Lokalise: new keys are pushed from the repository and finished translations are pulled back with no manual work.
  • A custom script that finds keys no longer used in the code. At this scale dead keys noticeably raised the Lokalise subscription cost, so removing them directly lowered the bill.
  • Overseeing and supporting the build of an in-house translation management app.

Outcomes

  • Translators work on their own in Lokalise, without needing a developer to change a single label.
  • A fix to a wrong translation reaches the app within minutes instead of waiting for the release cycle.
  • Developers are no longer a bottleneck in the translation process.
  • Hundreds of customers use the app in their own language.
  • Lower spending on Lokalise: first by removing dead keys, then thanks to the in-house translation management app.