Скажите, как ЛУЧШЕ, каким способом реализовать мультиязычный сайт на PHP?
Полазив по просторам интернета я могу подчеркнуть 3 способа:
gettext
.В моем проекте Сайт-визитка я думаю лучше использовать комбинированный подход, используя БД и JSON, потому что если добавлять новую информацию(например через админ панель), то можно без особых трудов обновить информацию, как в БД так и в JSON. Однако я считаю, что данный подход не совсем корректный.
Если посмотреть в сторону утилиты gettext
, то можно сказать, что это идеальный подход для реализации мультиязычности. Все красиво и понятно разбито на папки с определенным языком, в каждой этой папке есть .po и .mo файлы в которых есть msgid
и msgstr
, однако есть проблемы с освоением этой технологии. На сегодняшний(на 3 день изучения gettext) у меня наконец то удалось создать успешно тестовый проект с Хелло Ворлд и то он работает в корне не так как пишется в блогах, инструкциях и т.д. Плюс я понятия не имею как можно с админ панели обновлять файлы .po и .mo, поскольку для создания .mo файла нужно откомпилировать .po файл....
Файлы .po
и .mo
используются, например, в вордпрессе по факту, то есть перевод темы, по сути. И да, для создания .mo
используются специальные утилиты, а также библиотеки для языков. Например, если погуглить, то можно найти нечто подобное - https://github.com/bigwhoop/potomoco (не юзал, не знаю).
Однако учтите, что конвертировать каждый чих пользователя может обойтись вам дорого. В Yii, например, раньше использовали перевод на файлах текстовых (сейчас не знаю), но опять таки, только той инфы, которая не меняется ДИНАМИЧЕСКИ, через админку.
Итог: Используйте БД, gettext создавался для перевода программ, где всего-то нужно перевести пару строк текста, а не целые тома "Войны и Мира".
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подключил Apache, MySQL в XAMPP - всё отлично