Локализация Есть решение
Добрый день!
Помогите, пожалуйста, с локализацией. Хочу на сайте www.troyka-import.com сделать вариант на английском.
Планирую сделать английскую локализацию в www.troyka-import.com/en/. Как сделать в английской локализации меню на английском?
Возможно ли реализовать это установкой второго сайта по адресу www.troyka-import.com/en/ во фронтэнде www.troyka-import.com?
Спасибо
Помогите, пожалуйста, с локализацией. Хочу на сайте www.troyka-import.com сделать вариант на английском.
Планирую сделать английскую локализацию в www.troyka-import.com/en/. Как сделать в английской локализации меню на английском?
Возможно ли реализовать это установкой второго сайта по адресу www.troyka-import.com/en/ во фронтэнде www.troyka-import.com?
Спасибо
8 ответов
Тогда вы сможете редактировать оба сайта в разделе «Страницы» приложения «Сайт»: страницы будут сгруппированы по отдельным поселениям /* и /en/*
Что касается меню, то самым простым вариантом будет выводить название в зависимости, скажем, от локали пользователя: <li><a href="...ссылка">{if $wa->locale() == 'ru_RU'}Направления деятельности{else}What we do{/if}</a></li>
В настройках каждого поселения в таком варианте реализации нужно будет установить локаль явно: /* -> русская, /en/* — английская
Предложенной мной вариант — для случая, когда меню жестко опубликовано в шаблонах дизайна.
Если же у вас меню строится из массива страниц данного поселения, то и вообще никаких if-ов не надо — названия страниц будут показаны такими, как вы их ввели в «Сайте».
В варианте, что был вами предложен, мы можем вывести навигацию на английском, но она все равно будет вести на страницы на русском.
{wa_print_tree tree=$wa->site->pages() attrs = 'id="page-list"' class="menu-v" elem ='<a href=":url">:name</a>' selected=$page.id}
или же если вы выводите страницы примерно как
{$pages = $wa->site->pages()}
{foreach $pages as $page}
<li><a href="">...</li>
{/foreach}
То вы увидите в поселении /en/* только те страницы, которые находятся в поселении /en/* (приложение «Сайт» отдает только те страницы, которые находятся в текущем поселении).
Ваши советы помогли полностью решить задачу.