DrupalでInternationalizationを使う際のemailの翻訳
Internationalizationモジュールでマルチリンガル対応にしたのは良いが、どうしてもUser e-mail settingsの、ユーザーに送られるメールの翻訳方法がわからなかった。
考え方としては、それらのメールもmultilingual variableにして、翻訳モジュールで訳すことになる。
sites/
$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」とかで検索すれば、このメールの本文や件名にアクセスできる。