Локализация через статический файл (5.0)

jason32's picture

Итак, проснулся я в хорошем настроении и решил наконец-то облегчить жизнь тем людям, которых раздражает кол-во запросов к базе у Друпала 5 при переводе. Для Друпал 4.7 я уже такое делал, пришла очередь пятого. Итак, без патча к сожалению не обошлось, можно и не надеяться.
файл includes/common.inc

<?php
function t($string$args 0) {
  global 
$locale;
  
//////////////////////////////////////////////////////////////
if (function_exists('locale_static') && $locale != 'en') {
    
$string locale_static($string);
  }
  else
///////////////////////////////////////////////////////////////
  
if (function_exists('locale') && $locale != 'en') {
    
$string locale($string);
  }
  if (!
$args) {
    return 
$string;
  }
  else {
    
// Transform arguments before inserting them
    
foreach ($args as $key => $value) {
      switch (
$key[0]) {
        
// Escaped only
        
case '@':
          
$args[$key] = check_plain($value);
        break;
        
// Escaped and placeholder
        
case '%':
        default:
          
$args[$key] = theme('placeholder'$value);
          break;
        
// Pass-through
        
case '!':
      }
    }
    return 
strtr($string$args);
  }
}
?>

Добавлены строчки, которые между вот такими полосками - ///////////////////////////////////////////////////////////////.
C патчами закончили. Приаатачиваю МОДУЛЬ, никаких теперь левых конвертеров :)
PS Как вы понимаете, модуль сырой и не особенно тестированный, так что просьба сбрасывать сюда вопросы и найденные баги и фичи.

AttachmentSize
locale_static-5.x-1.1-dev.tgz2.46 KB