diff --git a/lib/mail.php b/lib/mail.php index 4c73a0b7be..b8d3236f63 100644 --- a/lib/mail.php +++ b/lib/mail.php @@ -115,6 +115,8 @@ function mail_subscribe_notify($listenee, $listener) { function mail_subscribe_notify_profile($listenee, $other) { if ($listenee->email && $listenee->emailnotifysub) { + // use the recipients localization + common_init_locale($listenee->language); $profile = $listenee->getProfile(); $name = $profile->getBestName(); $long_name = ($other->fullname) ? ($other->fullname . ' (' . $other->nickname . ')') : $other->nickname; @@ -130,6 +132,9 @@ function mail_subscribe_notify_profile($listenee, $other) { common_config('site', 'name'), $other->profileurl, common_config('site', 'name')); + + // reset localization + common_init_locale(); mail_send($recipients, $headers, $body); } } diff --git a/lib/util.php b/lib/util.php index 204ad511ca..077c9219a8 100644 --- a/lib/util.php +++ b/lib/util.php @@ -131,17 +131,24 @@ function common_end_xml() { $xw->flush(); } +function common_init_locale($language=null) { + if(!$language) { + $language = common_language(); + } + putenv('LANGUAGE='.$language); + putenv('LANG='.$language); + return setlocale(LC_ALL, $language . ".utf8", + $language . ".UTF8", + $language . ".utf-8", + $language . ".UTF-8", + $language); +} + function common_init_language() { mb_internal_encoding('UTF-8'); $language = common_language(); # So we don't have to make people install the gettext locales - putenv('LANGUAGE='.$language); - putenv('LANG='.$language); - $locale_set = setlocale(LC_ALL, $language . ".utf8", - $language . ".UTF8", - $language . ".utf-8", - $language . ".UTF-8", - $language); + $locale_set = common_init_locale($language); bindtextdomain("laconica", common_config('site','locale_path')); bind_textdomain_codeset("laconica", "UTF-8"); textdomain("laconica");