docs: address i18n spec review

Issue: #62
User-Visible: no
This commit is contained in:
Matysh
2026-08-28 02:32:48 +03:00
parent 60f41a53af
commit 0a203649fc
+8 -2
View File
@@ -193,6 +193,11 @@ Schema и persisted config не меняются. Миграции нет.
сопровождаться по действующим правилам проекта;
- RTL — отдельная продуктовая задача.
Существующая строка в `Ground rules` про «one JSON file + registering it in
`src/i18n.ts`» не остаётся рядом вторым контрактом: она заменяется ссылкой на
новый раздел и формулировкой про frontend/backend JSON и
`src/i18n/registry.ts`.
Докстрока `src/i18n.ts` приводится в соответствие реальному flow.
## 10. Acceptance criteria и доказательства
@@ -201,6 +206,7 @@ Schema и persisted config не меняются. Миграции нет.
registry. **Доказательство:** typecheck + unit на registry/options.
- **AC2.** Exact tag, primary subtag, `_`/case normalization, explicit config,
invalid explicit config и English fallback покрыты матрицей unit-тестов.
**Доказательство:** unit-тест pure resolver.
- **AC3.** Frontend locale file set, backend locale file set и registry взаимно
однозначны. **Доказательство:** i18n file-set unit test.
- **AC4.** Каждый зарегистрированный словарь автоматически проходит key,
@@ -208,7 +214,7 @@ Schema и persisted config не меняются. Миграции нет.
`test/i18n.test.mjs`.
- **AC5.** Selector имеет порядок Auto/English/Русский и строит registered
options без ручного списка `en`/`ru`. **Доказательство:** unit на pure options
helper и inspection compiled schema.
helper и source diff `src/editor.ts` без ручного списка локалей.
- **AC6.** Неизвестный сохранённый язык не ломает card/editor, использует Auto
fallback и не затирается изменением другого editor field. **Доказательство:**
unit для resolver/options/form normalization.
@@ -216,7 +222,7 @@ Schema и persisted config не меняются. Миграции нет.
**Доказательство:** git diff словарей + существующие unit/build gates.
- **AC8.** В production bundle нет locale fetch, dynamic import, Promise-based
translation path или нового первого пустого кадра. **Доказательство:** static
registry implementation + production build inspection.
registry source diff + успешный production build.
- **AC9.** CONTRIBUTING и комментарии описывают фактический contribution flow и
plural limitation. **Доказательство:** documentation diff.