StringLane

Browse docsHow to Use the Command Palette
How-To

How to Use the Command Palette

Press ⌘P to open one searchable menu for every StringLane action: add keys, translate, jump to a key, toggle panels, open settings.

Last updated

Press ⌘P anywhere in the editor to open the command palette: one fuzzy-searchable menu with every action in the app.

Command palette open with the Add key row pre-selected

The palette is the fastest way to:

  • Add a new key (Add key…: the default accent row)
  • Jump to any key by name across your whole project
  • Run bulk actions: Translate all missing with AI, Generate AI metadata for all keys
  • Reload every locale file from disk after a branch switch, or run flutter gen-l10n without leaving the app
  • Toggle panels, switch theme, open Settings or the keyboard shortcuts cheatsheet

How it works#

  1. Press ⌘P: modal opens, input focused.
  2. Type: the list filters by fuzzy match across action name, hint, and your project's keys.
  3. ↑ / ↓, navigate rows. , run the selected row. Esc: dismiss.
Command palette filtered by the query translate, showing three Actions rows: Translate all missing with AI, Add key…, and Generate AI metadata for all keys

Sections#

The palette groups results under section labels that appear only when the section has visible rows:

  • Recent: the 5 most-recent commands you ran, in reverse chronological order. Appears at the top when you open the palette with an empty query.
  • Actions: the primary bulk actions — Add key…, Translate all missing with AI, and Generate AI metadata for all keys.
  • View & settings: Toggle Issues panel, switch theme (Light / Dark / System), flip the Issues panel orientation, Open Settings.
  • Project: Open folder…, Close project, Reload from disk, and on Flutter projects Run flutter gen-l10n.
  • Jump to key: one row per key in your project. Fuzzy-matches both the key name and (when you type a value fragment) its translations. Selecting a row loads that key into the detail pane.
  • Help: Keyboard shortcuts (?).

Running a batch translation from the palette#

The Translate all missing with AI action walks you through translating every gap across every non-base locale in one go. It:

  1. Scans the project for missing keys OR cells where the target value equals the base verbatim (likely untranslated copy-paste).
  2. Shows a confirm dialog with the count and the involved locales.
  3. Runs translateKeysBatch per locale sequentially; you see running progress "N / M across K locales" plus the current locale.
  4. Cancel between chunks keeps partial results.
  5. Shows a summary with counts + the last error message (if any).

See Translate all missing for the full flow, including the no-API-key path.

Commands that appear conditionally#

Some rows are format- or project-dependent, so the palette will not always show them:

CommandAppears when
Run flutter gen-l10nThe project is ARB and has an l10n.yaml at its root.
Reload from disk / Close projectA project is open. See Reload from Disk.
Generate AI metadata for all keysA project is open — on every format. See How to Add Key Descriptions and Limits on Any Format.

Generate AI metadata for all keys used to be ARB-only. It now runs on .xcstrings, .strings, Android XML and i18next JSON as well, filling in descriptions; on ARB it fills placeholder types too.

Rebinding ⌘P#

The palette trigger is rebindable: Settings → App → Keybindings → click the chord next to Open command palette → press your preferred shortcut. See Customize keybindings.