Помощь Перевод нестандартной части меню для двуязычного сайта

Статус
В этой теме нельзя размещать новые ответы.

typus

Мой дом здесь!
Регистрация
25 Июл 2007
Сообщения
895
Реакции
241
Приветствую, разрабатываю небольшой сайт на Joomla, двуязычный, использую joomfish.
Не все конечно дружит с рыбой, но так или иначе перевести получается почти все: некоторые вещи путем добавления в языковые файлы, некоторые еще какими то хитростями, но удается сделать. Остался практически один нерешенный момент с переводом.
Есть шаблон, в котором к пунктам меню добавляются дополнительные описания - получается, сверху название пункта меню, под ним - описание. Описания редактируются в админке в общих настройках шаблона, все изменения вносятся в файл params.ini
Теперь собственно вопрос:
существует ли какая то возможность, чтобы эти описания были переведены и отображались согласно языкам?
Вроде как рыба тут не поможет, знаю, что некоторые шаблоны добавляют свои языковые файлы при установке, можно было бы там попробовать что то сделать. Но данный шаблон вроде как таких файлов не добавляет...
Если что, я говорю, речь об описаниях в майнменю - под "Home" это "Go back home" ну и так далее..Этот шаблон есть в паблике, если нужно, то могу выложить.
 
По идее на шаблоне можно попробовать писать не сам текст, а выводить переменную. А в языковых файлах определить эту переменную с текстом на нужном языке.
 
По идее на шаблоне можно попробовать писать не сам текст, а выводить переменную. А в языковых файлах определить эту переменную с текстом на нужном языке.
Вот я хотел бы как то так и сделать, но что то тут не пойму, как..
В params.ini все это дело выглядит в виде :
Код:
xml_menuname=mainmenu
xml_s5_body_width=1024
xml_s5_left_width=230
xml_s5_right_width=230
xml_s5_bg_repeat=yes
xml_s5_bg_color=000000
xml_s5_menu=2
xml_s5_no_moo_type=fade
xml_s5_menu_color=D1D14B
xml_s5_text_menu_1=на главную
xml_s5_text_menu_2=Свадебные фотоальбомы
...
 
а не легче вместо описание

может место в шаблоне изменить на модуль ..
 
еще на 1.0.15 делал так

писал в шаблоне

<php echo ... переменная ></php>

а потом в языковых файлах (EN, RU)сайтах добавлял эту же переменная и писал как бы ее англ. и русский эквивалент!

попробуй так! 100% работало в 1.0.15! насчет 1.5 не знаю, сайты с мультиязыком не попадались еще)
 
если бы это было так просто... вот как я (см. мой пост выше) - пропишу php-переменную в файле ini? Наверное, чтобы все корректно сделать, нужно таки шаблон пилить - сейчас вот как то не хватает пока времени и умения..
 
а вообще, каюсь, возможно, не все безнадежно:вот как там все в этом шаблоне устроено
Код:
...\templates\aluma_photography\index.php (10 hits)
	Line 37: 		$s5_text_menu_1 = $this->params->get ("xml_s5_text_menu_1");
	Line 39: 		$s5_text_menu_2 = $this->params->get ("xml_s5_text_menu_2");
	Line 41: 		$s5_text_menu_3 = $this->params->get ("xml_s5_text_menu_3");
	Line 43: 		$s5_text_menu_4 = $this->params->get ("xml_s5_text_menu_4");
	Line 45: 		$s5_text_menu_5 = $this->params->get ("xml_s5_text_menu_5");
	Line 47: 		$s5_text_menu_6 = $this->params->get ("xml_s5_text_menu_6");
	Line 49: 		$s5_text_menu_7 = $this->params->get ("xml_s5_text_menu_7");
	Line 51: 		$s5_text_menu_8 = $this->params->get ("xml_s5_text_menu_8");
	Line 53: 		$s5_text_menu_9 = $this->params->get ("xml_s5_text_menu_9");
	Line 55: 		$s5_text_menu_10 = $this->params->get ("xml_s5_text_menu_10");
...\templates\aluma_photography\params.ini (10 hits)
	Line 10: xml_s5_text_menu_1=На главную
	Line 11: xml_s5_text_menu_2=Новости и новинки
	Line 12: xml_s5_text_menu_3=Вся галерея
	Line 13: xml_s5_text_menu_4=Свадебные фотоальбомы
	Line 14: xml_s5_text_menu_5=Портреты
	Line 15: xml_s5_text_menu_6=Реклама
	Line 16: xml_s5_text_menu_7=musatoffalex
	Line 17: xml_s5_text_menu_8=musatoffalex
	Line 18: xml_s5_text_menu_9=text9
	Line 19: xml_s5_text_menu_10=text10
...\templates\aluma_photography\templateDetails.xml (10 hits)
	Line 163: 		<param name="xml_s5_text_menu_1" type="text" default="text1" label="Text label 1" description="Enter what sub text you would like for the first menu item" />
	Line 164: 		<param name="xml_s5_text_menu_2" type="text" default="text2" label="Text label 2" description="Enter what sub text you would like for the second menu item" />
	Line 165: 		<param name="xml_s5_text_menu_3" type="text" default="text3" label="Text label 3" description="Enter what sub text you would like for the third menu item" />
	Line 166: 		<param name="xml_s5_text_menu_4" type="text" default="text4" label="Text label 4" description="Enter what sub text you would like for the fourth menu item" />
	Line 167: 		<param name="xml_s5_text_menu_5" type="text" default="text5" label="Text label 5" description="Enter what sub text you would like for the fifth menu item" />
	Line 168: 		<param name="xml_s5_text_menu_6" type="text" default="text6" label="Text label 6" description="Enter what sub text you would like for the sixth menu item" />
	Line 169: 		<param name="xml_s5_text_menu_7" type="text" default="text7" label="Text label 7" description="Enter what sub text you would like for the seventh menu item" />
	Line 170: 		<param name="xml_s5_text_menu_8" type="text" default="text8" label="Text label 8" description="Enter what sub text you would like for the eighth menu item" />
	Line 171: 		<param name="xml_s5_text_menu_9" type="text" default="text9" label="Text label 9" description="Enter what sub text you would like for the nineth menu item" />
	Line 172: 		<param name="xml_s5_text_menu_10" type="text" default="text10" label="Text label 10" description="Enter what sub text you would like for the tenth menu item" />
Т.е. данные поля прописаны таки переменными в шаблоне, в index.php, и вот таким образом реализовано все это в файлe ini посредством xml...
Теперь бы эти переменные как то лишить конкретики и прописать переводы в языковых файлах..
 
можно сделать так:

PHP:
<?php 
if($mosConfig_lang==russian){
$we='Дизайн и разработка веб-сайта - компания ';
$title='ru';
$lang1='en';
}else{
$we='Design by ';
$title='en';
$lang1='ru';
} 
?>

прописать в шаблоне в файле \templates\tvoi_shablon\index.php! если сайт на русском, то будет выдавать "Дизайн и разработка веб-сайта - компания", а если на англ. то - "Design by"

далее в нужно месте вставляешь переменную we (НЕ ЗАБУДЬ, переменная зависит от тебя! назови ее хоть именем планеты)

PHP:
<?php echo $we; ?>

удачи! способ рабочий, если не поймешь, то стучи в личку или выкладывай сюда пример)

p.s. а то ты такой геморой расписал! там и потеряться можно в твоем коду)
 
Ну это не мой код, это участки кода шаблона, как оно реализовано там.
Еще раз, демо шаблона в стартпосте, шаблон в паблике, могу выложить весь, если надо кому, а пока вот те 3 файла шаблона, в которых реализована та функциональность, что нуждается в переводе...
каким образом я все это дело через echo переверну, не представляю..куда его воткнуть, если там вывод реализован по другому, совсем не через echo....
 

Вложения

  • aluma_photography.rar
    6,5 KB · Просмотры: 5
я тебе предложил рабочий вариант, который я сам использовал года 3 назад на Joomla 1.0! в дальнейшем тебе решать каким способом пользоваться)

PHP:
<?php 
if($mosConfig_lang==russian){
$tvoya_peremennaya='Дизайн и разработка веб-сайта - компания ';
$title='ru';
$lang1='en';
}else{
$tvoya_peremennaya='Design by ';
$title='en';
$lang1='ru';
} 
?>

1-ый код ты вставляешь в шаблон \templates\tvoi_shablon\index.php в любое место! например тебе дано слово "Дизайн и разработка веб-сайта - компания" это будет на русском сайте, а на англ. сайте будет "Design by"! вместо слова "tvoya_peremennaya" - ты вставляешь любое слово, начиная от мамы, папы, мир и заканчивая любовью и сексом!

PHP:
<?php echo $tvoya_peremennaya; ?>

это код ты вставляешь в нужное тебе место в шаблоне \templates\tvoi_shablon\index.php и дальше при переключении языка на сайте, слова будут меняться в соответствии с выбранным языком)

надеюсь 3 раз не надо расписывать? потести этот способ! посмотри, вдруг поможет! это в разы уменьшит твою работу!
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху