Тема: Сделать сайт на нескольких языках.

Моё руководство, так как кое-что на мой взгляд не доделано, верней кто только начал знакомится с системой, тот затратит на это время, поэтому короткое описание.

Если Вы хотите сайт сделать на нескольких языках, то необходимо сделать эти вещи:

1. Зайти в раздел админ панели (Модули -> Все модули)
2. Добавить модуль language_switch (если он у вас ещё не активен)
3. Зайти в админ панель управления сайтов, выбрать из меню (Система -> Языки)
4. Добавить несколько к примеру языков, заполнив правильно поля формы. (Языки будут созданы)
5. Выводим языки в ваш шаблон сайта с помощью виджета (Админ панель->Виджеты->Создать виджет)
6. При создании указываем имя (к примеру langs), описание любое, тип - (Модуль), внизу выбрать из списка (Языковая панель)-Жмём на кнопку создать.
7. Теперь выведем наш виджет с языками в шаблон. Через редактор шаблона (управление через админ панель) или ФТП приложение, редактируем файл заглавного шаблона main.tpl, по умолчанию находится - templates/corporate/main.tpl
8. Добавляем код виджета в то место где будет выводится у вас в шаблоне: {widget('langs')}
9. Виджет будет выведен на сайте и можно править стиль и ссылки языков.
10. В шаблоне виджета языков (находится тут: tempates/corporate/widgets/langs.tpl), заменить код на этот:

<div class="lang-switch">
{foreach $languages as $lang}
    <a href="/{echo $lang.identif . $current_address}"{if $lang['current'] == 1} class="active"{/if}><img src="{echo $lang['image']}" class="flag" alt="{$lang.lang_name}" />{$lang.lang_name}</a>
{/foreach}
</div>

11. После этого добавить в стили шаблона (templates/corporate/css/style.css) в сасмый низ этот код, для определения активного языка сайта, который выбрал пользователь:

.lang-switch {
    display:block;
    text-align:center;  
}

.lang-switch a{
    margin-right:10px; 
}

.lang-switch a.active{
    color:#ff5500; 
}

.lang-switch img{
    margin-right:5px; 
}

ЯЗЫКИ ДОБАВЛЕНЫ, РАДУЕМСЯ, НАСЛАЖДАЕМСЯ ЖИЗНЬЮ!  smile

Сделаю обновления вашего магазина до актуальной версии системы со вем переносом ваших товаров, просьба писать в приват.
https://novabench.com/image/742206.png

2 Отредактировано Oleh (26-02-2015 20:51:57)

Re: Сделать сайт на нескольких языках.

+1000 в карму тебе, добрый человек.
Все сделал по инструкции.
у меня шаблон бесплатный и версия бесплатная (http://innovator.kyiv.ua).
Когда набираю в строке название сайта - открывает нормально.
Когда нажимаю переключить на укр. или анг. версии - переключает. а когда после этих языков нажимаю РУс. язык - выдает такую ошибку: 
Error: File /home/virtwww/w_innova1e5_3ead5685/http/templates/commerce/404.tpl not found;

Error: File /home/virtwww/w_innova1e5_3ead5685/http/templates/commerce/main.tpl not found;

Error: /home/virtwww/w_innova1e5_3ead5685/http/system/cache/templates_c/c0989ca9c16ed4ee66a549c23860f5b1.php does not exists!

Подскажите, в чем и где я допустил ошибку?

Перешел с боями на 4.8 Cor
стартовал с 4.6.1 Cor

3

Re: Сделать сайт на нескольких языках.

У вас в настройках языка стоит старый шаблон, выберите ваш и все будет работать

ImageCMS PHP Team Lead
https://github.com/imagecms/ImageCMS - ночные сборки корпорейта
https://scrutinizer-ci.com/g/imagecms/ImageCMS/badges/quality-score.png?b=development https://codeclimate.com/github/imagecms/ImageCMS/badges/gpa.svg

Thumbs up Thumbs down

4

Re: Сделать сайт на нескольких языках.

gula.andrij пишет:

У вас в настройках языка стоит старый шаблон, выберите ваш и все будет работать

А можна меня тыцьнуть мордой : где именно это изменить?

не програмист - изучаю методом тыка - по этому вопросы могут показаться и глупыми.

Перешел с боями на 4.8 Cor
стартовал с 4.6.1 Cor

5

Re: Сделать сайт на нескольких языках.

http://demoshop.imagecms.net/admin/languages как тут, для каждого языка можно установить свой шаблон

ImageCMS PHP Team Lead
https://github.com/imagecms/ImageCMS - ночные сборки корпорейта
https://scrutinizer-ci.com/g/imagecms/ImageCMS/badges/quality-score.png?b=development https://codeclimate.com/github/imagecms/ImageCMS/badges/gpa.svg

Thumbs up Thumbs down

6

Re: Сделать сайт на нескольких языках.

gula.andrij пишет:

http://demoshop.imagecms.net/admin/languages как тут, для каждого языка можно установить свой шаблон

ааа....

у меня там установлен только один шаблон: corporate. установлен для всех языков. других шаблонов нет установленных.

и все равно если после английского языка нажимаю русский (а русский пока установлен по умолчанию)
выдает ошибку:

Error: File /home/virtwww/w_innova1e5_3ead5685/http/templates/commerce/404.tpl not found;

Error: File /home/virtwww/w_innova1e5_3ead5685/http/templates/commerce/main.tpl not found;

Error: /home/virtwww/w_innova1e5_3ead5685/http/system/cache/templates_c/c0989ca9c16ed4ee66a549c23860f5b1.php does not exists!

и в строке остается такая запись:           http://innovator.kyiv.ua/ru/en 
а мне кажется, что должна быть такая:  http://innovator.kyiv.ua/ru/

hmm

Перешел с боями на 4.8 Cor
стартовал с 4.6.1 Cor

7

Re: Сделать сайт на нескольких языках.

Кажется все заработало!
огромное спасибо!

Андрію, скинь свое мило - можливо (майже 100%) будуть ще питання по цій CMS.

Перешел с боями на 4.8 Cor
стартовал с 4.6.1 Cor

8 Отредактировано Oleh (07-03-2015 01:17:47)

Re: Сделать сайт на нескольких языках.

И еще вопрос:

как сделать перевод пунктов меню? в каком файле их искать? подскажите, пожалуйста.

в инструкции указано:
"В дальнейшем все эти переменные можно будет перевести в файле: application\language\russian\main_lang.php и в аналогичных файлах на других языках."

так у меня этой папки :application\language\russian\ - нетуть

Перешел с боями на 4.8 Cor
стартовал с 4.6.1 Cor

9

Re: Сделать сайт на нескольких языках.

Oleh пишет:

перевод пунктов меню?

Перевод пунктов меню осуществляется в Админпанеле.

Модули ->Меню ->выбираем нужное меню, в колонке имя (справа от названия), кнопка с литерой T.

Когда то разрабатывал модули для ImageCMS Corporate

10

Re: Сделать сайт на нескольких языках.

Sempai пишет:
Oleh пишет:

перевод пунктов меню?

Перевод пунктов меню осуществляется в Админпанеле.

Модули ->Меню ->выбираем нужное меню, в колонке имя (справа от названия), кнопка с литерой T.

Позвольте замереть в глубоком пардоне!!!!!!!!!!!!!!!!!!
Вам +1000500 в карму.

я уже думал шо все... поседею...

Попробовал - получается.

Благодарствую, барин. завтра буду переводить.

Перешел с боями на 4.8 Cor
стартовал с 4.6.1 Cor

11

Re: Сделать сайт на нескольких языках.

И очередной вопрос:

На главной странице (innovator.kyiv.ua) выведены :
- "последнее с блога"
- "новости компании".

а когда переключаюсь на английский язык - то на ГЛАВНОЙ этих пунктов нет.
КАК ИХ ТУДА ДОБАВИТЬ?

Перешел с боями на 4.8 Cor
стартовал с 4.6.1 Cor

12

Re: Сделать сайт на нескольких языках.

Oleh пишет:

И очередной вопрос:

На главной странице (innovator.kyiv.ua) выведены :
- "последнее с блога"
- "новости компании".

а когда переключаюсь на английский язык - то на ГЛАВНОЙ этих пунктов нет.
КАК ИХ ТУДА ДОБАВИТЬ?

По идее добавишь переводы на английский публикаций, которые выводятся в этих блоках и они должны появиться.

Меня волнует, другой, казалось бы очевидный вопрос: как написать условие, при котором ссылки переключения языков появляются только если языков больше чем один?

Личная документация по ImageCMS: https://goo.gl/LzA09F

13

Re: Сделать сайт на нескольких языках.

Роман пишет:

очевидный вопрос: как написать условие, при котором ссылки переключения языков появляются только если языков больше чем один?

Очевидный ответ, если языков всего один - виджет переключения языков устанавливать не нужно.  smile

Когда то разрабатывал модули для ImageCMS Corporate

14

Re: Сделать сайт на нескольких языках.

Sempai пишет:
Роман пишет:

очевидный вопрос: как написать условие, при котором ссылки переключения языков появляются только если языков больше чем один?

Очевидный ответ, если языков всего один - виджет переключения языков устанавливать не нужно.  smile

Принцип бритвы Оккама бесценен иногда, да)

Продам ОДНУ лицензию ImageCMS Shop Premium. Писать в личку. или на Lifesaver903@yandex.ru

Thumbs up Thumbs down

15

Re: Сделать сайт на нескольких языках.

Sempai пишет:
Роман пишет:

очевидный вопрос: как написать условие, при котором ссылки переключения языков появляются только если языков больше чем один?

Очевидный ответ, если языков всего один - виджет переключения языков устанавливать не нужно.  smile

Хорошо, а если нужно менять верстку если языков больше трех, например?
Как прописать условие?

Личная документация по ImageCMS: https://goo.gl/LzA09F

16

Re: Сделать сайт на нескольких языках.

Подскажите пожалуйста, как сделать атрибуты hreflang для всех страниц?
<link rel="alternate" hreflang="cs-cz" href="http://site.com/shop/product/blabla123">
<link rel="alternate" hreflang="ru-ru" href="http://site.com/ru/shop/product/blabla123">
<link rel="alternate" hreflang="en" href="http://site.com/en/shop/product/blabla123">
Не знаю как получить язык для hreflang и часть URLa "shop/product/blabla123"

Thumbs up Thumbs down

17

Re: Сделать сайт на нескольких языках.

Не подскажите, у меня нет в принципе папки "corporate", где мне изменения делать? Версия: 4.8.1 Corporate

Thumbs up Thumbs down

18

Re: Сделать сайт на нескольких языках.

corporate - это название шаблона, у Вас может отлачаться

ImageCMS PHP Team Lead
https://github.com/imagecms/ImageCMS - ночные сборки корпорейта
https://scrutinizer-ci.com/g/imagecms/ImageCMS/badges/quality-score.png?b=development https://codeclimate.com/github/imagecms/ImageCMS/badges/gpa.svg

Thumbs up Thumbs down

19 Отредактировано AlexB (29-11-2015 00:20:02)

Re: Сделать сайт на нескольких языках.

gula.andrij пишет:

corporate - это название шаблона, у Вас может отличаться

Все, я разобрался, шаблон у меня businessimage и языки были активированы, только английский не работает, как его настроить, не подскажете?

Thumbs up Thumbs down

20

Re: Сделать сайт на нескольких языках.

businessimage

ImageCMS PHP Team Lead
https://github.com/imagecms/ImageCMS - ночные сборки корпорейта
https://scrutinizer-ci.com/g/imagecms/ImageCMS/badges/quality-score.png?b=development https://codeclimate.com/github/imagecms/ImageCMS/badges/gpa.svg

Thumbs up Thumbs down

Re: Сделать сайт на нескольких языках.

не отображается языковая панель при полном установки с демо данными
Версия: 4.12.1 ImageCMS Corporate

Thumbs up Thumbs down

22

Re: Сделать сайт на нескольких языках.

2 Александр, в 4.12.1 эта функция упразнена, используйте 4.11

Когда то разрабатывал модули для ImageCMS Corporate

Re: Сделать сайт на нескольких языках.

ваш_сайт.ru/en/ссылка на статьб
то эта стрвница не отображается и не перевоится пищет вот это Sorry, the page you're looking for doesn't exist!

Thumbs up Thumbs down

24

Re: Сделать сайт на нескольких языках.

AJIEKCAHDP пишет:

Моё руководство, так как кое-что на мой взгляд не доделано, верней кто только начал знакомится с системой, тот затратит на это время, поэтому короткое описание.

Если Вы хотите сайт сделать на нескольких языках, то необходимо сделать эти вещи:

1. Зайти в раздел админ панели (Модули -> Все модули)
2. Добавить модуль language_switch (если он у вас ещё не активен)
3. Зайти в админ панель управления сайтов, выбрать из меню (Система -> Языки)
4. Добавить несколько к примеру языков, заполнив правильно поля формы. (Языки будут созданы)
5. Выводим языки в ваш шаблон сайта с помощью виджета (Админ панель->Виджеты->Создать виджет)
6. При создании указываем имя (к примеру langs), описание любое, тип - (Модуль), внизу выбрать из списка (Языковая панель)-Жмём на кнопку создать.
7. Теперь выведем наш виджет с языками в шаблон. Через редактор шаблона (управление через админ панель) или ФТП приложение, редактируем файл заглавного шаблона main.tpl, по умолчанию находится - templates/corporate/main.tpl
8. Добавляем код виджета в то место где будет выводится у вас в шаблоне: {widget('langs')}
9. Виджет будет выведен на сайте и можно править стиль и ссылки языков.
10. В шаблоне виджета языков (находится тут: tempates/corporate/widgets/langs.tpl), заменить код на этот:

<div class="lang-switch">
{foreach $languages as $lang}
    <a href="/{echo $lang.identif . $current_address}"{if $lang['current'] == 1} class="active"{/if}><img src="{echo $lang['image']}" class="flag" alt="{$lang.lang_name}" />{$lang.lang_name}</a>
{/foreach}
</div>

11. После этого добавить в стили шаблона (templates/corporate/css/style.css) в сасмый низ этот код, для определения активного языка сайта, который выбрал пользователь:

.lang-switch {
    display:block;
    text-align:center;  
}

.lang-switch a{
    margin-right:10px; 
}

.lang-switch a.active{
    color:#ff5500; 
}

.lang-switch img{
    margin-right:5px; 
}

ЯЗЫКИ ДОБАВЛЕНЫ, РАДУЕМСЯ, НАСЛАЖДАЕМСЯ ЖИЗНЬЮ!  smile

Привет, не подскажешь в 4.11 нужно делать такие мохинации или нет?

Thumbs up Thumbs down