В Laravel проекте, есть страницы с множеством html тегов как лучше всего сделать перевод?
Есть способы lang файлы, ru.json файл и includes что выбрать, есть ли другие способы в таких случаях может плагин или database ?
текста много вперемешку с html-ом․
Ответы (1 шт):
Наиболее оптимальная стратегия локализации проекта - это комбинация методов.
Cтатические тексты (интерфейс, разметка) - тут лучше всего использовать lang файлы, т.к. этих файлов может быть много с самыми разными контекстами (например lang/en/auth.php, lang/en/validation.php).
Различные ошибки или внешние файлы (в vendor) - удобно использовать lang/[locale].json файлы, но здесь важен базовый язык проекта, как правило - это английский. Некоторые ошибки и темплейты из коробки laravel используют __() хэлпер, как раз json файлы позволяют это локализовать.
А вот динамический контент, который задается в админке сайта (записи, контент страницы и т.п.) - однозначно переводы хранятся в БД. Причем тут в зависимости от проекта можно хранить переводы в json полях, где ключи будут локалями, либо в отдельной таблице с morph связью