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

нужен модуль для смены языка\валюты


Recommended Posts

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

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

 

можно платный

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


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

 

а можете проконсультировать поподробней?)

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


Товарищ halfhope, подсказал как настроить автовыбор языка, как оказалось и вправду в версии 2,0,3,1 эта функция работает, нужно лишь верно отстроить локали)

 

но вот с валютами до сих пор не решен вопрос

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

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

 

как то можно исправить? оплачу работу

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


  • 1 year later...
Quote

bankomat, как оказалось и вправду в версии 2,0,3,1 эта функция работает, нужно лишь верно отстроить локали

 

не подскажете как настроить?

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


Вы не совсем понимаете, что такое страна

 

И откуда она берется.

 

Код языка может браться из языка браузера (так это в принципе реализовано в опенкарте смотрите в заголовок Accept-Language

Код языка может браться из места регистрации ip - обращение к стороннему сервису

 

Откуда будете брать страну?

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

  • 10 months later...
В 09.10.2015 в 03:34, halfhope сказал:

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

подскажите пожалуйста как настроить локали правильно. бьюсь уже второй день- сайт с двумя языками- итальянский и русский(изначально планировался только итальянский+ гуглоперевод плагин,  но долбанутый ликпей уперся-давайте два языка.), при ручном переключении все работает- но не удается настроить чтобы открывалось сразу на нужном языке- к примеру основной стоит итальянский-второй русский- заходим из италии- без проблем. все на итальянском. заходим из киева- и снова здравствуйте .все на итальянском :)) если стандартное решение движка- детектор, не заточен-может модуль посоветуете? я так понял опенкарт из коробки должен понимать на каком языке показывать сайт пользователю, если этот язык настроен в админке? 

Спасибо

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


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

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

а подробнее о "правильно прописана"? у меня порядок языков следующий- 0-итальянский, 1 русский, 2 английский. в настройках локализации включен- язык сайта-итальянский, язык админки- русский. при заходе на сайт без разницы откуда- "морда итальянская"

 

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


Речь идет о локали браузера

 

Вот например

 

Accept-Language  ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3

 

А вот идет автоматическое определение языка

		// 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 : '';
		}


 

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

4 часа назад, chukcha сказал:

Если уж менять, то подключать какие-нибудь geoIP модули

я так понимаю этот код по умолчанию имеется в ocstore в файле catalog/controler/startup/startup.php?

Почему же он не срабатывает? Гео ip модуль рассматриваю но пока не нашел ни чего внятного. в идеале было бы чтоб менялся язык при заходе с браузера в котором установлен соответствующий, либо если ip соответствует, по принципу- ит-ит, ру-ру, иные-англ. и валюта также переключалась. модули пробую разные-но пока без успешно

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


20 минут назад, Dimasscus сказал:

Почему же он не срабатывает?

Потому что у вас уже, возможно, есть языковая кука

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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