---
paths:
  - frontend/src/app/**/*.{ts,tsx}
  - frontend/src/components/**/*.{ts,tsx}
---

# UI microcopy & export — GenDesign

> Часть набора `ui-*.md`. Tokens — `ui-tokens.md`, components/viz — `ui-conventions.md`.

## Microcopy

- Русский. Типографика: `₽ / м²` (пробелы), `п.п.` (не «pp»), `м²` (не «м2»), `≥` `≤` `±` (Unicode, не `>=`).
- Числа: `toLocaleString("ru")` для тысяч (`6 832 540`, не `6,832,540`).
- Деньги: `2.4 млрд ₽` для крупных, `145 320 ₽` для точных. Round по контексту.
- **Никаких** «Yay!» / «Ой!» / «Готово 🎉». Neutral business: «Расчёт обновлён», «Данные за период недоступны».
- Caveat — полным предложением, не аббревиатурой: «Рекомендация основана на городском распределении сделок» — OK.

## Запреты (microcopy)

- ❌ Microcopy «Yay!» / emoji в success-state
- ❌ Англицизмы без перевода (например "Submit" в кнопке вместо «Подтвердить»)
- ❌ Сокращения без расшифровки на первой странице (ИЖК → расшифровать в caveat)

## Export-кнопка (dataflat lesson)

- На каждой Section с табличными данными — кнопка `Export CSV` / `Export Excel` в `Section.right`.
- Endpoint backend должен отдать CSV с UTF-8 BOM (Excel-friendly), `Content-Disposition: attachment; filename=...`.
- Имя файла: `gendesign_<page>_<scope>_<YYYY-MM-DD>.csv`.
