Back to Skills

axiom-localization

verified

Use when localizing apps, using String Catalogs, generating type-safe symbols (Xcode 26+), handling plurals, RTL layouts, locale-aware formatting, or migrating from .strings files - comprehensive i18n patterns for Xcode 15-26

View on GitHub

Marketplace

axiom-marketplace

CharlesWiltgen/Axiom

Plugin

axiom

Repository

CharlesWiltgen/Axiom
289stars

.claude-plugin/plugins/axiom/skills/axiom-localization/SKILL.md

Last Verified

January 16, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/CharlesWiltgen/Axiom/blob/main/.claude-plugin/plugins/axiom/skills/axiom-localization/SKILL.md -a claude-code --skill axiom-localization

Installation paths:

Claude
.claude/skills/axiom-localization/
Powered by add-skill CLI

Instructions

# Localization & Internationalization

Comprehensive guide to app localization using String Catalogs. Apple Design Award Inclusivity winners always support multiple languages with excellent RTL (Right-to-Left) support.

## Overview

String Catalogs (`.xcstrings`) are Xcode 15's unified format for managing app localization. They replace legacy `.strings` and `.stringsdict` files with a single JSON-based format that's easier to maintain, diff, and integrate with translation workflows.

This skill covers String Catalogs, SwiftUI/UIKit localization APIs, plural handling, RTL support, locale-aware formatting, and migration strategies from legacy formats.

## When to Use This Skill

- Setting up String Catalogs in Xcode 15+
- Localizing SwiftUI and UIKit apps
- Handling plural forms correctly (critical for many languages)
- Supporting RTL languages (Arabic, Hebrew)
- Formatting dates, numbers, and currencies by locale
- Migrating from legacy `.strings`/`.stringsdict` files
- Preparing App Shortcuts and App Intents for localization
- Debugging missing translations or incorrect plural forms

## System Requirements

- **Xcode 15+** for String Catalogs (`.xcstrings`)
- **Xcode 26+** for automatic symbol generation, `#bundle` macro, and AI-powered comment generation
- **iOS 15+** for `LocalizedStringResource`
- **iOS 16+** for App Shortcuts localization
- Earlier iOS versions use legacy `.strings` files

---

## Part 1: String Catalogs (WWDC 2023/10155)

### Creating a String Catalog

**Method 1: Xcode Navigator**
1. File → New → File
2. Choose "String Catalog"
3. Name it (e.g., `Localizable.xcstrings`)
4. Add to target

**Method 2: Automatic Extraction**

Xcode 15 can automatically extract strings from:
- SwiftUI views (string literals in `Text`, `Label`, `Button`)
- Swift code (`String(localized:)`)
- Objective-C (`NSLocalizedString`)
- C (`CFCopyLocalizedString`)
- Interface Builder files (`.storyboard`, `.xib`)
- Info.plist values
- App Shortcuts phrases

**Build Settings 

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
25670 chars