Этап 0: документация и макеты
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
commit
3400f58a5a
75 files changed
+14283
No files matched your search
@@ -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 — нет версионирования и типизации, лишние запросы.
|
||||
|
||||
## Последствия
|
||||
|
||||
Новый язык — правка конфига, переводы и деплой.
|
||||
Reference in new issue
Block a user