Настройка мультиязычности и мультивалютности OpenCart под ключ

Настройка мультиязычности и мультивалютности OpenCart

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Настройка мультиязычности и мультивалютности OpenCart под ключ
Средний
~2-3 дня

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1414
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    982
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1241
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    982
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    995

Настройка мультиязычности и мультивалютности OpenCart

Мы настроили мультиязычность и мультивалютность для 15+ магазинов на OpenCart — знаем все подводные камни. Часто клиенты сталкиваются с тем, что после установки языков цены не обновляются, SEO-URL дублируются или переключатель языка ведёт на главную. Мы решаем эти проблемы комплексно: под ключ за 2–4 дня. Наша гарантия — корректная работа на всех языках и валютах, с автоматическими курсами и правильными hreflang-тегами. Оценим ваш проект бесплатно — просто напишите.

OpenCart изначально спроектирован с поддержкой нескольких языков и валют — это не дополнение, а часть ядра. Но «работает из коробки» и «настроено правильно» — разные вещи. Здесь разберём полный цикл настройки: от установки языков до автообновления курсов через API НБРБ и мультимагазина на разных доменах.

Например, интернет-магазин одежды с аудиторией в Беларуси, России и Казахстане — без мультиязычности и правильных валют теряет до 30% конверсии. Мы помогаем избежать этого.

Локализация интерфейса: установка языков и переводы

OpenCart поставляется с английским языком (en-gb). Для добавления русского, белорусского и других языков нужно скачать языковой пакет (официальный на opencart.com или GitHub) и установить через Extension Installer. После активации языка в панели управления (System → Localization → Languages) он становится доступен для выбора.

Кастомные строки в модулях или темах добавляются через языковые файлы в соответствующих директориях. Например, для модуля mymodule в catalog/language/ru-ru/module/. Использование в контроллере: $this->load->language('module/mymodule');, в Twig-шаблоне — {{ text_add_cart }}. Если перевод отсутствует для какого-либо языка, OpenCart отображает описание языка по умолчанию.

Мультиязычный контент и SEO

Каждый товар имеет описание на каждом языке. В базе данных это хранится в таблице oc_product_description с полем language_id. В административной панели при редактировании товара доступны вкладки для каждого языка — заполняются отдельно.

Для корректной SEO-индексации каждому языку нужен свой SEO-URL. В админке в разделе SEO товара можно задать уникальный keyword для каждого языка. Также необходимо добавить hreflang-теги в шапку сайта — OpenCart не делает это автоматически, требуется доработка:

{% for lang in languages %} <link rel="alternate" hreflang="{{ lang.code }}" href="{{ lang.href }}"> {% endfor %} <link rel="alternate" hreflang="x-default" href="{{ canonical }}"> 

Данные для languages передаются из контроллера через модификацию header-контроллера.

Как настроить автообновление курсов через API НБРБ?

Добавление валюты в OpenCart: через панель управления (System → Localization → Currencies → Add Currency). Пример для трёх валют магазина, ориентированного на СНГ:

Валюта Код Символ Decimals Default
Белорусский рубль BYN Br 2 Да
Российский рубль RUB 2 Нет
Доллар США USD $ 2 Нет

OpenCart поддерживает автообновление курсов через ECB (Европейский центральный банк), но для BYN это неудобно. Мы используем кастомный скрипт с парсингом API НБРБ:

// shell/update_currencies.php $nbrb = json_decode(file_get_contents('https://api.nbrb.by/exrates/rates?periodicity=0'), true); $rates = array_column($nbrb, 'Cur_OfficialRate', 'Cur_Abbreviation'); $pdo = new PDO("mysql:host=localhost;dbname=opencart", 'user', 'pass'); foreach (['USD', 'EUR', 'RUB'] as $currency) { if (isset($rates[$currency])) { $stmt = $pdo->prepare("UPDATE oc_currency SET value = ?, date_modified = NOW() WHERE code = ?"); $stmt->execute([1 / $rates[$currency], $currency]); } } 

Запускайте этот скрипт по cron каждый день. Автоматическое обновление через cron в 10 раз надёжнее ручного — исключает ошибки и пропуски.

Переключатели языка и валюты

Стандартные переключатели OpenCart работают через формы POST на соответствующие контроллеры. В шаблонах используется переменная languages (для языка) и currencies (для валюты). Чтобы избежать редиректа на главную при смене языка, обязательно передавайте текущий URL как скрытый параметр redirect. Это часто ломается в нестандартных темах — мы проверяем и чиним.

Мультимагазин на разных доменах

OpenCart позволяет настроить несколько магазинов с общей базой данных, но разными доменами, языками и валютами. В админке создаётся новый магазин (System → Settings → Add Store) с указанием домена и настроек по умолчанию. Товары привязываются к магазинам через вкладку «Links». Nginx при этом использует один конфиг, а OpenCart определяет store_id по HTTP_HOST. Это удобно для региональных версий.

Почему SEO-URL могут дублироваться и как это исправить?

Каждая запись в таблице oc_seo_url должна иметь уникальное сочетание (store_id, language_id, keyword). Если вы случайно создали одинаковые ключевые слова для разных языков, это приведёт к дублям. Проверить можно SQL-запросом:

SELECT keyword, COUNT(*) FROM oc_seo_url GROUP BY keyword HAVING COUNT(*) > 1; 

Решение — удалить дубли и задать уникальные ключевые слова для каждого языка.

Что входит в настройку под ключ

  • Установка и активация языковых пакетов (русский, белорусский, английский и др.)
  • Перевод системных фраз и кастомных модулей
  • Настройка SEO-URL для каждого языка и hreflang-тегов
  • Добавление необходимых валют и настройка автообновления курсов (ECB или API НБРБ/ЦБ РФ)
  • Интеграция переключателей языка и валюты в тему (с корректным редиректом)
  • Настройка мультимагазина (если требуется)
  • Тестирование на всех языках и валютах, исправление типичных ошибок
  • Предоставление документации по управлению (добавление новых языков, обновление курсов)

Почему выбирают нас

5 лет на рынке Web-разработки, более 20 успешных проектов на OpenCart. Наши инженеры сертифицированы по направлению «OpenCart Professional». Мы даём гарантию на все работы — если что-то пошло не так, поправим бесплатно.

Сроки и стоимость

Минимальный проект (2 языка + 1 валюта) — от 2 дней. Сложные конфигурации с мультимагазином и кастомными источниками курсов — до 4 дней. Стоимость рассчитывается индивидуально после анализа вашего магазина. Напишите нам для оценки.