Уважаемые посетители портала Kamensk.NET! Напоминаем вам, что будучи зарегистрированным пользователем вы получаете возможность оставлять комментарии к новостям на сайте и к топикам на форуме, иметь доступ к скрытым разделам и много других благ и привелегий. Пожалуйста заполните регистрационную форму, это отнимет у вас всего лишь несколько минут вашего времени.
Есть варианты увеличить производительность движка.
За счёт уменьшения количества запросов к БД за переводами интерфейса.
Реальных вариантов два:
1. Использование прекомпилированных переводов. Все шаблоны переводов представляют собой обычные gettext po-файлы. Используя прекомпилированные переводы можно избавится от лишних запросов к БД. Необходимо патчить всё и сразу. После установки нового модуля необходимо будет скомпилировать перевод на сервере. То есть одной админкой не обойтись. К тому же модуль Translate Interface и Locale будет уже не нужен. Axel (админ Drupal.ru, признался в личке как-то, что делал такое для пятёрки, но не уточнил почему идея не прижилась).
2. Использование вместо БД для хранения переводов include-файлы. Вариант исполнения можно посмотреть на http://deluxebb.com. Я как-то юзал этот форумный движок на rtklinux (ещё орг), очень был доволен его производительностью (в среднем движок генерирует 10-12 запросов на страницу), в чём можно убедится. Зато переписывать модули можно постепенно.
Фактически это грозит тем, что каждый модуль придётся переписывать. В обоих случаях придётся форкать Drupal. В одну каску я форк не потяну.
Я сейчас делаю тему для Drupal'a, можно будет попробовать её переводы оформить в виде include.
У друпалеров разработчиков с гулькин х.. вост. После того, как Дрис зарегил фирму и начал развивать Aquila Drupal они как-то резко охладели к core-проекту. 
Так что, вытянем форк? 
ну тогда я за 
У друпалеров разработчиков с гулькин х.. вост. После того, как Дрис зарегил фирму и начал развивать Aquila Drupal они как-то резко охладели к core-проекту. 
Так что, вытянем форк? 
Зачем форк? Может разработчик друпала захотят включить ваш код в свой проект 
Напишу чтобы не забыть.
Есть еще идея сделать кэширование для каждого комментария.
Если в mysql 5 есть триггеры то можно сделать так чтобы при обновлении/удалении комментария, соотв. кэш бы автоматически удалялся.
Все шаблоны переводов представляют собой обычные gettext po-файлы. Используя прекомпилированные переводы можно избавится от лишних запросов к БД.
Чего то не пойму, для чего нужно шаблоны откомпилить? Насколько я знаю, они используются только один раз при загрузке перевода в базу.
Фактически это грозит тем, что каждый модуль придётся переписывать. В обоих случаях придётся форкать Drupal.
Зачем? Все переводы осуществляются с помощью t(). Не проще ли просто переписать эту функцию?
Тоже когда то думал на этим вопросов. Имхо, самый простой вариант сделать парсер кода.
Тупо заменить все вызовы t() на echo. Там где используется множественное число, подставлять собственную функцию либо оставлять t().
Такой подход, позволит сохранить совместимость с оригинальным друпалом. При обновлении достаточно просто обработать парсером все новые файлы и все. Аналогичная ситуация с новыми модулями и темами.
Фактически нужна просто небольшая консольная программулька.
За основу можно взять potx
Кол-во запросов к таблице переводов действительно огромное.
Я еще код не смотрел, я правильно понял - там везде прописано что-то типа
t("English phrase here")
?
Ne01eX, насколько я понял, предложил вынести все фразы в константы как это сделано в joomla, то есть вместо
echo t("English phrase here");
будет
echo ENGLISH_PHRASE_HERE;
а сами константы все будут определены в одном подключаемом файле...
То есть, можно тем же парсером автоматически нагенерировать все константы, и заменить t() на вывод этих констант...
А зачем использовать константы? Почему нельзя сразу выводить русский текст?
echo t("English phrase here");
echo 'Русский текст здесь';
Везде же так сделано 
Чисто для удобства, если в дальнейшем понадобится изменить текст.
Например некоторые модули ещё не переведены на русский, а так все будет в одном месте.
Хотя когда я модифицировал для себя модули joomla и вордпресс, я тоже не заморачивался с константами и указывал все прямым текстом.
>Чисто для удобства, если в дальнейшем понадобится изменить текст.
Думаю все таки не для того что бы изменить текст, а для того чтобы перевести на другой язык.
> предложил вынести все фразы в константы
Это все можно сделать стандартными средствами drupal
в settings.php есть массив
/**
* String overrides:
*
* To override specific strings on your site with or without enabling locale
* module, add an entry to this list. This functionality allows you to change
* a small number of your site's default English language interface strings.
*
* Remove the leading hash signs to enable.
*/
# $conf['locale_custom_strings_en'] = array(
# 'forum' => 'Discussion board',
# '@count min' => '@count minutes',
# );
Если оперативки достаточно можно вынести все в этот массив. И отключить locale.



А насколько скоро выйдет релиз Друпал-7?
Если скоро обновляться, не будет ли этот труд бесполезным?