localization

Manage and apply String Catalogs for Xcode 15+ app localization.

1.1k|81|Updated Nov 30, 2025
One-click install
npx skills add https://github.com/CharlesWiltgen/Axiom --skill localization
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: localization
Source: https://github.com/CharlesWiltgen/Axiom/tree/main/.claude-plugin/plugins/axiom/skills/localization
Command: npx skills add https://github.com/CharlesWiltgen/Axiom --skill localization

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This reference guides localization using String Catalogs, including plural handling, RTL support, locale-aware formatting, and migrating from legacy strings formats.

Core Features & Use Cases

  • Manage String Catalogs (.xcstrings) and automatic string extraction
  • Implement pluralization, RTL support, and locale-aware formatting
  • Migration strategies from legacy strings to String Catalogs

Quick Start

Prompt: "Create a Localizable.xcstrings with a welcome message and Spanish localization."

Frequently Asked Questions about localization

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

FAQPage Schema
How do I set up localization with String Catalogs in Xcode 15?

String Catalogs (.xcstrings) are Xcode 15+'s JSON-based format for managing app translations. Create a Localizable.xcstrings file in your project, add strings through code extraction or manual entry, then configure build settings to use it as the single source of truth for all localizations across iOS 15+ apps.

Can I migrate from .strings and .stringsdict files to String Catalogs?

Yes. String Catalogs replace legacy .strings and .stringsdict formats. Xcode can automatically extract strings from SwiftUI, UIKit, Objective-C, and Interface Builder sources into .xcstrings, preserving pluralization rules and locale-aware formatting during migration.

How do I handle pluralization and RTL text in localized apps?

String Catalogs support plural handling and RTL (right-to-left) formatting natively. Define pluralization rules within .xcstrings and enable RTL support through locale-aware formatting; the catalog applies these automatically across SwiftUI's LocalizedStringKey and UIKit's String(localized:) APIs.

What localization APIs work with String Catalogs in SwiftUI and UIKit?

String Catalogs integrate with LocalizedStringKey for SwiftUI views, String(localized:) for runtime strings, and LocalizedStringResource API across both frameworks. Xcode 15+ automatically extracts these API calls and populates the .xcstrings catalog without manual configuration.

Do I need to manually extract strings or does Xcode handle it automatically?

Xcode 15+ automatically extracts strings from SwiftUI, UIKit, Objective-C, and Interface Builder sources into String Catalogs during build. Manual entry is optional for edge cases; automatic extraction populates .xcstrings with full context and locale variants.

What happens if my app targets iOS versions before 15?

String Catalogs require iOS 15+ for runtime support. Xcode 15+ handles backward compatibility, but if your minimum deployment target is below iOS 15, you must retain legacy .strings/.stringsdict files or adjust your deployment target to use String Catalogs fully.