Apple .stringsdict localization with AI
Apple .stringsdict plist files for plural rules.
.stringsdictformat: ios-stringsdictone file per locale
What it is
Stringsdict is the property-list format iOS uses for pluralization and variable-width strings, alongside .strings in each lproj folder.
Example
App/en.lproj/Localizable.stringsdict
<plist version="1.0"><dict> <key>photos_count</key> <dict> <key>NSStringLocalizedFormatKey</key> <string>%#@photos@</string> <key>photos</key> <dict> <key>NSStringFormatSpecTypeKey</key> <string>NSStringPluralRuleType</string> <key>NSStringFormatValueTypeKey</key> <string>d</string> <key>one</key> <string>%d photo</string> <key>other</key> <string>%d photos</string> </dict> </dict></dict></plist>How Glossa handles it
- Plurals
- Each NSStringPluralRuleType dictionary becomes one plural entry, translated for every CLDR category the target language uses (Russian needs one, few, many and other).
- Comments and context
- Plists carry no per-key comments; add context in Glossa.
- Placeholders
- %d, %@ and the %#@variable@ references are protected so the plist stays valid.
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.stringsdict back in the same format.
npx @meterapp/glossa loginnpx @meterapp/glossa push App/en.lproj/Localizable.stringsdict --project appnpx @meterapp/glossa pull --project app --locale es,de,jaOr ask an agent over MCP: “Push App/en.lproj/Localizable.stringsdict to Glossa and pull Spanish.” It calls push_file and pull_file. See the CLI and MCP guides.
Other formats
Xcode String CatalogFlutter ARBJSON (key/value, i18next)YAML (Rails i18n)Apple .stringsAndroid strings.xmlGettext PO/POTXLIFF 1.2 / 2.0Java .properties.NET RESXCSV / TSV (multi-locale)
Moving from Crowdin? Read the comparison.