Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Язык по-умолчанию Opencart 2.3.0.2


Recommended Posts

при разработке сайта обнаружила, что не удается настроить язык по умолчанию для магазина в версии Opencart 2.3.0.2

Эта проблема возникает только тогда, когда среди языков присутствует русский. (кеш и куки я сбрасывала)

Если его удалить, то дефолтный язык среди двух других иностранный устанавливается и меняется легко.

Я даже развернула на субдомене нулевую сборку с офсайта - проблема та же, и именно на версии 2.3.0.2

У меня есть подозрение, что сайт как-то подцепляет язык браузера или винды, и потому так упорно не хочет сделать дефолтным иной язык.

в Opencart 2.2 такой проблемы нет, так как там немного иначе реализована локализация -  папки называются полными именами языков, а не ru-ru, а opencart  версии 2.3 подцепляет название папок, как код языка.

Может кто-то сталкивался с такой проблемой и знает как её безболезненно решить?

Змінено користувачем Xelen
  • +1 1
Надіслати
Поділитися на інших сайтах

3 минуты назад, Tom сказал:

Здесь есть такая проблема?

а как узнать?

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

Там сейчас по дефолту русский стоит в админке.

 

Вот сегодня раскинула демку, скачанную  сайта opencart

http://monaok1.aviofly.ru/

 

Ничего там не меняла, добавила только 2 языка - немецкий и русский

Английский стоит по дефолту.

При сбросе кук и кеша, кидает ан русскую версию

Надіслати
Поділитися на інших сайтах

Цитата

Вот сегодня раскинула демку, скачанную  сайта opencart

Я не зря дал ссылку на демку сборки данного форума.Скачайте и проверьте.Ссылка на скачивание в верхней части форума в меню в разделе Ocstore.

Надіслати
Поділитися на інших сайтах

Скачала последнюю сборку версии  2.3.0.2.2 тут https://myopencart.com/downloads 

установила эту сборку сюда же

 

Поставила дефолтным английский язык.

Сайт показывает по-русски в хроме и мозилле. После сброса кук и кеша, все равно остается русский

То есть проблема осталась

Надіслати
Поділитися на інших сайтах

14 минут назад, thentru сказал:

А папку с кэшем чистили?
system\storage\cache

только что почистила - не помогает.

У меня все же подозрение, что магазин как-то подцепляет язык системы

когда русский убирала, было ещё 2 иностранных языка, между ними переключение получалось

Надіслати
Поділитися на інших сайтах

Я проводила тесты, переназывала папку ru-ru  в другое название языка nl-nl ,  и внутри файл языка тоже называла nl-nl.php

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

То есть дело в названии папки, которую магазин подцепляет, как код языка

В Opencart 2.2  папка называлась russian  и такой проблемы нет,

Надіслати
Поділитися на інших сайтах

Ваш тестовый сайт у меня на английском.Хром,мазила,Edge.Что не так?

 

http://joxi.ru/5mdnoKvtEG9oA1

 

 

Надіслати
Поділитися на інших сайтах

@Xelen Вы правы, детект языка браузера есть
в файле catalog\controller\startup\startup.php
 

Скрытый текст

// Language Detection
		if (!empty($this->request->server['HTTP_ACCEPT_LANGUAGE']) && !array_key_exists($code, $languages)) {
			$detect = '';
			
			$browser_languages = explode(',', $this->request->server['HTTP_ACCEPT_LANGUAGE']);
			
			// Try using local to detect the language
			foreach ($browser_languages as $browser_language) {
				foreach ($languages as $key => $value) {
					if ($value['status']) {
						$locale = explode(',', $value['locale']);
						
						if (in_array($browser_language, $locale)) {
							$detect = $key;
							break 2;
						}
					}
				}	
			}			
			
			if (!$detect) { 
				// Try using language folder to detect the language
				foreach ($browser_languages as $browser_language) {
					if (array_key_exists(strtolower($browser_language), $languages)) {
						$detect = strtolower($browser_language);
						
						break;
					}
				}
			}
			
			$code = $detect ? $detect : '';
		}

 

 

Змінено користувачем thentru
  • +1 5
Надіслати
Поділитися на інших сайтах


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

А жу только потом, если языка браузера нет в магазине, он показывает дефолтный.

Поэтому, при удалении русского, магазин включался на дефолтном английском.

Если мне не нужен такой функционал, то можно просто закомментировать этот код?

Я так понимаю, это такое "улучшение" в версии 2.3

Надіслати
Поділитися на інших сайтах

@Xelen да, можно закомментировать, тогда будет изначально дефолтный, если в куках и сессии нет данных

  • +1 2
Надіслати
Поділитися на інших сайтах


  • 3 months later...
  • 1 year later...

Добрый день. У меня такая же проблема возникла. opencart 3.0, в магазине два языка русский и украинский, ставлю по умолчанию украинский, но все равно отображается русский. Код в файле catalog\controller\startup\startup.php  закомментировала, кеш модификаций и общий кеш почистила, но не помогло, все равно по-умолчанию русский.
 

Надіслати
Поділитися на інших сайтах


  • 1 year later...
7 минут назад, Alexkoba сказал:

А я когда комментирую или вырезаю код, у меня просто перестаёт работать сайт. OcStore 2.3

значит делаете что-то не то
в логах ошибок сайта и сервера можно посмотреть в чем проблема

Надіслати
Поділитися на інших сайтах


3 минуты назад, thentru сказал:

значит делаете что-то не то

Да! Только что заметил, что захватил лишний код. Исправил, и всё заработало. Огромное Человеческое Спасибо! :-)

Надіслати
Поділитися на інших сайтах


  • 3 weeks later...
В 28.01.2020 в 13:55, Alexkoba сказал:

Да! Только что заметил, что захватил лишний код. Исправил, и всё заработало. Огромное Человеческое Спасибо! :-)

Извиняюсь,а какой код нужно закоментировать или удалить,у меня не получается.

Надіслати
Поділитися на інших сайтах


2 часа назад, oleksandrdubyna сказал:

Извиняюсь,а какой код нужно закоментировать или удалить,у меня не получается.

Смотрите второе сообщение @thentru

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.