Оптимизация переводов

Главные вкладки

Аватар пользователя andypost@drupal.org andypost@drupal.org 8 декабря 2008 в 9:27

Обратил внимание на странице отличий 7й версии от 6й - Описания схем данных более не будет переводиться.

Вполне ожидаемый шаг, так как кроме модуля [module=schema] они нигде не используются, а очень серьезно влияют на количество строк подлежищих переводу.

В примечании это дело решено портировать и в 6ю версию. Многие сокрушаются о потраченном времени, но не стоит забывать и о быстродействии!

по умолчанию drupal кеширует все стороки длиной до 70-ти символов, в число которых попадает очень много строк из неиспользуемой схемы.

Таким образом можно немного сократить объем потребляемой памяти на запрос и снизить общую нагрузку (меньший объем данных приходится гонять serialize\unserialize)

Комментарии

Аватар пользователя Valeratal Valeratal 8 декабря 2008 в 9:56

мм, а будет ли добавлено это в 6.7
или только патч, который каждый раз переустанавливать

P.S. Там куча камментов, какой вариант патча работает - не понятно

Аватар пользователя andypost@drupal.org andypost@drupal.org 8 декабря 2008 в 11:29

2 Valeratal

Вообще-то для 6ки еще патча нет, нужно просто по всем .install файлам пройтись и вычистить оттуда t() для hook_schema, причем для всех модулей ядра. В 6.7 оно может появиться:
- если кто-то такое сдалет еще ввиде патча для cvs 6ки
- это дело протестируют несколько человек
- 6.7 к этому времени не успеет выйти

Так что у кого есть силы и время - начинайте!

Аватар пользователя andypost@drupal.org andypost@drupal.org 7 января 2009 в 1:20

Теперь 6-dev версия и все последущие, начиная с 6.9, перестанут добавлять описание поелй схемы данных к перевода строк! Изменили документацию http://drupal.org/node/322731

One notable case in installer code is hook_schema(), which runs at
install time, but Drupal core (up until Drupal 6.9) and contributed
modules alike used t() for descriptions of tables and fields. The reason
for that is that the Drupal installer itself does not use these strings,
so it is not bothered with it not being translated while used in the
installer. The contributed schema module uses these strings to help you
understand the database structure. Drupal 7 changed this practice to not
use t() at all in schema descriptions for various reasons (see
http://drupal.org/node/332123 for more information). Therefore to
save translators from pouring work into something they will entirely
loose later (and help website performance as well as other good
reasons), Drupal 6.9 does not use t() on these strings anymore. You
should include schema strings as verbatim strings without wrapping them
in localization code.