DOC SYSTEM I set variable TRANSLATION for plugins SOLVED
I set variable TRANSLATION for plugins
This commit is contained in:
@@ -579,7 +579,7 @@ class Bootstrap
|
|||||||
//trick to generate the translation.language.js file , merging two files
|
//trick to generate the translation.language.js file , merging two files
|
||||||
if (strtolower($typefile) == 'js' && $typearray[0] == 'translation') {
|
if (strtolower($typefile) == 'js' && $typearray[0] == 'translation') {
|
||||||
Bootstrap::sendHeaders($filename, 'text/javascript', $download, $downloadFileName);
|
Bootstrap::sendHeaders($filename, 'text/javascript', $download, $downloadFileName);
|
||||||
$output = Bootstrap::streamJSTranslationFile($filename, $typearray[1]);
|
$output = Bootstrap::streamJSTranslationFile($filename, $typearray[count($typearray)-2]);
|
||||||
echo $output;
|
echo $output;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -857,8 +857,7 @@ class Bootstrap
|
|||||||
$translation = array();
|
$translation = array();
|
||||||
if (file_exists(PATH_LANGUAGECONT . $namePlugin . '.' . $lang)) {
|
if (file_exists(PATH_LANGUAGECONT . $namePlugin . '.' . $lang)) {
|
||||||
eval('global $translation'.$namePlugin.';');
|
eval('global $translation'.$namePlugin.';');
|
||||||
require_once (PATH_LANGUAGECONT . $namePlugin . '.' . $lang); // load the foreign translations table
|
require_once (PATH_LANGUAGECONT . $namePlugin . '.' . $lang);
|
||||||
eval('$translation'.$namePlugin.' = $translation;');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@@ -1170,16 +1169,22 @@ class Bootstrap
|
|||||||
*/
|
*/
|
||||||
public function streamJSTranslationFile($filename, $locale = 'en')
|
public function streamJSTranslationFile($filename, $locale = 'en')
|
||||||
{
|
{
|
||||||
|
$typearray = explode('.', basename($filename));
|
||||||
|
$typeCount = count($typearray);
|
||||||
|
$typeName = ($typeCount > 3) ? $typearray[1] : $typearray[0];
|
||||||
|
$typeName = trim($typeName);
|
||||||
|
$fileConst = ($typeName == 'translation') ? 'translation.' . $locale : 'translation.' . $typeName . '.' . $locale;
|
||||||
|
|
||||||
|
if ($typeName == 'translation') {
|
||||||
$defaultTranslations = Array();
|
$defaultTranslations = Array();
|
||||||
$foreignTranslations = Array();
|
$foreignTranslations = Array();
|
||||||
|
$calendarJs = '';
|
||||||
|
|
||||||
//if the default translations table doesn't exist we can't proceed
|
|
||||||
if (!is_file(PATH_LANGUAGECONT . 'translation.en')) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
//load the translations table
|
//load the translations table
|
||||||
|
if (is_file(PATH_LANGUAGECONT . 'translation.en')) {
|
||||||
require_once (PATH_LANGUAGECONT . 'translation.en');
|
require_once (PATH_LANGUAGECONT . 'translation.en');
|
||||||
$defaultTranslations = $translation;
|
$defaultTranslations = $translation;
|
||||||
|
}
|
||||||
|
|
||||||
//if some foreign language was requested and its translation file exists
|
//if some foreign language was requested and its translation file exists
|
||||||
if ($locale != 'en' && file_exists(PATH_LANGUAGECONT . 'translation.' . $locale)) {
|
if ($locale != 'en' && file_exists(PATH_LANGUAGECONT . 'translation.' . $locale)) {
|
||||||
@@ -1193,7 +1198,6 @@ class Bootstrap
|
|||||||
$translation = array_merge($defaultTranslations, $foreignTranslations);
|
$translation = array_merge($defaultTranslations, $foreignTranslations);
|
||||||
}
|
}
|
||||||
|
|
||||||
$calendarJs = '';
|
|
||||||
$calendarJsFile = PATH_GULLIVER_HOME . "js/widgets/js-calendar/lang/" . $locale . ".js";
|
$calendarJsFile = PATH_GULLIVER_HOME . "js/widgets/js-calendar/lang/" . $locale . ".js";
|
||||||
if (!file_exists($calendarJsFile)) {
|
if (!file_exists($calendarJsFile)) {
|
||||||
$calendarJsFile = PATH_GULLIVER_HOME . "js/widgets/js-calendar/lang/en.js";
|
$calendarJsFile = PATH_GULLIVER_HOME . "js/widgets/js-calendar/lang/en.js";
|
||||||
@@ -1201,6 +1205,18 @@ class Bootstrap
|
|||||||
$calendarJs = file_get_contents($calendarJsFile) . "\n";
|
$calendarJs = file_get_contents($calendarJsFile) . "\n";
|
||||||
|
|
||||||
return $calendarJs . 'var TRANSLATIONS = ' . Bootstrap::json_encode($translation) . ';';
|
return $calendarJs . 'var TRANSLATIONS = ' . Bootstrap::json_encode($translation) . ';';
|
||||||
|
} else {
|
||||||
|
unset($typearray[0]);
|
||||||
|
unset($typearray[count($typearray)]);
|
||||||
|
$newName = implode('.', $typearray);
|
||||||
|
if (file_exists(PATH_LANGUAGECONT . $newName)) {
|
||||||
|
require_once (PATH_LANGUAGECONT . $newName);
|
||||||
|
$return = '';
|
||||||
|
eval('$return = "var TRANSLATIONS_" . strtoupper($typeName) . " = " . Bootstrap::json_encode($translation' . $typeName . ') . ";";');
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -464,6 +464,7 @@ class headPublisher
|
|||||||
if (count($aux) == 2 && defined('G_PLUGIN_CLASS')) {
|
if (count($aux) == 2 && defined('G_PLUGIN_CLASS')) {
|
||||||
$oPluginRegistry = & PMPluginRegistry::getSingleton();
|
$oPluginRegistry = & PMPluginRegistry::getSingleton();
|
||||||
if ($oPluginRegistry->isRegisteredFolder($aux[0])) {
|
if ($oPluginRegistry->isRegisteredFolder($aux[0])) {
|
||||||
|
array_push($this->extJsLibrary, 'translation.' . trim($aux[0]) . '.' . SYS_LANG);
|
||||||
$sPath = PATH_PLUGINS;
|
$sPath = PATH_PLUGINS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user