How to decrease your localization strings size?
summary
Airbnb compresses and re‑formats localization files at build time with a Swift CLI that outputs a global keys file plus per‑language arrays, then compresses them with LCFC compression (NSData compress API). A runtime StringManager decompresses only the current language, caches a language+app‑version file to avoid startup overhead, and supports a custom lookup instead of NSLocalizedString. Result: strings drop from 22% to 4% of app size — an 82% reduction — deployed in production after validation.
AI-written summary · about
chapters (9)
- 0:00Introduction and speaker intro
- 1:06Localization strings overview
- 4:18Challenges with app size
- 6:43Strings compression optimization
- 8:27Key duplication removal
- 13:00Implementation at build time
- 15:28Runtime decompression process
- 19:00Impact and results
- 20:44Summary and Q&A
related talks
31mInternationalizing your App
32mLocalizing an iOS App for $1 in 2024
22mWhere the !#@#$& is Localizable.strings?!?
23mDriving Seamless Localization
25mLocalization: Implementation and Testing... Locally
35mDeveloping for the rest of the World
33mFearless Localization and Internationalization Across the Nations
27mTexts, dates, numbers, currencies, plurals, etc. App internationalization guide
