• Объявления

    • dinox

      Закрытый раздел разработчиков   21.08.2017

      У нас на форуме существует закрытый раздел для разработчиков в котором мы обсуждаем нюансы работы на нашем форуме, в каталоге дополнений и другие моменты которые интересны в большинстве случаев только разработчикам. На данный момент существует лишь 2 условия для попадания:
      1. Наличие промодерированного дополнения в нашем каталоге  2. Отсуствие варезной деятельности 
      Если эти правила выполнены, пишите запрос @ArtemPitov на попадание в раздел разработчиков
dvigok

Как добавить перевод стран и городов в форме заказа

Рекомендуемые сообщения

dvigok    0

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

Установил три локализации Рус, Испанский, Английский (скачал этот архив и с него взял папку - language с нужными языками - база была с русского opencart) (http://www.opencart...._download_id=23)

- все переводится кроме стран и городов при заказе товара. Что нужно изменить (в каком файле) или что добавить.

Сайт: http://worldmapmarin...ap-of-logistics

Версия Op[enCart 1.5.1.3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Zeppelin    82

там дело не в том, что города не переводятся, в базе данных русские названия городов для Российской Федерации ну и еще нескольких родственных стран. Для остальных стран названия городов на английском.

ну а делать что, перевести названия городов

(195, 'Испания', 'ES', 'ESP', '', 0, 1),

вот для записей с признаком 195, переводишь все города, на префикс городов внимания не обращай.

(2971, 195, 'AL', 'Álava', 1),
(2972, 195, 'AB', 'Albacete', 1),
(2973, 195, 'AC', 'Alicante', 1),
(2974, 195, 'AM', 'Almeria', 1),
(2975, 195, 'AS', 'Asturias', 1),
(2976, 195, 'AV', 'Ávila', 1),
(2977, 195, 'BJ', 'Badajoz', 1),
(2978, 195, 'IB', 'Baleares', 1),
(2979, 195, 'BA', 'Barcelona', 1),
(2980, 195, 'BU', 'Burgos', 1),
(2981, 195, 'CC', 'Cáceres', 1),
(2982, 195, 'CZ', 'Cádiz', 1),
(2983, 195, 'CT', 'Cantabria', 1),
(2984, 195, 'CL', 'Castellón', 1),
(2985, 195, 'CE', 'Ceuta', 1),
(2986, 195, 'CR', 'Ciudad Real', 1),
(2987, 195, 'CD', 'Córdoba', 1),
(2988, 195, 'CU', 'Cuenca', 1),
(2989, 195, 'GI', 'Girona', 1),
(2990, 195, 'GD', 'Granada', 1),
(2991, 195, 'GJ', 'Guadalajara', 1),
(2992, 195, 'GP', 'Guipúzcoa', 1),
(2993, 195, 'HL', 'Huelva', 1),
(2994, 195, 'HS', 'Huesca', 1),
(2995, 195, 'JN', 'Jaén', 1),
(2996, 195, 'RJ', 'La Rioja', 1),
(2997, 195, 'PM', 'Las Palmas', 1),
(2998, 195, 'LE', 'Leon', 1),
(2999, 195, 'LL', 'Lleida', 1),
(3000, 195, 'LG', 'Lugo', 1),
(3001, 195, 'MD', 'Madrid', 1),
(3002, 195, 'MA', 'Malaga', 1),
(3003, 195, 'ML', 'Melilla', 1),
(3004, 195, 'MU', 'Murcia', 1),
(3005, 195, 'NV', 'Navarra', 1),
(3006, 195, 'OU', 'Ourense', 1),
(3007, 195, 'PL', 'Palencia', 1),
(3008, 195, 'PO', 'Pontevedra', 1),
(3009, 195, 'SL', 'Salamanca', 1),
(3010, 195, 'SC', 'Santa Cruz de Tenerife', 1),
(3011, 195, 'SG', 'Segovia', 1),
(3012, 195, 'SV', 'Sevilla', 1),
(3013, 195, 'SO', 'Soria', 1),
(3014, 195, 'TA', 'Tarragona', 1),
(3015, 195, 'TE', 'Teruel', 1),
(3016, 195, 'TO', 'Toledo', 1),
(3017, 195, 'VC', 'Valencia', 1),
(3018, 195, 'VD', 'Valladolid', 1),
(3019, 195, 'VZ', 'Vizcaya', 1),
(3020, 195, 'ZM', 'Zamora', 1),
(3021, 195, 'ZR', 'Zaragoza', 1),

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SantSany    0

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Zeppelin    82

список есть, по всем странам, парсера не видел

http://www.tury.ru/resort/list.php?cn=22

 

а вот тут есть базы, посмотри

https://github.com/x88/i18nGeoNamesDB

Изменено пользователем Zeppelin

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SantSany    0

Можно ведь хранить таблицы стран и регионов для каждого языка, и в зависимости от выбранного перевода сайта подставлять нужные таблицы. Только вот с моими скудными знаниями у меня не получается вычислить ту переменную которая хранит код языка. Пробовал $language_id, не определена :( Посоветуйте

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SantSany    0

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

Вместе с этим форумом я выдавил вот такое решение

  • Для каждого языка добавил таблички country и zone с нужным переводом в базу данных
  • Подкорректировал запрос к БД в файликах \model\localisation\country.php, zone.php 
    SELECT * FROM " . DB_PREFIX . "country_" . $this->session->data['language'] . " WHERE status = '1' ORDER BY name ASC"
    

Только пришлось убрать проверку на наличие списка в кеше.

public function getZonesByCountryId($country_id) {
/* 		$zone_data = $this->cache->get('zone.' . (int)$country_id);
		if (!$zone_data) { */
			$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_" . $this->session->data['language'] . " WHERE country_id = '" . (int)$country_id . "' AND status = '1' ORDER BY name");
			$zone_data = $query->rows;
			$this->cache->set('zone.' . (int)$country_id, $zone_data);
/* 		} */
		return $zone_data;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Newuser    0

 

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

Вместе с этим форумом я выдавил вот такое решение

  • Для каждого языка добавил таблички country и zone с нужным переводом в базу данных
  • Подкорректировал запрос к БД в файликах \model\localisation\country.php, zone.php 
    SELECT * FROM " . DB_PREFIX . "country_" . $this->session->data['language'] . " WHERE status = '1' ORDER BY name ASC"
    

Только пришлось убрать проверку на наличие списка в кеше.

public function getZonesByCountryId($country_id) {
/* 		$zone_data = $this->cache->get('zone.' . (int)$country_id);
		if (!$zone_data) { */
			$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_" . $this->session->data['language'] . " WHERE country_id = '" . (int)$country_id . "' AND status = '1' ORDER BY name");
			$zone_data = $query->rows;
			$this->cache->set('zone.' . (int)$country_id, $zone_data);
/* 		} */
		return $zone_data;

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SantSany    0

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

А что конкретно Вам не ясно?

Таблицы со странами и регионами брал с разных локализаций Опенкарта. Назвал country_ru, country_en, zone_ru, zone_en.

Найдите в файлах \model\localisation\country.php и zone.php  строку 

SELECT * FROM " . DB_PREFIX . "country"  WHERE status = '1' ORDER BY name ASC"

 и замените на 

SELECT * FROM " . DB_PREFIX . "country_" . $this->session->data['language'] . " WHERE status = '1' ORDER BY name ASC"

во втором файле, вместо country - zone

$this->session->data['language'] эта переменная хранит код используемого языка. То есть теперь данные будут браться из таблички country_ru или country_en в зависимости от выбранного языка 

Или Вам объяснить как работать в phpmyadmin? Простите, но я не понял что Вы не поняли)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ivanesses    0

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

Установил три локализации Рус, Испанский, Английский (скачал этот архив и с него взял папку - language с нужными языками - база была с русского opencart) (http://www.opencart...._download_id=23)

- все переводится кроме стран и городов при заказе товара. Что нужно изменить (в каком файле) или что добавить.

Сайт: http://worldmapmarin...ap-of-logistics

Версия Op[enCart 1.5.1.3

 

новое решение Countries & Zones PRO (Страны и Зоны PRO) 3.14

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
KomArt    0

А что конкретно Вам не ясно?

Таблицы со странами и регионами брал с разных локализаций Опенкарта. Назвал country_ru, country_en, zone_ru, zone_en.

Найдите в файлах \model\localisation\country.php и zone.php  строку 

SELECT * FROM " . DB_PREFIX . "country"  WHERE status = '1' ORDER BY name ASC"

 и замените на 

SELECT * FROM " . DB_PREFIX . "country_" . $this->session->data['language'] . " WHERE status = '1' ORDER BY name ASC"

во втором файле, вместо country - zone

$this->session->data['language'] эта переменная хранит код используемого языка. То есть теперь данные будут браться из таблички country_ru или country_en в зависимости от выбранного языка 

Или Вам объяснить как работать в phpmyadmin? Простите, но я не понял что Вы не поняли)

 

Сделал все по Вашему описанию, но вылезло 2 косяка:

1) При создании отдельных таблиц в БД для разных языков все равно на странице оформления заказа выдает ошибку, что не может найти в данной бд таблицу с предыдущем именем (оригинальную таблицу), не могу понять откуда еще не нее ссылается opencart.

2) При выборе любой страны регионы стали подгружаться в полном объеме, все что есть.

Подскажите в чем может быть дело?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SantSany    0

Если еще актуально... Был оффлайн)

Прикрепил два изменённых файлика и четыре таблицы в формате sql. Если в вашей БД есть таблице с такими именами, удалите их, потом импортируйте мои.

Сделайте копии своих файлов и БД сначала

 

Все изменения делаете на свой страх и риск.

zone.php

country.php

4_tables_in_db.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
supmener    12

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

Пример ошибочных данных. Этот скриншот сделал с примера, что предлагает указанный продавец модуля с пометкой PRO на странице товара.

ee85a8add2266c485bcfc196a227f19d.jpg

Список районов на самом деле

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
supmener    12
supmener    12

Думаю, для таких ситуаций возможен вариант, когда снизу или сверху выпадающего списка регионов есть дополнительное поле с надписью сверху него: "Если вашей области (региона) нету в выпадающем списке, введите
название здесь:".
Если пытаться добавлять недостающие области вручную, то думаю, что всё равно нужен такой вариант, потому что сложно может быть разобраться, какое территориальное деление существует в настоящее время и какие правильные названия.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ERserver    2

Opencart 1.5.6.4  

 

1. Скачиваем архив,

2. разархивируем.

3. Увидим  store (4).sql

4. Идем в свою базу данных - делаем её бекап

5. Удаляем Ваши английские  oc_coutry, oc_zone таблицы из базы данных

6. Заливаем эти

Радуемся потому что у нас все на русском.

 

store (4).zip

 

Удачи всем.  Я так долго мучался и решение нашлось

Изменено пользователем ERserver

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
trotsan    1

Opencart 1.5.6.4  

 

1. Скачиваем архив,

2. разархивируем.

3. Увидим  store (4).sql

4. Идем в свою базу данных - делаем её бекап

5. Удаляем Ваши английские  oc_coutry, oc_zone таблицы из базы данных

6. Заливаем эти

Радуемся потому что у нас все на русском.

 

attachicon.gifstore (4).zip

 

Удачи всем.  Я так долго мучался и решение нашлось

 

матюкается на ошибки, но основной костяк СНГ-стран перевелся полностью. Большое спасибо! 

 

НО! Крым и его города по-прежнему приписываются к Украине. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ERserver    2

матюкается на ошибки, но основной костяк СНГ-стран перевелся полностью. Большое спасибо! 

 

НО! Крым и его города по-прежнему приписываются к Украине. 

 

У меня ошибок не было - странно

Брал перевод с чистого opencart 1.5.6.4

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
rodigy    10

есть у кого-нибудь база германии и зоны? очень надо

Изменено пользователем rodigy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
jvz    119

Крым и его города по-прежнему приписываются к Украине.

Все верно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
rodigy    10

Если еще актуально... Был оффлайн)

Прикрепил два изменённых файлика и четыре таблицы в формате sql. Если в вашей БД есть таблице с такими именами, удалите их, потом импортируйте мои.

Сделайте копии своих файлов и БД сначала

 

Все изменения делаете на свой страх и риск.

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

 

p.s.решил проблему другим способом : просто скопировал старую country и zone в country_ru и zone_ru

Изменено пользователем rodigy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
VladSiy    0

А есть у кого-нибудь страны и зоны на украинском языке? 

Или же, может кто-то знает, как из exel сделать импорт в таблицу mysql? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
orange13    0

Если на новом магазине - то проблема решается редактированием файла установщика. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

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