$ret = $GLOBALS['cache_array']['language'];
} elseif (!empty($lang)) {
// Check if main language file does exist
- if (isFileReadable(constant('PATH') . 'inc/language/'.$lang.'.php')) {
+ if (isFileReadable(constant('PATH') . 'inc/language/' . $lang . '.php')) {
// Okay found, so let's update cookies
setLanguage($lang);
} // END - if
setSession('mx_lang', $lang);
}
+// Load the current language file or fixes it to 'de'
+// If ext_name is empty, load general language support, else load extension's
+// language file.
+function loadLanguageFile ($ext_name = '') {
+ // Try to get language from session
+ $mx_lang = getSession('mx_lang');
+
+ // Set default language if it is not (yet) set
+ if (is_null($mx_lang)) $mx_lang = getConfig('DEFAULT_LANG');
+
+ // Generate filename
+ if (empty($ext_name)) {
+ // Generic
+ $languageInclude = sprintf("inc/language/%s.php", SQL_ESCAPE($mx_lang));
+ } else {
+ // Extension's language file
+ $languageInclude = sprintf("inc/language/%s_%s.php", $ext_name, getLanguage());
+ }
+
+ // Look for file if no extension name is provided
+ if ((empty($ext_name)) && (isIncludeReadable($languageInclude) === false)) {
+ // Switch to default (DO NOT CHANGE!!!)
+ setLanguage('de');
+ $languageInclude = 'inc/language/de.php';
+
+ // And set it temporarily
+ setConfigEntry('DEFAULT_LANG', 'de');
+ } // END - if
+
+ // Is the file there?
+ if (isIncludeReadable($languageInclude)) {
+ // Load language file
+ loadIncludeOnce($languageInclude);
+ } elseif ((isDebugModeEnabled()) && ($ext_name != 'sql_patches') && (substr($ext_name, 0, 10) != 'admintheme')) {
+ // No language file is not so good...
+ DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("WARNING: Extension %s has no language file or we cannot read from it. lang=%s",
+ $ext_name, getLanguage()
+ ));
+ }
+
+ // Check for installation mode
+ if ((isInstalling()) || (!isInstalled()) || (!isAdminRegistered())) {
+ // Load matching language file
+ loadInclude('inc/language/install_' . getSession('mx_lang') . '.php');
+ } // END - if
+}
+
// [EOF]
?>