Как создать файл перевода для настраиваемого модуля Drupal 7?
Я использую CentOS 5.5 Linux (без X), PHP 5.3 и Drupal 7.0.
Основной язык моего сайта - русский (не английский)!
Я создал game.info и следующий game.module, который генерирует 3 блока для первой страницы:
function game_block_info() {
return array(
'game_main' => array(
'info' => t('Set FlashVars and show the flash game.'),
'cache' => DRUPAL_NO_CACHE,
),
'game_winner' => array(
'info' => t('Show the winner of the last week.'),
'cache' => DRUPAL_NO_CACHE,
),
'game_leader' => array(
'info' => t('Show the leader of the current week.'),
'cache' => DRUPAL_NO_CACHE,
);
}
function game_block_view($block_name = '') {
global $user;
if ($block_name == 'game_main') {
if (user_is_logged_in()) {
$content = t('User is logged in.');
} else {
$content = t('User is an anonymous user.');
}
drupal_set_message("<pre>$output</pre>\n");
return array(
'subject' => t('Main Game'),
'content' => $content,
);
} else if ($block_name == 'game_winner') {
....
} else if ($block_name == 'game_leader') {
....
}
}
Он работает нормально, но мне нужно, чтобы все строки были на русском языке и не хотели их жестко закодировать в файл game.module.
Нужно ли мне создать третий файл с именем game.po и добавить его в game.info?
Как создать файл .po? Я бы предпочел простое редактирование этого файла, если это возможно, без неясных инструментов.
Я также попробовал инструмент:
# xgettext -n game/game.module --keyword=t
xgettext: warning: file `game/game.module' extension `module' is unknown; will try C
game/game.module:87: warning: unterminated character constant
game/game.module:100: warning: unterminated character constant
Ответы
Ответ 1
Это должны быть следующие шаги:
-
Чтобы создать файл .pot, установите модуль Извлечение шаблона перевода
-
Перейдите на вкладку "Извлечь строки" в интерфейсе администрирования Locale, выберите свой модуль и отправьте форму. Вы получите один файл шаблона.
-
Затем вы можете перевести строки с помощью инструмента, такого как Poedit (http://www.poedit.net).
-
Когда вы закончите, файлы должны быть скопированы в подпапку "translations" в папке модуля, поэтому они будут автоматически импортированы Drupal при установке вашего игрового модуля.
Пожалуйста, дайте отзывы и сообщите, какие у вас проблемы. Спасибо