Transtale interface - t() функция не видит строки

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

Аватар пользователя rgba rgba 22 ноября 2012 в 11:52

добрый день, товарищи! Жду помощи.
Написал модуль формы простенький код можно посмотреть тут- http://www.drupal.ru/node/91392
Translate Interface ни в какую не видит t() функции.
Кэш чистил модуль врубал-вырубал удалял ставил, ничего не помогает, как быть?
Не прописывать же язык снипетами)

Комментарии

Аватар пользователя Orion76 Orion76 22 ноября 2012 в 12:33

Каккой смысл проверять наличие значений в функции валидации, если эти элементы и так '#required' => TRUE ?
Условия в функции валидации не "срабатывают", следовательно функция t() не отрабатывает.

Аватар пользователя Orion76 Orion76 22 ноября 2012 в 22:51

Простейший способ "отловить" ошибку, пройтись при помощи отладчика по коду..
Я для подобного пользуюсь Netbeans + xdebug: бесплатно, кроссплатформенно, хорошо продокументировано(гугл об это знает практически все)..

Аватар пользователя graker graker 22 ноября 2012 в 23:13

Есть мнение, не надо вместо placeholder юзать default_value.

Надписи в англ. варианте появились хоть раз? Не находит их стандартный интерфейс поиска, или l10n_client?

Аватар пользователя rgba rgba 23 ноября 2012 в 10:54

надписи появлялись много раз, не находит стандартный интерфейс, i10n_client не юзал.

на счёт placeholder - у кнопки SEND value прописанно, тоже не видит)

кстати как в FormsAPI прописать placeholder. там вроде бы такова атрибута не прудусмотренно

Аватар пользователя graker graker 23 ноября 2012 в 11:52

rgba wrote:
на счёт placeholder - у кнопки SEND value прописанно, тоже не видит)

Это очень странно, возможно надо шире смотреть, в контексте генерации формы. Ни разу не сталкивался.

Quote:
кстати как в FormsAPI прописать placeholder. там вроде бы такова атрибута не прудусмотренно

Через #attributes.

Аватар пользователя rgba rgba 23 ноября 2012 в 11:45

Приделал пока что такой костыль))) а то горит уже закончить проект, надеюсь со временем строки подцепятся и уберу этот огород...
На прошлом проекте тож самое было потом вдруг внезапно строчки появились.
Надеюсь проблемы с кодировкой нигде не вылезут.

<?php   
global $user$language

   

$bugname "";
   
$bugemail "";
   
$bugsend "";
   if (
$language->language == "en") {
       
$bugname t('Your name');
       
$bugsend t('SEND');
   }    

if (

$language->language == "ru") {
      
$bugname "Ваше имя";
      
$bugsend "ОТПРАВИТЬ"
    }

   

$form['name'] = array(
         
'#type' => 'textfield',
         
'#default_value' => $bugname,
         
'#maxlength' => 255,
         
'#required' => TRUE,
   );
?>
Аватар пользователя rgba rgba 23 ноября 2012 в 12:03

вот так форма выводится аяксом

<?phpfunction myfeedback_menu() {
    $items = array();
    $items['ajax_link_callback'] = array(
        'page callback' => 'ajax_link_response',
        'access callback' => 'user_access',
        'access arguments' => array('access content'),
        'type' => MENU_CALLBACK,
    );

    return $items;
}

function ajax_link_response($type = 'ajax') {
   global $language; 

   $bugwrite = "";
   if ($language->language == "en") {
       $bugwrite = t('WRITE US A LETTER');
   }    
   if ($language->language == "ru") {
       $bugwrite = "НАПИШИТЕ НАМ ПИСЬМО"; 
    }

    $form = drupal_get_form('myfeedback_form');
    if ($type == 'ajax') {
        $output = drupal_render($form);
        $commands = array();
        $commands[] = ajax_command_append('.region-feedback', $output);
        $commands[] = ajax_command_prepend('#myfeedback-form', '<div class="write">' .$bugwrite. '</div>');
        $commands[] = myfeedback_ajax_command_feedbackShow();
        $page = array('#type' => 'ajax', '#commands' => $commands);
        ajax_deliver($page);
    }
    else {
        return $form;
    }
}
?>