Drupal 6.4 の簡単なモジュールの作り方を紹介します。Drupal 5.x とは様々な変更箇所があるので注意してください。Drupal のインストールディレクトリ(例:drupal-6.4)の下に、下記のディレクトリとファイルを作成していきます。
□drupal-6.4 └□site └□all └□modules └□test ├◇test.info ├◇test.module └□transrations └◇module-test.ja.po
test.info ファイルの内容を次のようにします。詳細は http://drupal.org/node/206756 を参照してください。
name = Test description = Test module package = Test - optional version = VERSION core = 6.x
test.module ファイルの内容を次のようにします。意図しない空白が出力されるのを防ぐため、ファイルの最後の ?> は省略するのが流儀だそうです。詳細は「Drupalコーディング規約」(http://drupal-jp.sourceforge.jp/main/node/67)に従ってください。t(...) で囲んだ文字列は翻訳対象になります。
<?php function test_menu() { $item['test'] = array( 'title' => 'TEST', 'page callback' => 'test_main', 'access arguments' => array('access content'), ); return $item; } function test_main() { return '<p>' . t('Hello World') . '</p>'; }
module-test.ja.po ファイルの内容を次のようにします。翻訳情報はキャッシュされるため、.po ファイルを書き換えた場合、[管理セクション]→[サイトの構築]→[インターフェイスの翻訳]→[インポート] で、モードを [既存文字列の置換と新規文字列の追加] にしてインポートしないとうまく反映できないことがあります。
msgid "" msgstr "" "POT-Creation-Date: 2008-09-20 22:52+0900\n" "Last-Translator: Yamada Taro <taro-yamada@example.com>\n" "Language-Team: Yamada\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" msgid "Hello World" msgstr "ハローワールド"
[管理セクション]→[サイトの構築]→[モジュール] で新しく作成した Test モジュールにチェックをつけて保存すると、左ナビゲーションメニューに TEST というメニューが表示されます。これをクリックして「ハローワールド」と表示されれば成功です。