Files

20 lines
1.3 KiB
Markdown
Raw Permalink Normal View History

# 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 — нет версионирования и типизации, лишние запросы.
## Последствия
Новый язык — правка конфига, переводы и деплой.