velxio/frontend/src/components
David Montero Crespo aae3ab1c5c feat(i18n): translate small editor remates + admin internals (Blocks 11+12)
Block 11 — small editor surfaces
- PinPickerDialog: close, filter pins, no-match, rotate / delete
  action buttons.
- RaspberryPiWorkspace: connection status (Connected / Starting…
  / Offline), Start Pi button + tooltip, Connect / Disconnect
  buttons + tooltips, Terminal tab label, file-tab close, the
  full offline overlay (title / subtitle / start CTA / two-line
  note about the staging area), terminal-loading + no-file-
  selected fallbacks.
- GitHubStarBanner: aria-label, title, body copy, Star CTA,
  dismiss button.
- ExampleLoaderPage: "Loading example…" status, "Example {{id}}
  not found." 404 line, "Browse all examples" recovery link.
  /editor and /examples links wrapped in localize().

Block 12 — admin-only internals (only admins ever see these)
- AdminBoardsTab: section headings ("By board family" / "By
  exact FQBN"), full table column headers (Family / FQBN /
  Compiles / Errors / Success rate / Runs / Distinct users /
  Distinct projects), range selector label, no-data fallback,
  load-failed error.
- AdminDashboardTab: 8 KPI cards (Total users / Total projects
  / Compiles / Runs / DAU / WAU / MAU / Public-Private), all
  chart titles + subtitles (Activity over time, Compiles by
  board family, Board diversity for pricing signal, Top FQBNs,
  Top countries with Cloudflare disclaimer, Top users / Top
  projects), table column headers, no-data fallbacks, load
  errors. Pluralised "{{count}} board(s)" via i18next plurals
  in the diversity pie chart.
- UserActivityModal: title with username interpolation, subtitle,
  range selector label, table column headers (Date / Project /
  Compiles / Errors / Runs / Saves), pluralised
  "{{count}} project(s)" line, deleted-project / no-project
  placeholder strings, no-activity empty state, load-failed.

All 8 non-English locales auto-translated via the
`scripts/translate-i18n.mjs` DeepSeek pipeline (one --force run,
~7 min). sameShape() validation passed on every output.
2026-05-09 16:22:16 -03:00
..
admin feat(i18n): translate small editor remates + admin internals (Blocks 11+12) 2026-05-09 16:22:16 -03:00
analog-ui refactor: rename components and update prefixes to 'velxio-' for consistency 2026-04-21 16:45:45 -03:00
components-instruments refactor: rename components and update prefixes to 'velxio-' for consistency 2026-04-21 16:45:45 -03:00
customChips feat(editor): translate Oscilloscope + property dialog + selection bar + console + custom chips + sensor + board picker (Editor block 9) 2026-05-09 12:25:30 -03:00
editor feat(editor): translate Oscilloscope + property dialog + selection bar + console + custom chips + sensor + board picker (Editor block 9) 2026-05-09 12:25:30 -03:00
examples feat(examples): translate ExamplesPage + ExamplesGallery to 9 locales 2026-05-09 11:24:53 -03:00
layout feat(i18n): translate small editor remates + admin internals (Blocks 11+12) 2026-05-09 16:22:16 -03:00
raspberry-pi feat(i18n): translate small editor remates + admin internals (Blocks 11+12) 2026-05-09 16:22:16 -03:00
simulator feat(i18n): translate small editor remates + admin internals (Blocks 11+12) 2026-05-09 16:22:16 -03:00
ui feat(design): tokens, webfonts, Lucide icons, board PNG/WebP picture strip 2026-05-07 20:45:44 +02:00
velxio-components feat(components): swap BMP280 + ATtiny85 to fritzing art 2026-05-08 23:06:44 -03:00
ComponentPickerModal.css refactor: rename components and update prefixes to 'velxio-' for consistency 2026-04-21 16:45:45 -03:00
ComponentPickerModal.tsx feat(editor): translate ComponentPicker + LibraryManager modals (Editor block 7) 2026-05-09 11:29:07 -03:00
DynamicComponent.tsx refactor: rename components and update prefixes to 'velxio-' for consistency 2026-04-21 16:45:45 -03:00