Handles the full iOS localization stack: String Catalogs, generated symbols for type-safe keys, LocalizedStringResource for App Intents and widgets, FormatStyle for locale-aware numbers and dates, and RTL layout testing. The guide breaks down when to use LocalizedStringKey versus String(localized:) versus LocalizedStringResource, which trips up a lot of people new to modern iOS localization. Covers Xcode 26's generated symbols feature that lets you write `.roomAvailable` instead of stringly-typed keys. If you're shipping an app in multiple languages or need to pass App Store review in non-English markets, this walks through the mechanics and common mistakes that cause rejections or broken Arabic/Hebrew layouts.

skills.sh installs
4.5K
GitHub stars
1.3K
last updated
Aug 21, 2026

Install

$ npx -y skills add dpearson2699/swift-ios-skills --skill ios-localization --agent claude-code

Installs into .claude/skills of the current project.

Files

iOS Localization & Internationalization

Localize Apple-platform apps with String Catalogs, modern string types, locale-aware formatting, and right-to-left layout.

Contents

String Catalogs and Generated Symbols

String Catalogs are the recommended Xcode 15+ workflow for new localization work. They keep localizable strings, pluralization rules, and device variations together in an Xcode-managed JSON file with a visual editor. Legacy .strings and .stringsdict files can coexist during migration, but new Swift and SwiftUI code should default to String Catalogs.

How automatic extraction works:

Xcode scans for these patterns on each build:

Sponsors

Details

Repository
github.com/dpearson2699/swift-ios-skills
Categories
Frontend Development, Testing & QA, Git & Pull Requests, Code Review & Quality, Mobile Development
First seen
Apr 16, 2026

More from dpearson2699/swift-ios-skills

All 98
1grafana avatarplugin-bundle-sizegrafana/skillsOptimise Grafana app plugin bundle size using React.lazy, Suspense, and webpack code splitting. Use when the user asks to reduce plugin bundle size, optimise mo4.5Kskills.sh installs
2agricidaniel avatarads-creativeagricidaniel/claude-adsAudit paid-ad copy, images, video, hooks, concepts, format coverage, platform-native fit, message match, creative fatigue, accessibility, and policy across supp4.4Kskills.sh installs
3anthropics avatarsession-reportanthropics/claude-plugins-officialGenerate an explorable HTML report of Claude Code session usage (tokens, cache, subagents, skills, expensive prompts) from ~/.claude/projects transcripts.4.3Kskills.sh installs
4softaworks avatarc4-architecturesoftaworks/agent-toolkitGenerate architecture documentation using C4 model Mermaid diagrams. Use when asked to create architecture diagrams, document system architecture, visualize sof4.3Kskills.sh installs
5yaklang avatarandroid-pentesting-tricksyaklang/hack-skillsAndroid pentesting playbook. Use when testing Android applications for SSL pinning bypass, exported component abuse, WebView vulnerabilities, intent redirection4.3Kskills.sh installs
6giuseppe-trisciuoglio avatarturborepo-monorepogiuseppe-trisciuoglio/developer-kitProvides comprehensive Turborepo monorepo management guidance for TypeScript/JavaScript projects. Use when creating Turborepo workspaces, configuring turbo.json4.2Kskills.sh installs