Agent skill

Localization

by johnrogers in johnrogers/claude-swift-engineering

A skill your agent uses when implementing internationalization (i18n), String Catalogs, pluralization, or right-to-left layout support.

MITAuto-check passedFrontend & Design

Install Localization

skills CLI
$ npx skills add johnrogers/claude-swift-engineering --skill localization -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install johnrogers/claude-swift-engineering localization --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/johnrogers/claude-swift-engineering.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/swift-engineering/skills/localization .claude/skills/localization && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
localization
GitHub stars
231
Token cost
~749 tokens
SKILL.md length
292 words
Files
5 (incl. references)
Skills in repo
17
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when implementing internationalization (i18n), String Catalogs, pluralization, or right-to-left layout support.

  • Works in 5 steps: Create String Catalog in Xcode (File >… → Mark strings with… → Add plural variants in String Catalog… → …
  • Implementing internationalization (i18n)
  • SKILL.md covers Reference Loading Guide, Core Workflow, Key Patterns and Build Settings, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Localization is an agent skill from johnrogers/claude-swift-engineering. Use when implementing internationalization (i18n), String Catalogs, pluralization, or right-to-left layout support. Covers modern localization workflows with Xcode String Catalogs and LocalizedStringKey patterns.

Its SKILL.md is about 750 tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/formatting.md`, `references/pluralization.md` and `references/rtl-support.md`).

It sits in Frontend & Design, covering Internationalization and iOS development. It works with Xcode. The repository describes itself as: A collection of agents and skills to aid in the planning, implementation, documentation and testing of Swift/TCA code. The licence is MIT.

When your agent uses it

  • Implementing internationalization (i18n)
  • String Catalogs
  • Right-to-left layout support

Example prompts

  • “/localization”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Create String Catalog in Xcode (File > New > String Catalog)
  2. Mark strings with String(localized:comment:) or use SwiftUI's automatic extraction
  3. Add plural variants in String Catalog editor where needed
  4. Test with pseudo-localization (Scheme > Run > Options > App Language)
  5. Export for translation (File > Export Localizations)

What it can do on your machine

Read from SKILL.md and the folder at commit 1dc2cf4. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are swift).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Localization loads about 749 tokens when it runs, and up to ~6.7k if it reads all its reference files. Until then it costs about 56 tokens; SKILL.md has 292 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~56
When it runs · the whole SKILL.md, loaded when a task matches
~749
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from johnrogers/claude-swift-engineering at commit 1dc2cf4, republished under its MIT licence (© johnrogers). 292 words, ~749 tokens.

Download SKILL.mdSave it as .claude/skills/localization/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
localization
description
Use when implementing internationalization (i18n), String Catalogs, pluralization, or right-to-left layout support. Covers modern localization workflows with Xcode String Catalogs and LocalizedStringKey patterns.

Localization

Modern iOS localization using String Catalogs (.xcstrings) for managing translations, plural forms, and locale-aware content. Supports SwiftUI's LocalizedStringKey and String(localized:) APIs.

Reference Loading Guide

ALWAYS load reference files if there is even a small chance the content may be required. It's better to have the context than to miss a pattern or make a mistake.

ReferenceLoad When
String CatalogsSetting up or using Xcode 15+ String Catalogs
PluralizationHandling plural forms, stringsdict migration
FormattingDate, number, currency locale-aware formatting
RTL SupportRight-to-left layouts, semantic directions

Core Workflow

  1. Create String Catalog in Xcode (File > New > String Catalog)
  2. Mark strings with String(localized:comment:) or use SwiftUI's automatic extraction
  3. Add plural variants in String Catalog editor where needed
  4. Test with pseudo-localization (Scheme > Run > Options > App Language)
  5. Export for translation (File > Export Localizations)

Key Patterns

swift
// SwiftUI - automatic localization
Text("Welcome")
Button("Continue") { }

// Explicit localization with context
let title = String(localized: "Settings", comment: "Navigation title")

// Deferred localization for custom views
struct CardView: View {
    let title: LocalizedStringResource
    var body: some View { Text(title) }
}

Build Settings

  • Use Compiler to Extract Swift Strings: Yes
  • Localization Prefers String Catalogs: Yes

Common Mistakes

  1. Forgetting String Catalog in Build Phases — Adding String Catalog but forgetting to check "Localize" in File Inspector means it's not embedded. Always verify in Build Phases > Copy Bundle Resources.

  2. Pseudo-localization not tested — Not running your app with pseudo-localization (German/Chinese pseudo-locale) means you miss text overflow and RTL issues. Always test with pseudo-localization before translation.

  3. Hardcoded strings anywhere — Even one hardcoded string outside the String Catalog breaks extraction and automation. Use String(localized:) everywhere or use LocalizedStringResource for deferred localization.

  4. Context loss in translations — Providing no comment for translators means they guess context and get it wrong. Add comments explaining where the string appears and what it means.

  5. RTL layouts not tested — Assuming LTR layout works for RTL languages (Arabic, Hebrew) fails miserably. Test with system language set to Arabic and verify semantic directions are used.

© johnrogers, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (references) in plugins/swift-engineering/skills/localization of johnrogers/claude-swift-engineering.

  • SKILL.md
  • references/formatting.md
  • references/pluralization.md
  • references/rtl-support.md
  • references/string-catalogs.md

Open the folder on GitHubat commit 1dc2cf4

Compare with similar skills

Localization next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Localization compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Localization this skilljohnrogers/claude-swift-engineering231—~749Automated safety check: PassMIT
LocalizationCamilleScholtz/swmpc239—~1.2kAutomated safety check: PassEUPL-1.2
Localization Setuprshankras/claude-code-apple-skills783—~1.4kAutomated safety check: NotesMIT
UI Automation Workflowsconorluddy/xclaude-plugin183—~2.2kAutomated safety check: PassMIT
Xcstrings ManagerEslzzyl/Pixiv-SwiftUI111—~482Automated safety check: PassAGPL-3.0
App Icon Generatorrshankras/claude-code-apple-skills783—~5.1kAutomated safety check: NotesMIT

Similar skills

  • Localization

    CamilleScholtz/swmpc

    Inspect and edit Xcode String Catalogs (.xcstrings) via bundled l10n.sh and findunusedkeys.sh scripts, and apply Apple localization conventions.

    239 GitHub stars~1.2k tokensUpdated 2 days ago
    Frontend & DesignAuto-check passed
  • Localization Setup

    rshankras/claude-code-apple-skills

    Generate internationalization (i18n) infrastructure for multi-language support in iOS/macOS apps.

    783 GitHub stars~1.4k tokensUpdated 2 mo ago
    Frontend & DesignAuto-check: notes
  • UI Automation Workflows

    conorluddy/xclaude-plugin

    Accessibility-first UI automation using IDB. An agent skill from conorluddy/xclaude-plugin.

    183 GitHub stars~2.2k tokensUpdated 26 days ago
    Frontend & DesignAuto-check passed
  • Xcstrings Manager

    Eslzzyl/Pixiv-SwiftUI

    Manage Xcode String Catalog (.xcstrings) localization files through a command-line interface.

    111 GitHub stars~482 tokensUpdated yesterday
    MobileAuto-check passed
  • App Icon Generator

    rshankras/claude-code-apple-skills

    Generates an app icon for macOS or iOS — a fast CoreGraphics placeholder and/or flat layered source art to finish in Icon Composer (the Liquid Glass / iOS 26+ standard).

    783 GitHub stars~5.1k tokensUpdated 2 mo ago
    Frontend & DesignAuto-check: notes
  • iOS Patterns

    hanamizuki/solopreneur

    A skill your agent uses when building iOS/macOS apps with SwiftUI — covers localization (String Catalogs), date/time formatting, JSON date decoding, Previews, state management, sheet/navigation…

    152 GitHub stars~2.3k tokensUpdated 12 days ago
    Frontend & DesignAuto-check: notes

More from johnrogers/claude-swift-engineering

All 17 skills in this repo
  • Storekit

    johnrogers/claude-swift-engineering

    A skill your agent uses when implementing in-app purchases, StoreKit 2 subscriptions, consumables, non-consumables, or transaction handling.

    231 GitHub stars~799 tokensUpdated 8 mo ago
    Auto-check passed
  • Swift Style

    johnrogers/claude-swift-engineering

    Swift code style conventions for clean, readable code. An agent skill from johnrogers/claude-swift-engineering.

    231 GitHub stars~828 tokensUpdated 8 mo ago
    Auto-check passed
  • Composable Architecture

    johnrogers/claude-swift-engineering

    A skill your agent uses when building features with TCA (The Composable Architecture), structuring reducers, managing state, handling effects, navigation, or testing TCA features.

    231 GitHub stars~982 tokensUpdated 8 mo ago
    Auto-check passed
  • Foundation Models

    johnrogers/claude-swift-engineering

    A skill your agent uses when implementing on-device AI with Apple's Foundation Models framework (iOS 26+), building summarization/extraction/classification features, or using @Generable for…

    231 GitHub stars~869 tokensUpdated 8 mo ago
    Auto-check passed
  • Grdb

    johnrogers/claude-swift-engineering

    A skill your agent uses when writing raw SQL with GRDB, complex joins across 4+ tables, window functions, ValueObservation for reactive queries, or dropping down from SQLiteData for performance.

    231 GitHub stars~719 tokensUpdated 8 mo ago
    Auto-check passed
  • Haptics

    johnrogers/claude-swift-engineering

    A skill your agent uses when adding haptic feedback for user confirmations (button presses, toggles, purchases), error notifications, or custom tactile patterns (Core Haptics).

    231 GitHub stars~792 tokensUpdated 8 mo ago
    Auto-check passed

Works with

Questions about Localization

What does Localization do?

A skill your agent uses when implementing internationalization (i18n), String Catalogs, pluralization, or right-to-left layout support. Localization is an agent skill from johnrogers/claude-swift-engineering. Use when implementing internationalization (i18n), String Catalogs, pluralization, or right-to-left layout support.

When should I use Localization?

Localization fits situations like: implementing internationalization (i18n); string Catalogs; right-to-left layout support.

How do I install Localization in Claude Code?

Run `npx skills add johnrogers/claude-swift-engineering --skill localization -a claude-code`. Or copy the skill folder (plugins/swift-engineering/skills/localization in johnrogers/claude-swift-engineering) into .claude/skills/localization in your project. Claude Code loads it when a task matches its description.

How do I install Localization in Codex?

Run `npx skills add johnrogers/claude-swift-engineering --skill localization -a codex`. Or copy the skill folder (plugins/swift-engineering/skills/localization in johnrogers/claude-swift-engineering) into .agents/skills/localization in your project. Codex loads it when a task matches its description.

Can I use Localization in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add johnrogers/claude-swift-engineering --skill localization -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/localization, .gemini/skills/localization, .github/skills/localization and .opencode/skills/localization in your project.

What does Localization need to run?

SKILL.md names no scripts, command-line tools or credentials: Localization is instructions for the agent only.

Does Localization access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Localization safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Localization use?

Localization is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Localization use?

About 749 tokens (SKILL.md is roughly 3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6k tokens, read only when the agent opens those files.

What are the alternatives to Localization?

Skills that share tags, products or a category with Localization: Localization (CamilleScholtz/swmpc, 239 stars), Localization Setup (rshankras/claude-code-apple-skills, 783 stars), UI Automation Workflows (conorluddy/xclaude-plugin, 183 stars) and Xcstrings Manager (Eslzzyl/Pixiv-SwiftUI, 111 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Localization?

johnrogers (a GitHub user) maintains it in johnrogers/claude-swift-engineering, which has 231 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on January 18, 2026.

Source: johnrogers/claude-swift-engineering on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.