inlang
A

Apple Strings

Plugin

Reads and writes Apple .strings files through Inlang's v2 message model.

Supported: exact message keys, quoted-string escaping, Unicode, and positional variables. Apple .strings has no plural construct, so selector/plural messages fail explicitly. Use a future .xcstrings or .stringsdict plugin for Apple plurals.

{
  "modules": [
    "https://cdn.jsdelivr.net/npm/@inlang/plugin-apple-strings@latest/dist/index.js"
  ],
  "plugin.inlang.apple-strings": {
    "pathPattern": "./Localizations/{locale}.lproj/Localizable.strings"
  }
}

Translation descriptions

On SDK hosts supporting bundle descriptions, a block comment directly above a source-locale entry maps to bundle.description when it belongs to that entry alone. Blank lines separate document headings; a comment above adjacent entries is treated as a group heading. Target-locale comments remain file metadata.

The shared editor writes descriptions as native /* ... */ comments in the source file, keeping document comments and target notes when the existing files are available. Removing the attached source comment clears the description. Description text containing */ cannot be represented as a block comment and is rejected.

Change the base locale through a loaded project’s settings and save the project before reopening it. If editing baseLocale directly in settings.json, move shared guidance into the new source entries or project.inlang/descriptions.json in the same change. A fresh directory load cannot identify the former source locale and never promotes target-only notes automatically.