ThunderCat, возможно я вас не так понял.
Сам принцип множества словарей удобен. Можно группировать переводы по каким-то критериям. Соглашусь, что группировка по модулям не очень хороший выбор.
Опять же, если говорить о ларавел, то там ключ уникален в пределах файла, а в приложении вызывается с префиксом имени файла. __('common.simple') __('medical.simple'). Не нужно выдумывать ключи simple1, simple_for_med и т.п.
Ипатьев, да нет. поначалу потыкаться можно. пописать всякое убожество. А потом освоить что-то проверенное. Сам так делал лет десять назад. Но если бы мне тогда показали верное направление, было бы лучше.
ThunderCat, Зря иронизируете )
В ларавел такой же подход – словари можно разбивать на разные файлы.
И вот прямо сейчас у меня в разных контекстах слово simple переводится по разному: Простой и Легкая форма
А там, где нужно сделать другой хедер, переназначить его, как я показал выше.
Можно описать шапку прямо в лейауте.
Если хедер слишком большой, и хочется визуально облегчить шаблон лейаута - вынесите его в отдельный файл и подключите инклудом (@include('partials.header'))
Juniorrrrr, По сути все остается так же. По любому урлу всегда отдается готовая html страница.
Нюанс в том как она формируется.
SPA приложухи делятся на два по сути на отдельных проекта – бэкэнд и фронтэнд. Бэк работает в роли апишки и по определенному заданному роуту всегда отдает фронту чистые данные, обычно в json формате. Такие роуты обычно начинаются с префикса /api/.
Для формирования html используется механизм, называемый SSR (server side render). Это когда js приложение запускается в серверной среде (nodejs или php v8js), выполняется, и отдает готовый html.
Для этого запускаются два сервера (программных) и разделяют запросы. Те что поступают на обычные урлы - отправляются на nodejs сервер для генерации html – это первый заход на сайт. А урлы с префиксом /api/ перенаправляются на php часть приложения, которая отдает чистые данные для фронта.
Как-то так. Погуглите, для уточнения деталей.
Бекэнд можно писать вообще на чём угодно.