DrupalでInternationalizationを使う際のemailの翻訳

Internationalizationモジュールでマルチリンガル対応にしたのは良いが、どうしてもUser e-mail settingsの、ユーザーに送られるメールの翻訳方法がわからなかった。

考え方としては、それらのメールもmultilingual variableにして、翻訳モジュールで訳すことになる。

sites//settings.phpを開く。

$conf['i18n_variables'] = array(
  'site_name',
  'site_slogan',
  'site_mission',
  'site_footer',
  'anonymous',
  'menu_primary_menu',
  'menu_secondary_menu',
  'contact_form_information',
);

みたいになっている部分を、

$conf['i18n_variables'] = array(
  'site_name',
  'site_slogan',
  'site_mission',
  'site_footer',
  'anonymous',
  'menu_primary_menu',
  'menu_secondary_menu',
  'contact_form_information',
  'user_mail_password_reset_body',
  'user_mail_password_reset_subject',
  'user_mail_register_admin_created_body',
  'user_mail_register_admin_created_subject',
  'user_mail_register_no_approval_required_body',
  'user_mail_register_no_approval_required_subject',
  'user_mail_register_pending_approval_body',
  'user_mail_register_pending_approval_subject',
  'user_mail_status_activated_body',
  'user_mail_status_activated_subject',
  'user_mail_status_blocked_body',
  'user_mail_status_blocked_subject',
  'user_mail_status_deleted_body',
  'user_mail_status_deleted_subject',
  'user_picture_guidelines',
  'user_registration_help',
  'user_location_google_key',
);

とすると、ここで示されたmultilingual variableは翻訳可能になる。あとは翻訳インターフェイスから「Thank you for」とか「Account detail」とかで検索すれば、このメールの本文や件名にアクセスできる。