Apple .strings localization with AI

Apple .strings files: "key" = "value"; pairs per lproj folder.

.stringsformat: ios-stringsone file per locale

What it is

The classic iOS and macOS localization format, one Localizable.strings per locale folder (en.lproj, es.lproj). Still common in older projects and in InfoPlist.strings.

Example

App/en.lproj/Localizable.strings
/* Title on the sign-in screen */"signin.title" = "Sign in to %@";
/* Button that sends the reset email */"signin.forgot" = "Forgot password?";

How Glossa handles it

Plurals
.strings has no plurals; pair it with .stringsdict, which Glossa reads too, or migrate to a String Catalog.
Comments and context
The /* … */ comment above each pair is kept as context and written back.
Placeholders
Format specifiers such as %@, %d and %1$@ are protected and checked.
Round trip
The locale comes from the lproj folder name, including region and script variants such as pt-BR.lproj and zh-Hans.lproj.

Translate it from the command line

Push the source-language file; strings are deduplicated against the rest of your workspace and queued for translation. Pull writes App/es.lproj/Localizable.strings back in the same format.

npx @meterapp/glossa loginnpx @meterapp/glossa push App/en.lproj/Localizable.strings --project appnpx @meterapp/glossa pull --project app --locale es,de,ja

Or ask an agent over MCP: “Push App/en.lproj/Localizable.strings to Glossa and pull Spanish.” It calls push_file and pull_file. See the CLI and MCP guides.

Other formats

Moving from Crowdin? Read the comparison.

Push your first file

Glossa is free for one app. Sign in, push a translation file, and pull it back in every language.