ios-localization

Implement iOS/macOS localization with String Catalogs and correct localized string types.

Updated May 6, 2026
One-click install
npx skills add https://github.com/Roy-wonji/claude-config --skill ios-localization-roy-wonji
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ios-localization
Source: https://github.com/Roy-wonji/claude-config/tree/main/skills/swift-ios-skills/skills/ios-localization
Command: npx skills add https://github.com/Roy-wonji/claude-config --skill ios-localization-roy-wonji

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill prevents broken internationalization in iOS/macOS apps by guiding you to implement localization correctly and avoid RTL, pluralization, and formatting issues that often slip into production.

Core Features & Use Cases

  • Localization implementation with String Catalogs: Use .xcstrings workflows and modern localized string APIs to keep keys, plural forms, and translations aligned.
  • Correct localized string types: Choose between LocalizedStringKey, String(localized:), and LocalizedStringResource depending on whether the text is resolved immediately or deferred for frameworks like App Intents and widgets.
  • Locale-aware formatting: Format dates, numbers, currencies, measurements, durations, person names, and lists using FormatStyle so output matches the user’s locale automatically.
  • RTL-safe UI guidance: Ensure SwiftUI layout mirroring works as expected and handle the few cases that need manual attention (directional images, alignment, testing in Arabic/RTL).
  • Quality safeguards: Provide a practical review checklist covering extraction, plural variants, pseudo-localization testing, Dynamic Type scaling, and translator context.

Quick Start

Use the ios-localization skill to audit your iOS localization approach for String Catalog correctness, pluralization handling, FormatStyle usage, and RTL readiness.

Frequently Asked Questions about ios-localization

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement iOS localization using String Catalogs?

Implement iOS localization by setting up `.xcstrings` files to keep translation keys, plural forms, and device variations aligned. This modern workflow replaces legacy localization APIs and ensures translators get reorderable interpolation automatically.

What's the best way to handle plural variants in SwiftUI?

Handle plural variants by configuring your `.xcstrings` String Catalog to define plural rules for each localized string. This ensures your SwiftUI views automatically display the correct grammatical form based on quantity inputs.

When should I use LocalizedStringKey versus String(localized:) in Swift?

Use `LocalizedStringKey` for SwiftUI views where text resolution is deferred, and `String(localized:)` for immediate resolution. Use `LocalizedStringResource` for frameworks like App Intents and widgets requiring explicit locale control.

How do I format dates and numbers for different locales in iOS?

Format dates, numbers, currencies, and measurements for different locales by applying `FormatStyle` to your Swift strings. This ensures output automatically matches the user’s locale without relying on hardcoded formats.

How do I validate RTL layout behavior in SwiftUI?

Validate RTL layout behavior by testing your SwiftUI views in Arabic or other RTL languages. SwiftUI mirrors layout automatically, but you must manually check directional images, alignment, and text scaling.

Why does pseudo-localization testing matter for iOS apps?

Pseudo-localization testing matters because it exposes hardcoded formats, truncation issues, and Dynamic Type scaling problems before actual translation begins. It validates your localization extraction pipeline and ensures UI adaptability.