@qwwdxasds

Где лучше хранить переводы в мультиязычном сайте?

У нас есть мультиязычный сайт, написанный на laravel+reactjs. Сейчас переводы у нас хранятся в json файлах в формате: ключ:значение и подставляются по ключу. Далее данные из этого файла мы будем отображать в админ панель, чтобы копирайтер мог редактировать переводы. Подскажите, правильно ли хранить наши переводы в json файле или может лучше для этого использовать базу данных или какое-то еще решение?
  • Вопрос задан
  • 252 просмотра
Пригласить эксперта
Ответы на вопрос 3
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Для лары есть пакеты с переводами уже готовые, если их функционал подходит, не вижу смысла строить свой велосипед.
Если же нужно очень кастомное решение с администрированием на уровне админки, то бд будет более качественным решением, так как работа с поиском и сортировкой это больше про РБД, нежели про файлы.
Ответ написан
Комментировать
@negr_vitalya
Я скелет - негр виталя
Лучше хранить переводы на различные языки на стороне пользователя(в json-объектах, на js), а вместе с ними функции для определения и смены языка. В то время, как хранение переводов на серверной части, а вместе с этим перевод этих самых страниц на другие языки, и тем более используя базу данных может нести за собой излишнее количество потребляемых системных ресурсов(особенно, если речь идёт о сайтах с миллионами пользователей), которое можно было избежать, перенеся фуекцию перевода на клиентскую часть(и тем самым, кстати, в теории экономить на сервере).
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
В ларе есть специальный хелпер для локализации __()
https://laravel.com/docs/10.x/localization

Такой-же, кстати, в вордпрессе. Внутрянка немного различается, но применение практически одинаковое.

В большом оперсорсном софте делают вот так. Но вы можете делать и свои велосипеды с json'ами-массивами, особенно если уверены, что объемы локализации небольшие, и вам не понадобится для них привлекать сторонних исполнителей, писать тесты, и прочие энтерпрайзные штуки. Ну просто для готовых решений уже тонны сопутствующего софта написаны, а для велосипедов придется их тоже велосипедить. Ну или не придется, если приложение мелкое или с коротким жизненным циклом.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы