Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


dvigok
 Share

Recommended Posts

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

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

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

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

Версия Op[enCart 1.5.1.3

Link to comment
Share on other sites


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

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

(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),
  • +1 1
Link to comment
Share on other sites


  • 1 year later...

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

Link to comment
Share on other sites


Врогде полулилось. Теперь список стран и регионов выводится на выбранном на языке (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;
Link to comment
Share on other sites


  • 1 month later...

 

Врогде полулилось. Теперь список стран и регионов выводится на выбранном на языке (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;

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

Link to comment
Share on other sites


  • 3 weeks later...

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

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

Таблицы со странами и регионами брал с разных локализаций Опенкари. Назвал 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? Простите, но я не понял что Вы не поняли)

Link to comment
Share on other sites


  • 1 month later...

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

Усиновил три локализации Рус, Испанский, Английский (скачал этот архив и с него взял папку - 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

Link to comment
Share on other sites

  • 3 months later...

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

Таблицы со странами и регионами брал с разных локализаций Опенкари. Назвал 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) При выпотому чторе люпотому чтой страны регионы сили подгружаться в полном объеме, все что есть.

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

Link to comment
Share on other sites


  • 1 month later...

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

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

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

 

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

zone.php

country.php

4_tables_in_db.zip

Link to comment
Share on other sites


  • 1 year later...

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

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

ee85a8add2266c485bcfc196a227f19d.jpg

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

Link to comment
Share on other sites


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

Link to comment
Share on other sites


  • 3 months later...

Opencart 1.5.6.4  

 

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

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

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

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

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

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

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

 

store (4).zip

 

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

Edited by ERserver
  • +1 1
Link to comment
Share on other sites


  • 2 weeks later...

Opencart 1.5.6.4  

 

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

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

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

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

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

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

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

 

attachicon.gifstore (4).zip

 

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

 

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

 

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

Link to comment
Share on other sites


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

 

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

 

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

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

Link to comment
Share on other sites


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

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

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

 

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

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

 

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

Edited by rodigy
Link to comment
Share on other sites


  • 2 weeks later...

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

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

Link to comment
Share on other sites


  • 3 months later...
  • 3 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.