Языки сайта

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

market
market
Репутация: 0
Сообщения: 7
Зарегистрирован: 07.03.2019
С нами: 5 лет

Сообщение #1 market » 08.05.2019, 09:39

Добрый день!

Столкнулся со следующий проблемой:

Пытаюсь добавить язык на сайт, в файле: backend/lang/languages_list.php
По аналогии с предыдущими языками добавляю новый язык.
В админке все работает, язык можно выбрать и активировать.
Но при выходе в витрину, при переключении языка выдает 404

Что не так? Прошу помочь советом.
Версия сайта v.2.2.3


Спасибо

apetruniv
apetruniv
Репутация: 4
Сообщения: 31
Зарегистрирован: 25.02.2019
С нами: 5 лет 1 месяц

Сообщение #2 apetruniv » 09.05.2019, 16:04

в папке шаблона файл языка также добавил?

market
market
Репутация: 0
Сообщения: 7
Зарегистрирован: 07.03.2019
С нами: 5 лет

Сообщение #3 market » 12.05.2019, 12:56

Добрый день!

А какой путь к файлу?

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #4 korshunov » 13.05.2019, 10:48

Многое зависит от точных деталей Вашего расплывчатого "По аналогии с предыдущими языками добавляю новый язык".

1. Если в backend/lang/languages_list.php добавить строку
$langs['zz'] = (object)array('name' => 'TESTzz', 'label' => 'zz', 'href_lang' => 'zz');
то с этой строкой у меня все работает: добавляется язык, редактируются языковые, показывается витрина.

2. Если в backend/lang/languages_list.php добавить строку
$langs['yy'] = (object)array('name' => 'TESTyy', 'label' => 'yyy', 'href_lang' => 'yy');
то тут уже начинаются капризы - в админке не проходит добавление нового языка c сообщением Метка пуста.
Видимо, параметры в этой стороке нельзя писать совсем произвольно. Похоже, разработчики тут подарили нам избыточные данные, что, как известно, порождает лишние ошибки.

3. Если в backend/lang/languages_list.php добавить строку
$langs['xxx'] = (object)array('name' => 'TESTxx', 'label' => 'xxx', 'href_lang' => 'xx');
то тут уже сюрпризы другие - в админке новый язык добавляется, но на витрине имеем 404 - в точности как у ТС.
Вероятно, код языка требуется непременно двухсимвольный. Похоже, и тут создано довольно неудобное ограничение...

Вывод очевидный: в организации мультиязычности еще масса недостатков.

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

И кстати, вспоминаются многократные дискуссии на форуме про документацию - просто ДОЛЖНА быть инструкция по добавлению языков, раз уж разработчики решили сделать столь запутанную реализацию...

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 216
Сообщения: 1627
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Сайт Skype

Сообщение #5 OkayCMS » 13.05.2019, 16:15

market писал(а):Добрый день!

Столкнулся со следующий проблемой:

Пытаюсь добавить язык на сайт, в файле: backend/lang/languages_list.php
По аналогии с предыдущими языками добавляю новый язык.
В админке все работает, язык можно выбрать и активировать.
Но при выходе в витрину, при переключении языка выдает 404

Что не так? Прошу помочь советом.
Версия сайта v.2.2.3


Спасибо
Напишите в техподдержку какой язык нужно добавить, вам сделают.

wolf
wolf
Репутация: 3
Сообщения: 27
Зарегистрирован: 27.01.2017
С нами: 7 лет 2 месяца

Сообщение #6 wolf » 14.05.2019, 22:58

Доброго времени суток! Как изменить дефолтный язык сайта? Чтобы по умолчанию украинская версия сайта отображалась https://sitename.com/, а русскоязычная https://sitename.com/ru/. Спасибо.

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #7 korshunov » 15.05.2019, 06:37

В списке языков поставить Украинский на первое место.

wolf
wolf
Репутация: 3
Сообщения: 27
Зарегистрирован: 27.01.2017
С нами: 7 лет 2 месяца

Сообщение #8 wolf » 15.05.2019, 07:32

Спасибо за ответ! Уточните, в каком списке языков?

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 216
Сообщения: 1627
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Сайт Skype

Сообщение #9 OkayCMS » 15.05.2019, 07:41

Настройки сайта - Языки сайта

wolf
wolf
Репутация: 3
Сообщения: 27
Зарегистрирован: 27.01.2017
С нами: 7 лет 2 месяца

Сообщение #10 wolf » 15.05.2019, 10:01

Все ок, спасибо!!!

Elanlar
Elanlar
Репутация: 9
Сообщения: 44
Зарегистрирован: 16.04.2018
С нами: 5 лет 11 месяцев

Сообщение #11 Elanlar » 06.01.2020, 16:35

korshunov писал(а):3. Если в backend/lang/languages_list.php добавить строку
$langs['xxx'] = (object)array('name' => 'TESTxx', 'label' => 'xxx', 'href_lang' => 'xx');
то тут уже сюрпризы другие - в админке новый язык добавляется, но на витрине имеем 404 - в точности как у ТС.
Вероятно, код языка требуется непременно двухсимвольный. Похоже, и тут создано довольно неудобное ограничение...
Добрый вечер! Как можно сделать так чтоб число символов было не 2 а 3 и более.

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #12 korshunov » 06.01.2020, 17:32

Пробуйте в .htaccess заменить ([a-z]{2}/)? на ([a-z]{2,3}/)? - c этим вроде бы должно заработать с 3 символами.
А если произвольное число хотите, могут проблемы разные выскочить.

Собственно, они и сейчас есть.
Если создать страницу с URL 'en' (совпадает с кодом языка), то админка такое разрешает. Но
1. при попытке открыть страницу на основном языке http://domain.com/en открывается главная на английском, то есть страница не работает,
2. при попытке открыть страницу на других языках http://domain.com/en/en, http://domain.com/ua/en, работает нормально.

Подобное будет, если создать страницу с URL 'ok' (два символа, не совпадает с кодом языка). На основном языке - по адресу http://domain.com/ok дает ошибку, на прочих языках (http://domain.com/en/ok, http://domain.com/ua/ok) работает нормально.

Если хотите любое число символов, то, чтобы работало полностью правильно, надо немало переделывать.
А судя по реакции разработчиков на тему, даже дать инструкцию по добавлению языков не совсем просто, не говоря уж о том, чтобы перепрограммировать всю схему. В документации, которая появилась в 3.3.4, по методам добавления языков я ничего не нашел...


Название раздела: Вопросы по работе с OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Вопросы по работе с OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 16 гостей