Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 21.04.2018 15:54:35

Методы реализации многоязычности.

Привет!
Мне надо сделать 3 языка.
До этого делал, реализовывал на самописном сайте:
- Хранение локали в куках.
- К каждому запросу добавлял префикс столбца.


Хотел спросить, как эффективней использовать словари с учетом хранения данных в БД.
Вообще использовать его или нет? Кроме реализации хранения значения локали ничего полезного.
Кто использует словари, а кто запрашивает из БД уже готовые данные или делает 1 файл и генерирует его?

Изменено p00 (21.04.2018 15:54:59)

Не в сети

#2 21.04.2018 16:17:45

Re: Методы реализации многоязычности.

Когда речь идет о многоязычности интерфейса — менюшек и т.п., то я бы использовал gettext и его разновидности. То есть в шаблоне/базе/где угодно у тебя только один вариант меню - на основном языке. Переводы фраз хранятся отдельно.
Заворачиваешь вывод надписи в функцию локализации и, пока перевод отстутствует, получаешь на выходе текст "как есть". Если перевод есть, он подставится вместо оригинала.

Другое дело многоязычность контента: чисто технически какдый вариант перевода статьи это отдельная статья, со своим уникальным URL. А значит и отдельной записью в таблице статей. Было бы ошибкой по одному адресу выводить то русскую статью, то английскую.

Ни в том ни в другой подзадаче тебе незачем усложнять таблицы какими-то префиксами.

Изменено artoodetoo (21.04.2018 16:28:08)


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#3 21.04.2018 16:18:50

Re: Методы реализации многоязычности.


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

Подвал раздела