StringLane

Browse docsHow to Use the List View Editor
How-To

How to Use the List View Editor

Navigate the unified key sidebar + per-key detail pane — switch between Grid and List layouts, track validation at a glance, and edit every locale for one key in one place.

StringLane's single editor surface is a sidebar of keys on the left and a per-key detail pane on the right. Select a key → every locale's value appears in the detail pane. This replaces the old split Table/List view with one focused layout.

Per-key detail pane in Grid mode with every locale shown as a card

Layout

  • Sidebar (280px, left) — namespace-grouped key tree, search, filter popover, command-palette launcher at the bottom. Stays visible while you work.
  • Detail pane (main area) — header (key name + chips + Grid/List toggle) and a locale layout showing every locale side-by-side.
  • Issues panel (right rail or bottom drawer) — collapsible; auto-opens when the project has validation issues.
  • Status bar (bottom) — completion ring, error/warning chips, "Saved · Ns ago" indicator.

Switching between Grid and List layouts

The detail header has a Grid / List segmented toggle. Your choice persists per-project.

  • Grid — locale cards in a 3-column grid. Best for short strings and projects with 3–6 locales.
  • List — locale rows stacked with a wider value field. Best for longer strings, or when you want char-width bars inline per locale.
Per-key detail pane in List mode with stacked locale rows and inline char-width bars

Default is Grid for ≤6 locales, List otherwise. Flip it any time.

Navigating the key sidebar

Keys are grouped by their first namespace segment (before . or _). So settings.theme, settings.density, and settings.fontSize all live under a collapsible settings group.

  • ⌘F (or click the search input) — focus the sidebar search. Type to filter across all namespaces.
  • ↑ / ↓ — move between visible keys.
  • ⌘→ / ⌘← — next / previous key in the filtered list.
  • Nested / Flat toggle — segmented control under the search input switches between namespace-grouped and flat alphabetical views.
  • Click the filter icon (next to search) to open the filter popover — pick locale, toggle Issues-only, clear all.
Sidebar with an active keyword filter showing Showing N of M keys

When a filter is active, the sidebar shows chips of each filter and a "Showing N of M keys" count.

Editing a cell

Click a locale's value in the detail pane → an inline input appears. The same keyboard shortcuts apply as always:

KeyAction
EnterSave and move to the next locale
TabSave and move to the next locale
Shift+TabSave and move to the previous locale
EscapeCancel — restores the original value
⌘ZUndo changes in the current cell

Edits auto-save to the source file — no export step.

Reading the validation rail

Every locale row has a thin 2px colored rail on its left edge:

  • Mint — source / base locale.
  • Green — translated, clean.
  • Amber — warning (placeholder drift, approaching length budget).
  • Red — error (missing required placeholder, over length budget, ICU parse error).

Hover the rail for a tooltip with the first issue message. When you enter edit mode on a problematic cell, a loud inline badge also appears for explicit feedback. See the validation badges guide for what each code means.

Char-width preview

Each list-mode row has a mini bar showing current ch count vs. the budget. Over-budget bars turn red. Budget comes from the key's x-max-length metadata if set; otherwise a heuristic based on the base value's length. In Grid mode the bars live in a summary panel at the bottom of the detail pane so you can compare locales side by side.

Plural keys

If the key is a plural (has an @@plural marker or is already a plural map), the detail pane expands into one panel per locale with per-quantity rows (zero, one, few, many, other). Each quantity gets its own rail, char-width bar, and {} ICU editor button.

Plural key in the detail pane — per-locale panels with quantity rows

When a locale is missing a plural category that its CLDR rules require (e.g. few and many for Polish), the Add form: chips at the bottom highlight those categories in blue. Optional categories stay muted.

AI translate buttons

Each non-base locale cell has a button next to its value. Click it to translate that one cell via your configured AI provider. A spinner replaces the button while it runs; the result auto-saves.

For batch translation across many cells, open the command palette (⌘K) and pick Translate all missing with AI — see Translate all missing.

Keyboard shortcuts summary

ShortcutAction
⌘KOpen the command palette
⌘FFocus the sidebar search
⌘JToggle the Issues panel
⌘⇧IToggle Issues-only filter
⌘TTranslate the active key into every non-base locale
?Show the keyboard shortcuts cheatsheet
⌘,Open Settings
↑ / ↓ / ⌘→ / ⌘←Navigate between keys
Tab / Shift+Tab / Enter / EscapeEdit mode navigation

Every shortcut in this list can be rebound from Settings → Keybindings — see Customize keybindings.