Free up storage
How to Find and Remove Unused Language Files (Localizations) on Mac
Find every language file on your Mac and remove the ones you'll never use. Free 1-5GB by trimming app localizations down to languages you actually speak.
Every Mac app ships with translations into dozens of languages. macOS itself supports over 100. The translation files are small individually but accumulate — a single app might have 80MB of language files for languages you’ll never use. Multiplied across your installed apps, you’re looking at 1-5GB of pure dead weight.
This guide covers how to find every language file on your Mac, what each one contains, and how to safely remove the ones you don’t need.
How localization works on macOS
When an app is built, the developer creates .lproj folders inside the app bundle for each supported language. Each folder contains the strings, resources, and sometimes images localized to that language.
Common .lproj folder names:
en.lproj— Englishes.lproj— Spanishfr.lproj— Frenchde.lproj— Germanja.lproj— Japanesezh-Hans.lproj— Simplified Chinesezh-Hant.lproj— Traditional Chineseko.lproj— Koreanru.lproj— Russian
A typical commercial app supports 30-40 languages. Apple apps often support 40+.
When you launch an app, macOS picks the .lproj matching your system language. Other .lproj folders are loaded only for fallback. They take disk space whether you ever use them or not.
Finding language files via Terminal
To find every .lproj folder on your Mac:
find /Applications -type d -name "*.lproj" 2>/dev/null
That lists every localization folder inside installed apps. With size counts:
find /Applications -type d -name "*.lproj" -exec du -sh {} + 2>/dev/null | sort -hr | head -50
Top 50 largest .lproj folders.
For ALL apps including those installed for current user only:
find /Applications ~/Applications /Library/Frameworks -type d -name "*.lproj" 2>/dev/null
To count total .lproj folders:
find /Applications -type d -name "*.lproj" 2>/dev/null | wc -l
Numbers in the thousands are normal — each large app has 30-40, and you have many apps.
Sizing the impact
To see total space used by all language files:
find /Applications -type d -name "*.lproj" -exec du -ch {} + 2>/dev/null | tail -1
The “total” line at the bottom shows overall .lproj footprint. On a Mac with many apps installed, 3-8GB is common.
To see per-app totals:
for app in /Applications/*.app; do
size=$(find "$app" -type d -name "*.lproj" -exec du -c {} + 2>/dev/null | tail -1 | awk '{print $1}')
if [ ! -z "$size" ]; then
echo "$size KB - $app"
fi
done | sort -rn | head -30
Top 30 apps by total localization footprint.
What languages you actually use
Check what languages your Mac is configured for:
System Settings → General → Language & Region. The “Preferred Languages” list shows what macOS uses. Apps fall back through this list when looking for .lproj folders.
If your list shows just English, you can safely remove non-English localizations from most apps.
If your list has English plus your native language plus a couple of fallbacks, keep those .lproj folders.
To check from Terminal:
defaults read NSGlobalDomain AppleLanguages
Returns an array of language codes in priority order, like ("en", "es").
Manual removal of one .lproj folder
To delete a specific localization from a specific app:
sudo rm -rf "/Applications/Pages.app/Contents/Resources/de.lproj"
That removes German localization from Pages. Replace with whatever app and language. Requires sudo because /Applications is system-protected.
For an app you installed yourself (drag-to-Applications):
rm -rf "/Applications/Slack.app/Contents/Resources/de.lproj"
May not need sudo if you own the app folder.
After removal, the app continues working in your preferred language. The deleted localization is gone until you reinstall the app.
Bulk removal across all apps
To delete all .lproj folders except English:
sudo find /Applications -type d -name "*.lproj" -not -name "en.lproj" -not -name "Base.lproj" -delete 2>/dev/null
The -not -name exclusions keep English and Base (which contains shared resources). Be very careful with this — it’s destructive across your entire Applications folder.
For a less aggressive version, target specific languages you definitely don’t speak:
sudo find /Applications -type d \( -name "ja.lproj" -o -name "ko.lproj" -o -name "zh-Hans.lproj" -o -name "zh-Hant.lproj" \) -delete 2>/dev/null
That removes Japanese, Korean, and Chinese localizations specifically.
What “Base.lproj” is
Newer apps use a “Base internationalization” approach. The Base.lproj folder contains the actual user interface (xib/storyboard files) without translations. Other .lproj folders contain just the strings.
This means:
- Base.lproj: must keep, contains the UI layout
- en.lproj: should keep, English strings (matches Base)
- other .lproj: optional — remove to save space
Don’t delete Base.lproj. Apps stop working without it.
App Store apps and signing issues
This is important: Apple’s App Store and notarization checks app signatures. Modifying app contents (including removing .lproj folders) breaks the signature.
For most apps, this doesn’t matter — apps still launch and work normally. But:
- Some apps refuse to launch with broken signatures
- Some apps re-validate themselves on update and may flag corruption
- App Store updates may overwrite your changes with full localizations
The practical advice: remove .lproj folders for non-Apple apps you’ve installed manually. Be more cautious with Apple apps and App Store apps. If an app stops working after .lproj removal, restore from a backup or reinstall.
Apps to focus on
Some apps have particularly heavy localization footprints worth attention:
Microsoft Office apps each have 30+ languages. Word alone can have 200MB+ of .lproj content.
Adobe Creative Cloud apps similarly. Photoshop, Illustrator, Premiere all have substantial localization.
Apple’s iWork (Pages, Numbers, Keynote) and iMovie are well-localized into 30+ languages.
Final Cut Pro and Logic Pro — Apple’s pro apps have substantial localization.
Browsers — Chrome, Firefox, Safari each have their own localization approaches but contribute.
For a heavy-app user, removing non-needed localizations from these top offenders alone can free 2-3GB.
Apps where it’s NOT worth bothering
For small apps (under 50MB total), localization removal saves a few megabytes at most. Not worth the effort.
For System apps (in /System/Applications), the system protection makes removal complex and risky.
For apps you might want in another language someday (perhaps a language you’re learning), keep the .lproj.
What you’ll lose
The trade-offs of language removal:
Switching system language back — If you ever change your Mac’s primary language to one you’ve removed from apps, those apps will fall back to English (their last resort).
Updates restoring everything — App updates often replace the entire app bundle, including all .lproj folders. Your removal is undone. You’d need to re-remove after each update.
App malfunction — Rare, but possible. Some apps depend on resources in specific .lproj folders.
For most users, especially those running monolingual systems, none of these matter.
Apps that have built-in language management
Some apps offer in-app preferences to disable languages without filesystem changes:
Adobe apps — Creative Cloud has “Preferred Languages” settings, though disabling there doesn’t always remove the .lproj content.
Microsoft Office — Has installer options for selective language installation.
Pages, Numbers, Keynote — No in-app language management; you’d remove .lproj folders manually.
When apps have built-in management, prefer that over manual removal.
Frameworks and shared resources
Beyond /Applications, look at /Library/Frameworks and /System/Library/Frameworks. Some frameworks have .lproj content:
find /Library/Frameworks -type d -name "*.lproj" -exec du -sh {} + 2>/dev/null
Removal here is riskier — frameworks are shared code, and breaking them affects every app that uses them. Generally don’t touch these.
Building it into a sweep
Localization cleanup is a one-time-ish operation. After removing once, you only need to repeat after major app updates or after installing new heavy apps.
For Macs where storage is genuinely tight and multiple gigabytes matter, a one-time language sweep is worth the time. For Macs with plenty of space, it’s marginal value.
A cleaning tool can include localization removal as a feature with proper safeguards (preserving Base.lproj and your preferred languages automatically). Manually doing this is feasible but tedious — the per-app size savings are small enough that going through 30 apps individually feels like a lot of work.
The biggest win is usually the first run. Removing 30+ unused languages across 20 apps can free 2-4GB in one pass. After that, the steady state is lower-leverage.
For most people, focus storage cleanup on bigger targets first (caches, old backups, large files). Come back to localizations when you’ve exhausted the easier wins.