Drupal: как установить язык темы программно? - PullRequest
2 голосов
/ 14 февраля 2010

Как я могу программно изменить язык по умолчанию на drupal где-нибудь в коде (например, template.php)? (Мне нужно переписать язык по умолчанию, установленный администратором в некоторых случаях.) я использую drupal 6.

PS: пожалуйста, прочитайте мой собственный ответ для более подробной информации. и если вы можете помочь решить это

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

Язык администрирования Модуль Drupal

Ответы [ 3 ]

3 голосов
/ 15 февраля 2010

PS наконец я сделал это в template.php так:

// get the list of availabel languages
$langs = language_list();
// now switch global $language back to 'en'
$vars['language'] = $langs['en'];

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

Если у кого-то есть лучшее решение для выполнения кода выше, где-то рядом с template.php, я буду благодарен.

3 голосов
/ 21 апреля 2012

В Drupal 7 вставьте следующее в template.php:

//Get the list of languages
$languages = language_list();

//Overwrite the global language object
global $language;
$language = $languages['en'];

Подробнее здесь

3 голосов
/ 14 февраля 2010

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

...