Agent-skills-standard ios-localization
Implement String Catalogs, L10n workflows, and asset management for iOS. Use when adding multi-language support using iOS String Catalogs or L10n workflows. (triggers: **/*.stringcatalog, **/*.xcassets, **/*.strings, LocalizedStringResource, NSLocalizedString, String(localized:))
install
source · Clone the upstream repo
git clone https://github.com/HoangNguyen0403/agent-skills-standard
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/HoangNguyen0403/agent-skills-standard "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/ios/ios-localization" ~/.claude/skills/hoangnguyen0403-agent-skills-standard-ios-localization && rm -rf "$T"
manifest:
skills/ios/ios-localization/SKILL.mdsource content
iOS Localization & Assets
Priority: P1
Implementation Workflow
- Use String Catalogs — Adopt
files in Xcode 15+ for visual editing and compile-time missing translation checks..stringcatalog - Prefer modern APIs — Use
orString(localized: "key")
instead ofLocalizedStringResource
.NSLocalizedString - Handle pluralization — Use String Catalogs' built-in pluralization instead of custom code logic.
- Format with locale — Use
API for dates, numbers, and currencies to respect user locale.Formatted - Organize assets — Use
with "Provides Namespace" enabled. Prefer SF Symbols for standard icons..xcassets - Complete Base localization — Ensure
complete before adding other languages.Base
See localization and asset catalog examples
Anti-Patterns
- No Manual Currency Formatting: Use
orNumberFormatter.formatted(.currency) - No Loose Asset Files: Always use Asset Catalogs (
).xcassets - No Placeholder Strings: Ensure 100% translation coverage before commit