aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/functions.inc.php10
-rw-r--r--include/functions_mail.inc.php10
2 files changed, 18 insertions, 2 deletions
diff --git a/include/functions.inc.php b/include/functions.inc.php
index 861d85064..560bc5a4b 100644
--- a/include/functions.inc.php
+++ b/include/functions.inc.php
@@ -1209,7 +1209,15 @@ function get_pwg_charset()
function load_language($filename, $dirname = '',
$options = array() )
{
- global $user;
+ global $user, $language_files;
+
+ if ( !empty($dirname) and !empty($filename) )
+ {
+ if ( empty($language_files[$dirname]) or !in_array($filename,$language_files[$dirname]) )
+ {
+ $language_files[$dirname][] = $filename;
+ }
+ }
if (! @$options['return'] )
{
diff --git a/include/functions_mail.inc.php b/include/functions_mail.inc.php
index 7ad0b1853..74a7f17e1 100644
--- a/include/functions_mail.inc.php
+++ b/include/functions_mail.inc.php
@@ -192,7 +192,7 @@ function get_str_email_format($is_html)
*/
function switch_lang_to($language)
{
- global $switch_lang, $user, $lang, $lang_info;
+ global $switch_lang, $user, $lang, $lang_info, $language_files;
// explanation of switch_lang
// $switch_lang['language'] contains data of language
@@ -224,6 +224,14 @@ function switch_lang_to($language)
// No test admin because script is checked admin (user selected no)
// Translations are in admin file too
load_language('admin.lang', '', array('language'=>$language) );
+
+ if (!empty($language_files))
+ {
+ foreach ($language_files as $dirname => $files)
+ foreach ($files as $filename)
+ load_language($filename, $dirname, array('language'=>$language) );
+ }
+
trigger_action('loading_lang');
load_language('lang', PHPWG_ROOT_PATH.PWG_LOCAL_DIR,
array('language'=>$language, 'no_fallback'=>true, 'local'=>true)