21 lines
1.6 KiB
Markdown
21 lines
1.6 KiB
Markdown
# D-023. Языки сайта
|
||||
|
|
|
|||
|
|
Статус: принято, 21.10.2026. Уточняет [D-006](D-006-localization.md), пункты 4 и 5.
|
|||
|
|
|
|||
|
|
## Контекст
|
|||
|
|
|
|||
|
|
В модели данных языки были только у доменов. Но языки контента — свойство сайта: домен может показывать хоть один язык, а контент сайта нужен на всех его языках.
|
|||
|
|
|
|||
|
|
## Решение
|
|||
|
|
|
|||
|
|
1. У сайта поле `locales` — языки контента. По умолчанию все языки конфига. Английский обязателен: на него откатывается непереведённый контент.
|
|||
|
|
2. Языки домена — часть языков сайта. Язык нельзя убрать у сайта, пока он включён на каком-то домене сайта.
|
|||
|
|
3. `filterAvailableLocales` показывает в админке языки сайта, выбранного в переключателе; без выбранного сайта — все языки.
|
|||
|
|
|
|||
|
|
## Рассмотренные варианты
|
|||
|
|
|
|||
|
|
Языки сайта как объединение языков его доменов — без отдельного поля, но тогда контент на языке существует, только пока язык включён на домене.
|
|||
|
|
|
|||
|
|
## Последствия
|
|||
|
|
|
|||
|
|
Когда появятся pt-br и ja, их можно включить одному бренду: редакторы второго не увидят пустых языков.
|