Еще одна проблема с языком.
При вызове php файла через AJAX, в этом файле непонятно как определять текущий язык.
переменная
$curlang = $document->language;
инициализированная в этом файле, содержит язык по умолчанию (у меня русский).
Поэтому строка
JPlugin::loadLanguage( 'com_alpharegistration' );
всегда подключает русский перевод.
Как установить язык, чтобы JPlugin::loadLanguage( 'com_alpharegistration' ); подцеплял файл с нужным языком (текущим языком на сайте)
В файл могу передать значение языка, POST-ом или GET-ом. Но как потом установить язык...
Вот немного кода
файл default.php
<?php
echo "<script type=\"text/javascript\">var language_page = \"".$_GET['lang']."\";</script>";
?>
...
<script type="text/javascript">
$(document).ready(function(){
checkEssentialInfo(<?php echo $row[0]; ?>, language_page );
});
</script>
...
function checkEssentialInfo(advertID, language_page) {
$("#statusESSENTIALINFO"+advertID).html('<img src="'+myDomain+'components/com_alpharegistration/assets/images/loader.gif" align="absmiddle">');
$.ajax({
[b]type: "GET",[/b]
url: myDomain+"components/com_alpharegistration/assets/scripts/check_info.php",
[b]data: "advertid="+ advertID +"&lang="+ language_page, [/b]
success: function(msg)
{
$("#statusESSENTIALINFO"+advertID).ajaxComplete(function(event, request, settings)
{
...
});
}
});
};
[b]файл check_info.php[/b]
<?php
define( '_JEXEC', 1 );
if (stristr( $_SERVER['SERVER_SOFTWARE'], 'win32' )) {
define( 'JPATH_BASE', realpath(dirname(__FILE__).'\..\..\..\..' ));
} else define( 'JPATH_BASE', realpath(dirname(__FILE__).'/../../../..' ));
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE.DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE.DS.'includes'.DS.'framework.php' );
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
jimport( 'joomla.plugin.plugin' );
$arg_params = &JComponentHelper::getParams( 'com_equipregistration' );
[b]JPlugin::loadLanguage( 'com_equipregistration' );[/b]
if(isset($_GET['advertid']) and isset($_GET['lang']))
{
$advertid = $_GET['advertid'];
...some code...
<?php echo '0'.'<font color="red">'.JText::_( 'ARG_INCOMPLETE' ).'</font>'; ?> // всегда берет русский вариант
}
else
{
echo '0'.'<font color="red">'.JText::_( 'ARG_UNDEFINED' ).'</font>'; // всегда берет русский вариант
}
?>