1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

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

Тема в разделе "Joomla", создана пользователем typus, 8 янв 2011.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
Статус темы:
Закрыта.
Модераторы: arman29, DMS, Genk0
  1. typus

    typus

    Регистр.:
    25 июл 2007
    Сообщения:
    630
    Симпатии:
    152
    Приветствую, разрабатываю небольшой сайт на Joomla, двуязычный, использую joomfish.
    Не все конечно дружит с рыбой, но так или иначе перевести получается почти все: некоторые вещи путем добавления в языковые файлы, некоторые еще какими то хитростями, но удается сделать. Остался практически один нерешенный момент с переводом.
    Есть шаблон, в котором к пунктам меню добавляются дополнительные описания - получается, сверху название пункта меню, под ним - описание. Описания редактируются в админке в общих настройках шаблона, все изменения вносятся в файл params.ini
    Теперь собственно вопрос:
    существует ли какая то возможность, чтобы эти описания были переведены и отображались согласно языкам?
    Вроде как рыба тут не поможет, знаю, что некоторые шаблоны добавляют свои языковые файлы при установке, можно было бы там попробовать что то сделать. Но данный шаблон вроде как таких файлов не добавляет...
    Если что, вот про этот шаблон я говорю, речь об описаниях в майнменю - под "Home" это "Go back home" ну и так далее..Этот шаблон есть в паблике, если нужно, то могу выложить.
     
  2. Sindaiwe

    Sindaiwe Создатель

    Регистр.:
    8 окт 2009
    Сообщения:
    22
    Симпатии:
    5
    По идее на шаблоне можно попробовать писать не сам текст, а выводить переменную. А в языковых файлах определить эту переменную с текстом на нужном языке.
     
  3. typus

    typus

    Регистр.:
    25 июл 2007
    Сообщения:
    630
    Симпатии:
    152
    Вот я хотел бы как то так и сделать, но что то тут не пойму, как..
    В 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=Свадебные фотоальбомы
    ...
     
  4. zavrus

    zavrus

    Регистр.:
    29 май 2009
    Сообщения:
    173
    Симпатии:
    78
    а не легче вместо описание

    может место в шаблоне изменить на модуль ..
     
  5. arman29

    arman29 Генератор идей

    Moderator
    • Супермодератор
    Регистр.:
    30 июн 2008
    Сообщения:
    1.235
    Симпатии:
    654
    еще на 1.0.15 делал так

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

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

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

    попробуй так! 100% работало в 1.0.15! насчет 1.5 не знаю, сайты с мультиязыком не попадались еще)
     
  6. typus

    typus

    Регистр.:
    25 июл 2007
    Сообщения:
    630
    Симпатии:
    152
    если бы это было так просто... вот как я (см. мой пост выше) - пропишу php-переменную в файле ini? Наверное, чтобы все корректно сделать, нужно таки шаблон пилить - сейчас вот как то не хватает пока времени и умения..
     
  7. typus

    typus

    Регистр.:
    25 июл 2007
    Сообщения:
    630
    Симпатии:
    152
    а вообще, каюсь, возможно, не все безнадежно:вот как там все в этом шаблоне устроено
    Код:
    ...\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...
    Теперь бы эти переменные как то лишить конкретики и прописать переводы в языковых файлах..
     
  8. arman29

    arman29 Генератор идей

    Moderator
    • Супермодератор
    Регистр.:
    30 июн 2008
    Сообщения:
    1.235
    Симпатии:
    654
    можно сделать так:

    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. а то ты такой геморой расписал! там и потеряться можно в твоем коду)
     
  9. typus

    typus

    Регистр.:
    25 июл 2007
    Сообщения:
    630
    Симпатии:
    152
    Ну это не мой код, это участки кода шаблона, как оно реализовано там.
    Еще раз, демо шаблона в стартпосте, шаблон в паблике, могу выложить весь, если надо кому, а пока вот те 3 файла шаблона, в которых реализована та функциональность, что нуждается в переводе...
    каким образом я все это дело через echo переверну, не представляю..куда его воткнуть, если там вывод реализован по другому, совсем не через echo....
     

    Вложения:

  10. arman29

    arman29 Генератор идей

    Moderator
    • Супермодератор
    Регистр.:
    30 июн 2008
    Сообщения:
    1.235
    Симпатии:
    654
    я тебе предложил рабочий вариант, который я сам использовал года 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 раз не надо расписывать? потести этот способ! посмотри, вдруг поможет! это в разы уменьшит твою работу!
     
Статус темы:
Закрыта.