Edit and translate your Xcode String Catalogs (.xcstrings)

LocalePilot opens the Localizable.xcstrings files of your iOS and macOS apps, shows what is missing in each language, checks format specifiers, and writes the catalog back in Xcode's style, touching only what you changed.

What LocalePilot reads and writes

  • Missing translation: no localization, new state or empty. LocalePilot never writes an empty value: clearing a translation removes the localization, like Xcode does.
  • Plurals and device variations are editable, shown as key › plural › one.
  • Source language: a key without a localization means the key itself (Xcode convention) and is not rewritten until you edit it.
  • States: an unchanged value keeps its state (needs_review…); an edited value becomes translated.

A minimal diff, in Xcode's style

Writing back an unchanged catalog produces a byte-identical file; an edit only changes its own lines. Your code review stays readable, and the export goes through the same review, disk merge and backup as every other format.

Format specifiers checked

QA recognizes %@, %1$@, %d, %ld, %lld, %.2f, %u, %i and %s; %% is treated as text. A missing or extra specifier in a translation is flagged before export.

Known limits

  • Keys marked shouldTranslate: false and keys using substitutions (%#@count@) are preserved untouched but not shown: they stay managed in Xcode.
  • QA compares the plural categories of the source: a language that doesn't use one (Japanese, for example) may report a gap.
  • Legacy .strings files are supported too, in UTF-8.

FAQ

Does LocalePilot replace Xcode for String Catalogs?

No, it complements it: Xcode extracts strings from your code, LocalePilot is where you check, translate and review them. Both read and write the same .xcstrings file.

Will my file be reformatted?

No. A catalog written back without changes is byte-identical; an edit only changes its own lines, in Xcode's style.

Are plurals supported?

Yes, plurals and device variations are editable. Substitutions (%#@count@) are preserved but still edited in Xcode.

Get notified at launch

LocalePilot is being finalized. Leave your email to hear about the launch and the price of the Pro plan.