Files
2026-10-21 03:30:38 +02:00

1.3 KiB
Raw Permalink Blame 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 — нет версионирования и типизации, лишние запросы.

Последствия

Новый язык — правка конфига, переводы и деплой.