Слетает локализация сайта

локализация

#31 10 декабря 2019 в 12:59
Notice говорит, что не определены константы. Посмотрите, есть ли у вас файл system/languages/ru/language.php, открывается ли он. Перезалейте.
#32 10 декабря 2019 в 15:17


Notice говорит, что не определены константы. Посмотрите, есть ли у вас файл system/languages/ru/language.php, открывается ли он. Перезалейте.

@IamB
Файл на месте, в файловом редакторе открывается, на сайте, разумеется, нет, 403 Forbidden. Но проблема не в константах, я думаю, а в том, что каким-то образом в конфиге меняется настройка языка с ru на ru-ru, стоит это предотвратить (защитить файл от изменений) и все ошибки пропадают.

Нашла еще одно решение. Создала рядом папочку языка "ru-ru", все, заработало. Видимо в коде где-то все же ошибка, непонятно, почему не на всех сайтах проявляется.
#33 10 декабря 2019 в 16:08
ZlataJesen, в любом случае, полностью запретить запись в config.php — не очень хорошая идея, вы потом из админки не сможете поправить находящиеся там значения.
И раз уж пошли эксперименты, попробуйте в config.php на работающем сайте "ru-ru" заменить на "ru" .

P.S. Посмотрите файл /install/index.php до строки 34.
#34 12 декабря 2019 в 11:07

P.S. Посмотрите файл /install/index.php до строки 34

@lamB

Папку install удаляю, как положено, после установки, а в исходниках файл одинаковый для двух сайтов.

И раз уж пошли эксперименты, попробуйте в config.php на работающем сайте "ru-ru" заменить на "ru" .

@lamB

Да в том-то и дело, что меняла. Слетает. Оставила папку ru-ru, проблемы ушли. Даже с разблокированным (644) конфигом.
#35 12 декабря 2019 в 12:07

Папку install удаляю, как положено, после установки, а в исходниках файл одинаковый для двух сайтов.

ZlataJesen
Вы правильно её удаляете после установки, но во время установки в install/index.php и формируется ваше "ru-ru".
#36 12 декабря 2019 в 12:13


во время установки в install/index.php и формируется ваше "ru-ru".

@IamB
Недостаточно хорошо знаю PHP, чтобы что-то понять в этом файле.
Установка была одинаковая для двух сайтов и даже на одном хостинге (правда, в разных аккаунтах, рабочем и личном).
Версия PHP 7.1 и там и там.
Готова установить еще десяток раз, если скажете, что поправить в файле😊
Код (до строки 34) такой:

  1.  
  2.  
  3. <?php
  4.  
  5.  
  6. define('DS', DIRECTORY_SEPARATOR);
  7. define('PATH', dirname(__FILE__).DS);
  8. define('DOC_ROOT', str_replace(DS, '/', realpath($_SERVER['DOCUMENT_ROOT'])));
  9.  
  10. header("Content-type:text/html; charset=utf-8");
  11.  
  12. include PATH . 'functions.php';
  13.  
  14. $all_langs = get_langs();
  15. $default_lang = 'en';
  16.  
  17. if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
  18. $user_lang = strtolower(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2));
  19. if(in_array($user_lang, $all_langs)){
  20. $default_lang = $user_lang;
  21. }
  22. }
  23.  
  24. if (isset($_REQUEST['lang'])){
  25. if(in_array($_REQUEST['lang'], $all_langs)){
  26. $_SESSION['install']['lang'] = $_REQUEST['lang'];
  27. header('Location: ' . $_SERVER['SCRIPT_NAME']);die;
  28. }
  29. }
  30.  
  31. $is_lang_selected = isset($_SESSION['install']['lang']);
  32. $lang = $is_lang_selected ? $_SESSION['install']['lang'] : $default_lang;
  33. define('LANG', $lang);
  34.  
  35.  
#37 12 декабря 2019 в 13:15
ZlataJesen, создайте на сервере в корне сайта папку install, в неё файл поместите файл index.php со следующим содержимым, в папку поместите файл functions.php и папки из родной установки.
Запускайте, то что у вас есть сейчас сломано не будет. Результаты сюда.
#38 12 декабря 2019 в 13:42


ZlataJesen, создайте на сервере в корне сайта папку install, в неё файл поместите файл index.php со следующим содержимым, в папку поместите файл functions.php и папки из родной установки.
Запускайте, то что у вас есть сейчас сломано не будет. Результаты сюда.

@IamB

  1.  
  2.  
  3. array(2) { [0]=> string(2) "en" [1]=> string(2) "ru" } HTTP_ACCEPT_LANGUAGE ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3ru ruREQUEST langru ruДальше нам пока не нужно
  4.  
  5.  
Кстати, сейчас в админке стоит в раскладушке локализация RU-RU, изначально такого даже варианта не было. Появилось, наверное, уже после добавления папки ru-ru.

P.S. Нашла еще одно отличие между сайтами. Тот, который работает нормально, изначально устанавливался на домен. Тот, который с проблемой локализации — на поддомен. Может это быть важно?
#39 12 декабря 2019 в 14:46
ZlataJesen, установка здесь корректно работает, так что эта версия отпадает.
У меня на beget есть бесплатный аккуант, ставил недавно — проблем не было. Ограничений на установку на домен 3 уровня нет.

В этой теме писали, что проблемы могут возникнуть из-за настроек компьютера и используемого браузера.
Пробовали что-то в этом направлении сделать? Хотя эта версия — так себе.
#40 12 декабря 2019 в 14:57


ZlataJesen, установка здесь корректно работает, так что эта версия отпадает.
У меня на beget есть бесплатный аккуант, ставил недавно — проблем не было. Ограничений на установку на домен 3 уровня нет.

В этой теме писали, что проблемы могут возникнуть из-за настроек компьютера и используемого браузера.
Пробовали что-то в этом направлении сделать?

@IamB

Браузер и дома и на работе — Firefox, ОС — Windows 10 Pro x64 и там и там.
То, что на работе AMD, а дома Intel Core, думаю, не имеет значения.
Тарифы на аккаунтах хостинга — разные, но при установке и там и там проверка пройдена успешно.
Ради интереса проверки зашла с рабочего браузера (который, якобы, может выдавать ошибку) в админку домашнего сайта, попереключала кучу настроек — никакого эффекта, то есть поломок, не выявлено.
Не знаю. Просто не знаю, что влияет. В принципе, вопрос с папочкой ru-ru на время решил проблему, при обновлении планирую так же скопировать новую папку локализации и переименовать. Хотя мне не сложно и в конфиге, если что, изменить 1 на NULL для отключения сайта… Просто непонятная какая-то ситуация.
#41 12 декабря 2019 в 15:22
ZlataJesen, давайте в сторону поддомена копнём.
Создайте в корне сайта файл 1.php
  1.  
  2. <?php
  3. echo $_SERVER['DOCUMENT_ROOT']." ";
  4. echo __DIR__;
  5.  
Запускайте, результат сюда или в личку.
#42 12 декабря 2019 в 15:35


ZlataJesen, давайте в сторону поддомена копнём.

@IamB

  1.  
  2.  
  3. /home/l/login/folder/public_html /home/l/login/folder/public_html
  4.  
  5.  
Ну, понятное дело, что пути я тут выкладывать не стану, но идентичны.
Пути, по сути, и не должны отличаться. Какая разница, какой домен/поддомен, папка сайта создается ДО создания сайта и независима от домена/поддомена…
#43 12 декабря 2019 в 15:56

Пути, по сути, и не должны отличаться.

ZlataJesen
Но могут.
#44 12 декабря 2019 в 16:09
ZlataJesen, у beget есть установка icms2 из панели. Можно попробовать, если будет так же неудачно, то можно спросить хостера.
#45 12 декабря 2019 в 16:20


ZlataJesen, у beget есть установка icms2 из панели. Можно попробовать, если будет так же неудачно, то можно спросить хостера.

@IamB

Интересный вариант)) Можно попробовать. Расскажу тогда. Спасибо!
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.