Member-only story

Swift Localization in 2025: Best Practices You Couldn’t Use Before

String Catalogs improved localization but introduced new challenges. This article explores how to regain structure and efficiency with modern best practices and a new open-source tool that could change the way you localize.

Cihat Gündüz
4 min readFeb 12, 2025

The Evolution of iOS Localization

To understand how far localization has come — and where it still falls short — let’s take a quick look back: At the pre-String Catalogs era, developers relied on a combination of .strings and .stringsdict files, organized in language-specific folders like en.lproj. This system, while functional, had several drawbacks:

  1. Missing safety checks for unused or missing translations
  2. Manual synchronization needed between different language files
  3. No built-in support for extracting strings from code

Tools like SwiftGen and BartyCrouch emerged to address these issues, providing type safety and automated extraction. And the community established best practices around using semantic keys (e.g., "Onboarding.Page1.title") to provide context for translators and group related strings together.

--

--

Cihat Gündüz
Cihat Gündüz

Written by Cihat Gündüz

📱Indie iOS Developer, 🎬Content Creator for 👨🏻‍💻Developers. Apps: RemafoX, Twoot it!. More in the works.

No responses yet

Write a response