ios-localize-copy

Localize iOS copy in .xcstrings catalogs while preserving placeholders and runtime contracts.

3|Updated Nov 8, 2014
One-click install
npx skills add https://github.com/mintuz/.dotfiles --skill ios-localize-copy-mintuz
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ios-localize-copy
Source: https://github.com/mintuz/.dotfiles/tree/main/agents/.agents/skills/ios-localize-copy
Command: npx skills add https://github.com/mintuz/.dotfiles --skill ios-localize-copy-mintuz

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Translating iOS user-facing copy across locales often breaks runtime contracts: missing keys, mismatched format specifiers, lost placeholder order, and corrupted .xcstrings JSON. This Skill enforces a disciplined workflow that audits locale coverage, translates in context, and validates every catalog before handoff. ## Core Features & Use Cases - Catalog auditing and extraction: Inspect Xcode knownRegions and .xcstrings catalogs, diagnose why strings fail to extract (table names, SWIFT_EMIT_LOC_STRINGS, target membership), and sync keys via xcstringstool. - Context-aware localization: Build per-locale glossaries from shipped translations, preserve placeholders, URLs, Markdown links, whitespace, and positional format specifiers like %1$@. - Validation gate: Verify JSON validity with jq, compare placeholder signatures, compile catalogs with xcstringstool, and run an independent language review before handoff. - Use Case: You added new onboarding strings in English and need them translated into all eight supported locales. The Skill audits the catalog, translates each key with consistent terminology, validates placeholder equivalence, and reports zero missing keys per locale. ## Quick Start Use $ios-localize-copy to translate the new onboarding strings in Localizable.xcstrings into every supported locale and validate the catalog.

Frequently Asked Questions about ios-localize-copy

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

FAQPage Schema
How do I translate iOS strings in .xcstrings catalogs?

Audit the catalog as JSON to find missing keys per locale, build a glossary from already-shipped translations, then merge translated values in place without rewriting the whole file. Validate with jq, placeholder-equivalence checks, and xcstringstool compile before handing off.

Why is my .xcstrings catalog empty after building in Xcode?

A custom catalog stays empty when call sites pass no table name, the file lacks target membership, or SWIFT_EMIT_LOC_STRINGS is not set to YES. Strings passed through plain String variables also never extract; keep literals inside String(localized:) or Text calls.

Can translations reorder format specifiers like %@ in iOS strings?

Reordering is only allowed with positional markers such as %1$@ and %2$lld, and each marker must match the conversion type of the source argument. A bare %@ may not be reordered.

How do I sync extracted strings into an .xcstrings catalog?

Build the owning target, locate its emitted .stringsdata in DerivedData, back up the catalog, then run xcrun xcstringstool sync with --skip-marking-strings-stale. Inspect the structural diff before accepting the merge.

What are the limits of automated iOS localization workflows?

Xcode's Generate Translations command cannot be driven reliably through GUI automation, and the on-device Translation framework blocks on a model-download prompt in headless environments. Binary upload and App Review submission are also out of scope.