Как создать файл перевода для пользовательского модуля Drupal 7? - PullRequest
17 голосов
/ 08 марта 2011

Я использую CentOS 5.5 Linux (без X), PHP 5.3 и Drupal 7.0.

Основной язык моего сайта русский (не английский)!

Я создал game.info и следующий game.module , который генерирует 3 блока для главной страницы:

<code>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
\ n "); возвращаемый массив ('subject' =>t ('Основная игра'), '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 Ответ

22 голосов
/ 08 марта 2011

Это должны быть шаги:

  1. Чтобы создать файл .pot, установите модуль Извлечение шаблона перевода

  2. Перейдите на вкладку " Извлечение строк " в интерфейсе администрирования Locale, выберите свой модуль и отправьте форму. Вы получите один сгенерированный файл шаблона.

  3. Затем вы можете перевести строки с помощью инструмента, подобного Poedit (http://www.poedit.net).

  4. Когда вы закончите, файлы должны быть скопированы в подпапку «translations» в папке модуля, чтобы они автоматически импортировались Drupal при установке игрового модуля.

Пожалуйста, оставьте отзыв и расскажите, какие у вас были проблемы. Спасибо

...