* @version $Id$
* @access public
* @license http://opensource.org/licenses/gpl-3.0.html
*/
/**
* IncludeLang()
* Fait les includes de fichiers de langue en fonction de la rubrique active ( partie publique )
*
* @return void (include)
*/
function IncludeLang()
{
global $lang;
$language = U_L;
include_once('../languages/' . $language . '/lang_common.' . CHARSET . '.php');
if(MOD_TAG == 1)
include_once('../languages/' . $language . '/lang_tag.' . CHARSET . '.php');
if(MOD_COMMENT == 1)
include_once('../languages/' . $language . '/lang_comment.' . CHARSET . '.php');
if (ActiveItemAlias($GLOBALS['activeitem']) == 'directory') {
include_once('../languages/' . $language . '/lang_yellowpages.' . CHARSET . '.php');
}
if (ActiveItemAlias($GLOBALS['activeitem']) == 'dashboard') {
include_once('../languages/' . $language . '/lang_sdi.' . CHARSET . '.php');
include_once('../languages/' . $language . '/lang_dashboard.' . CHARSET . '.php');
}
if (ActiveItemAlias($GLOBALS['activeitem']) == 'workgroup') {
include_once('../languages/' . $language . '/lang_workshop.' . CHARSET . '.php');
include_once('../languages/' . $language . '/lang_workshoprep.' . CHARSET . '.php');
include_once('../languages/' . $language . '/lang_publication.' . CHARSET . '.php');
include_once('../languages/' . $language . '/lang_system.' . CHARSET . '.php');
}
if (ActiveItemAlias($GLOBALS['activeitem']) == 'project') {
include_once('../languages/' . $language . '/lang_project.' . CHARSET . '.php');
include_once('../languages/' . $language . '/lang_dashboard.' . CHARSET . '.php');
include_once('../languages/' . $language . '/lang_sdi.' . CHARSET . '.php');
}
if (ActiveItemAlias($GLOBALS['activeitem']) == 'publication') {
include_once('../languages/' . $language . '/lang_publication.' . CHARSET . '.php');
}
if (ActiveItemAlias($GLOBALS['activeitem']) == 'user-prefs') {
include_once('../languages/' . $language . '/lang_user.' . CHARSET . '.php');
include_once('../languages/' . $language . '/lang_workshop.' . CHARSET . '.php');
}
if (ActiveItemAlias($GLOBALS['activeitem']) == 'news') {
include_once('../languages/' . $language . '/lang_news.' . CHARSET . '.php');
}
if (ActiveItemAlias($GLOBALS['activeitem']) == 'page') {
include_once('../languages/' . $language . '/lang_page.' . CHARSET . '.php');
}
if (ActiveItemAlias($GLOBALS['activeitem']) == 'subscribe-newsletter') {
include_once('../languages/' . $language . '/lang_newsletter.' . CHARSET . '.php');
}
if (ActiveItemAlias($GLOBALS['activeitem']) == 'search') {
include_once('../languages/' . $language . '/lang_search.' . CHARSET . '.php');
}
if (ActiveItemAlias($GLOBALS['activeitem']) == 'workgroup-subscription') {
include_once('../languages/' . $language . '/lang_workshop.' . CHARSET . '.php');
include_once('../languages/' . $language . '/lang_user.' . CHARSET . '.php');
}
IncludeUserfiles();
}
/**
* IncludeAdminLang()
* Fait les includes de fichiers de langue en fonction de la rubrique active ( partie admin )
*
* @return void (include)
*/
function IncludeAdminLang($rubrique)
{
global $lang;
$language = U_L;
include_once('../languages/' . $language . '/lang_common.' . CHARSET . '.php');
include_once('../languages/' . $language . '/lang_' . $rubrique . '.' . CHARSET . '.php');
if ($rubrique === 'dashboard') {
include_once('../languages/' . $language . '/lang_sdi.' . CHARSET . '.php');
}
if ($rubrique === 'sdi') {
include_once('../languages/' . $language . '/lang_dashboard.' . CHARSET . '.php');
}
if($rubrique === 'project') {
include_once('../languages/' . $language . '/lang_dashboard.' . CHARSET . '.php');
include_once('../languages/' . $language . '/lang_sdi.' . CHARSET . '.php');
}
if($rubrique === 'user') {
include_once('../languages/' . $language . '/lang_workshop.' . CHARSET . '.php');
}
if($rubrique === 'home' && MOD_COMMENT == 1) {
include_once('../languages/' . $language . '/lang_comment.' . CHARSET . '.php');
}
IncludeUserfiles();
}
/**
* _t()
* Translate item
* @param string $scope
* @param string $item
* @return string
**/
function _t($scope, $item, $subvalue = null)
{
$a = array('translation');
// only two parameters passed
if($subvalue === null) {
if(isset($GLOBALS['lang'][$scope][$item])) {
return $GLOBALS['lang'][$scope][$item];
} else {
array_push($a, '$lang[\''.$scope.'\'][\''.$item.'\'] does not exist in '. U_L);
logfile(LOG_MAINFILE, $a);
if(MOD_DEBUG == 1) return '_t(\''.$scope."', '".$item.'\') does not exist';
}
return $scope." ".$item;
// Three parameters passed
} else {
if(isset($GLOBALS['lang'][$scope][$item][$subvalue])) {
return $GLOBALS['lang'][$scope][$item][$subvalue];
} else {
array_push($a, '$lang[\''.$scope.'\'][\''.$item.'\'][\''.$subvalue.'\'] does not exist in '. U_L);
logfile(LOG_MAINFILE, $a);
if(MOD_DEBUG == 1) return '_t(\''.$scope."', '".$item.'\', \''.$subvalue.'\') does not exist';
}
return $scope . " " . $item . " " . $subvalue;
}
}
/**
* _def()
* Define a user language variable
* override previous value if already defined
* @param string $scope
* @param string $item
* @param string $str
* @return string
**/
function _def($scope, $item, $str)
{
if(isset($GLOBALS['lang'][$scope][$item])) unset($GLOBALS['lang'][$scope][$item]);
$GLOBALS['lang'][$scope][$item] = $str;
}
/**
* IncludeUserfiles()
* Include user files prefixed by '_' from languages folders
*
* @return void (include)
*/
function IncludeUserfiles() {
$language = U_L;
$paths = glob('../languages/' . $language . '/_*.php');
if(CURRENT_APP == 'admin') {
$pattern = THEME_ADMIN_PATH.'override/languages/' . $language . '/_*.php';
} else {
$pattern = THEME_PUBLIC_PATH.'override/languages/' . $language . '/_*.php';
}
$pattern2 = OVERRIDE_FOLDER.'languages/' . $language . '/_*.php';
$paths = array_merge($paths, glob($pattern), glob($pattern2));
if($paths != false) {
foreach ($paths as $filename) {
_debug('Including user defined language files : '. $filename);
include_once($filename);
}
}
}
/**
* IncludeLanguagesPluginfiles()
* Include plugin files from specific plugin languages folders
* @param object $plugin
* @return void (include)
*/
function IncludeLanguagesPluginfiles($plugin) {
// we try to include the current culture
$paths = glob('../plugins/'.$plugin->getVar('name').'/languages/' . U_L . '/*.php');
// if current culture not found, we include default language files
if(count($paths)==0) $paths = glob('../plugins/'.$plugin->getVar('name').'/languages/' . $plugin->getVar('default_language') . '/*.php');
if($paths != false) {
foreach ($paths as $filename) {
_debug('Including '.$plugin.' plugin language files : '. $filename);
include_once($filename);
}
}
return true;
}
?>