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.md
source content

iOS Localization & Assets

Priority: P1

Implementation Workflow

  1. Use String Catalogs — Adopt
    .stringcatalog
    files in Xcode 15+ for visual editing and compile-time missing translation checks.
  2. Prefer modern APIs — Use
    String(localized: "key")
    or
    LocalizedStringResource
    instead of
    NSLocalizedString
    .
  3. Handle pluralization — Use String Catalogs' built-in pluralization instead of custom code logic.
  4. Format with locale — Use
    Formatted
    API for dates, numbers, and currencies to respect user locale.
  5. Organize assets — Use
    .xcassets
    with "Provides Namespace" enabled. Prefer SF Symbols for standard icons.
  6. Complete Base localization — Ensure
    Base
    complete before adding other languages.

See localization and asset catalog examples

Anti-Patterns

  • No Manual Currency Formatting: Use
    NumberFormatter
    or
    .formatted(.currency)
  • No Loose Asset Files: Always use Asset Catalogs (
    .xcassets
    )
  • No Placeholder Strings: Ensure 100% translation coverage before commit

References