Этап 0: документация и макеты

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
andreypr207andClaude Opus 5.5 committed 2026-10-21 03:30:38 +02:00
commit 3400f58a5a
75 files changed
+14283

No files matched your search

+20
View File
@@ -0,0 +1,20 @@
# D-006. Переводы: поля Payload и next-intl; 5 языков
Статус: принято, 20.10.2026.
## Решение
1. Языки: `en` (по умолчанию, без префикса в URL), `ru`, `de`, `fr`, `es`. Позже — `pt-br` и `ja`.
2. Контент — локализованные поля Payload (`localized: true`), откат на английский.
3. Интерфейс — next-intl, файлы `messages/*.json` в репозитории.
4. Язык всегда в URL (кроме английского). Список языков — в конфиге, у домена — включённые языки. Отдельной сущности «Языки» нет.
5. В админке Payload `filterAvailableLocales` скрывает языки, выключенные для сайта.
## Рассмотренные варианты
1. Языки как записи в базе — Payload задаёт локали в конфиге, сущность дублировала бы конфиг.
2. Интерфейсные строки тоже в Payload — нет версионирования и типизации, лишние запросы.
## Последствия
Новый язык — правка конфига, переводы и деплой.