0 Пользователей и 1 Гость просматривают эту тему.
  • 23 Ответов
  • 20319 Просмотров
*

Glory

  • Осваиваюсь на форуме
  • 30
  • 2 / 0
Как определить внутри функции какой сейчас выбран язык? Не через переменную GET, так как в строке он не всегда отображается.
*

PbICb

  • Захожу иногда
  • 66
  • 38 / 0
  • Мяфф...)
переменая $mosConfig_lang не подойдет? Если не изменяет память, в нее выводится текущий язык.
UI, UX, Interaction design, Kung Fu и другие страшные слова
Ить, ни, сан, си, го - беспечен гуляющий заяц...
*

smart

  • Администратор
  • 6485
  • 1315 / 15
  • Хочешь сделать хорошо — сделай!
переменая $mosConfig_lang не подойдет? Если не изменяет память, в нее выводится текущий язык.
аха, именно через нее родимую...
*

Glory

  • Осваиваюсь на форуме
  • 30
  • 2 / 0
аха, именно через нее родимую...
Спасибо. Работает. Не думал, что все так просто...
*

oppo

  • Захожу иногда
  • 367
  • 82 / 8
  • ΨΨΨ я - УКРАЇНЕЦЬ
можно так я для картинок беру
$lang=trim( mosGetParam( $_REQUEST, "lang", 'ru' ) );
*

bartw

  • Новичок
  • 8
  • 2 / 0
можно так я для картинок беру
$lang=trim( mosGetParam( $_REQUEST, "lang", 'ru' ) );

Такой метод не оптимален. Если в строке запроса нет переменной lang ?
можно конечно:
$lang=trim( mosGetParam( $_REQUEST, "lang", 'ru' ) );
$mbfcookie = mosGetParam( $_COOKIE, 'jfcookie', null );
 
  if ($lang==ru){$jfcookie[lang]='ru';}
   if ($lang==en){$jfcookie[lang]='en';}
 
   if ( $jfcookie[lang]!='en' and  $lang!='en') {;

} else {;}

Но нафик если можно использовать $mosConfig_lang

Такой вопросик народ, а в Joomla 1.5.x всё еще разве работают "mosGetParam($_REQUEST" и "$mosConfig_lang" ?
Вроде бы вместо "mosGetParam( $_REQUEST" там сунули JRequest... а то нашел я чудный способ перевода картинок:
Цитировать
index.php шаблона:
Код
<?php defined( "_VALID_MOS" ) or die( "Direct Access to this location is not allowed." );?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php if ( $my->id ) { initEditor(); } mosShowHead(); 
         if ($mosConfig_lang=='') {
$mosConfig_lang = 'russian';}
?>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<!-- Подключается основной CSS -->
<link href="templates/<?php echo $mainframe->getTemplate() ?>/css/template_css.css" rel="stylesheet" type="text/css"/>
<!-- Подключается дополнительный CSS -->
<link href="templates/<?php echo $mainframe->getTemplate() ?>/css/<?php echo $mosConfig_lang ?>.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<?php include_once ($mosConfig_absolute_path .'/templates/'. $mainframe->getTemplate() .'/'. $mosConfig_lang .'.php'); ?>
</body>
</html>
в папке с шаблоном должны быть шаблоны russian.php, english.php... (и т.д.), содержащие html шаблонов, а в папке css - css файлы russian.css, english.css и т.д.
Но что то у меня не заладилось на Joomla 1.5.9 и JoomFish2.0.3 я даже забил на маскирование адресов, прям так и передаются lang=en/ru в строке адреса. Может быть варианты для 1,5,x жумлы, поможите?)
« Последнее редактирование: 21.04.2009, 05:39:36 от vinc »
*

beliyadm

  • Легенда
  • 8830
  • 1622 / 63
  • Севастополь == Россия
Решение определение активного языка для версии !Joomla 1.5
$document = & JFactory::getDocument();
echo 
$document->language;

Соответственно у меня для трех языков (англ естонский и русский) выводится en-gb et-ee ru-ru
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

No_LiMiT

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Здравствуйте! У меня такая проблема стояла Joomla 1.5.10 и joom!Fish 2.0.2 такой код работал
<?php if ($mosConfig_lang == 'russian') {
echo '<img src="images/bt2.gif" />';
} else if ($mosConfig_lang == 'english') {
echo '<img src="images/bt2(en).gif" />';
}else if ($mosConfig_lang == 'ukrainian') {
echo '<img src="images/bt2(uk).gif" />';} ?>

Но когда я поставил Joomla 1.5.11 и joom!Fish 2.0.3(Flash) уже этот код не работает! Объясните почему. Заранее спасибо!
*

beliyadm

  • Легенда
  • 8830
  • 1622 / 63
  • Севастополь == Россия
потому что переменной $mosConfig_lang в 1.5 уже нет (смотри конфиг)
Следственно читай пост выше, определили объект $document и используем переменную $document->language
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

No_LiMiT

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Типо так?:

<?php if ($document == 'russian') {
echo '<img src="images/bt2.gif" />';}
*

beliyadm

  • Легенда
  • 8830
  • 1622 / 63
  • Севастополь == Россия
нет
Код: php
$document = & JFactory::getDocument();
$curlang = $document->language;
if ($curlang == 'ru-ru') {
echo '<img src="images/rus.gif" />';
} else { }
значение переменной зависит от установленной локали, потому сначала делаем echo $curlang для каждой языковой версии и смотрим на выход
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

No_LiMiT

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Спасибо большое, работает!!!! +1
*

licbez

  • Захожу иногда
  • 76
  • 11 / 0
Подскажите пожалуйста, а как  правильно вызвать относительный url вместе с  сеф-суффиксом (в моем случае en или ru)?
Пробовал через
Код: php
<a href="<?php echo $this->baseurl ?>/">
- выводит без суффикса
Не оставьте в беде, отзовитесь знающие люди
Кто хочет — ищет способы, кто нет - причины....
*

remix8080

  • Захожу иногда
  • 340
  • 39 / 0
Код: php
$document = & JFactory::getDocument();
$curlang = $document->language;
if ($curlang == 'ru-ru') {
echo '<img src="images/rus.gif" />';
} else { }

Добрый день!
Добавил в index.php шаблона то, что Вы написали, но в шапке сайта рисунок (напр. logo.gif) не отображается (а появляется только рамка для рисунка, т.е. не находит файл logo.gif, хоть он лежит в папке images шаблона)  :-(
*

beliyadm

  • Легенда
  • 8830
  • 1622 / 63
  • Севастополь == Россия
Потому что путь надо указывать полностью, я просто привел пример
Код: php
echo '<img src="templates/шаблон/images/rus.gif" />';
И будет все показываться
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

remix8080

  • Захожу иногда
  • 340
  • 39 / 0
Оно... Спасибо!
П.С. Жаль, что нельзя поставить два плюсика  ;)

Еще одна проблема с языком.
При вызове 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>';  // всегда берет русский вариант
}
?>

проблему решил
Код
$lang=$_GET['lang'];
$local_lang = "en-gb";
if ($lang=="ru")
$local_lang = "ru-ru";
if ($lang=="es")
$local_lang = "es-es";
$curLanguage = JFactory::getLanguage();
$curLanguage->setLanguage($local_lang);
JPlugin::loadLanguage( 'com_alpharegistration' );
*

yevrowl

  • Захожу иногда
  • 244
  • 10 / 0
На сайте логотип выводится так (index шаблона):
Код
<a href="index.php"><img src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template?>/images/<?php echo $this->params->get('templateColour'); ?>/logotype.gif" style="border:0;" height="82px;" width="880px;" alt="logotype NSC-Olympic"/></a>
Как можно сделать вывод в зависимости от языка? Например чтобы logotype-rus.gif / logotype-eng.gif выводились.
Установлен Joom!Fish 2.0.4 на Joomla 1.5.17.
=)
*

yevrowl

  • Захожу иногда
  • 244
  • 10 / 0
Добавил в index.php шаблона то, что Вы написали, но в шапке сайта рисунок (напр. logo.gif) не отображается (а появляется только рамка для рисунка, т.е. не находит файл logo.gif, хоть он лежит в папке images шаблона)  :-(
У меня вообще только сам код отображается на странице... как вставлять надо чтобы работал?
=)
*

remix8080

  • Захожу иногда
  • 340
  • 39 / 0
Например:
Код
<?php 	$document = & JFactory::getDocument();
$curlang = $document->language;
if ($curlang == 'ru-ru') {
echo '<img src="templates/<шаблон>/images/logo_ru.jpg" />';
} else {
echo '<img src="templates/<шаблон>/images/logo_ua.jpg" />';
}
?>
*

yevrowl

  • Захожу иногда
  • 244
  • 10 / 0
Например:
Код
<?php 	$document = & JFactory::getDocument();
$curlang = $document->language;
if ($curlang == 'ru-ru') {
echo '<img src="templates/<шаблон>/images/logo_ru.jpg" />';
} else {
echo '<img src="templates/<шаблон>/images/logo_ua.jpg" />';
}
?>
К сожалению сайт тогда вылетает в белый экран... с чем это может быть связано?
=)
*

yevrowl

  • Захожу иногда
  • 244
  • 10 / 0
Разобрался, проблема была в том что логотип выводился PHP-запросом, как только поменял на прямые ссылки то сразу же и заработало. Ещё раз огромное спасибо за помощь.
=)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не переключаются языки: все время язык по умолчанию. хелп!

Автор kyzja

Ответов: 0
Просмотров: 1242
Последний ответ 22.02.2012, 13:50:23
от kyzja
язык социального плагина Facebook

Автор lpukraine

Ответов: 0
Просмотров: 1320
Последний ответ 29.11.2011, 22:41:32
от lpukraine
Как узнать язык из переменной или создать условия по языку.

Автор back

Ответов: 5
Просмотров: 5009
Последний ответ 08.03.2010, 00:07:25
от yuriko
При переключение на другой язык дизайн разрушается

Автор ciuku

Ответов: 0
Просмотров: 1486
Последний ответ 06.08.2009, 23:57:05
от ciuku