Перевести сайт PHP через БД или локальные файлы? - PullRequest
1 голос
/ 08 декабря 2011

У меня есть сайт, управляемый php db, который использует много flash для взаимодействия с пользователем. Мне нужно сделать его мультиязычным, как 20+ языков. Сайт довольно большой, и на него ежедневно приходят пользователи.

Другой разработчик, с которым я работаю, говорит, что мы должны хранить перевод в локальных файлах, например. /lang/english.php /lang/german.php и т. д.

Я думал, что поскольку база данных находится на одном и том же выделенном сервере, замедления не должно быть, как, по-вашему, будет работать быстрее?

Ответы [ 2 ]

0 голосов
/ 08 декабря 2011

Я не знаю, если это вариант, но вы также можете использовать gettext().

Таким образом, ваши переводы хранятся в локальных файлах (быстрее, чем в базе данных), и у вас есть преимущество в том, что есть программы типа poedit (требующие некоторого привыкания ...), которые вы или переводчик можно использовать для автоматической генерации файлов перевода, так что немного легче поддерживать файлы php.

0 голосов
/ 08 декабря 2011

Локальные файлы НАМНОГО быстрее, чем содержимое БД (хотя вы можете сохранить выходные данные БД в локальном кэше, например, в файлах или даже в memcache или APC), их, вероятно, не так просто перевести, но это поможет вам с базовой скоростью реализации тоже, вы должны взглянуть на:

http://framework.zend.com/manual/en/zend.translate.html

Вы можете использовать только эту часть фреймворка, и это даст ОГРОМНЫЙ импульс, она поддерживает перевод на основе БД или локальные файлы (много адаптеров)

UPDATE: спасибо Корбин, ты прав, лучше иметь прямую ссылку.

...