Мультимовний магазин відкриває доступ до нових ринків та аудиторій. OpenCart має потужну вбудовану систему локалізації.
Додавання нової мови
- System → Localisation → Languages
- Натисніть "+" (Add New)
- Заповніть дані мови
- Завантажте мовний пакет
Структура мовного пакету
catalog/language/uk-ua/
├── uk-ua.php # Загальні тексти
├── common/
│ ├── header.php
│ └── footer.php
├── product/
│ ├── product.php
│ └── category.php
└── checkout/
└── cart.php
Формат мовного файлу
<?php
// catalog/language/uk-ua/common/header.php
// Text
$_['text_home'] = 'Головна';
$_['text_wishlist'] = 'Список бажань (%s)';
$_['text_shopping_cart'] = 'Кошик';
$_['text_account'] = 'Особистий кабінет';
$_['text_login'] = 'Увійти';
$_['text_logout'] = 'Вийти';
$_['text_checkout'] = 'Оформити замовлення';
$_['text_search'] = 'Пошук';
Переклад контенту магазину
Товари
Catalog → Products → Edit
↓
Вкладка "Data" для кожної мови:
- Name
- Description
- Meta Title
- Meta Description
- Meta Keywords
- Tags
Категорії
Catalog → Categories → Edit
↓
Аналогічно для кожної мови:
- Name
- Description
- Meta fields
Якісний переклад — це не просто заміна слів. Адаптуйте контент до культурних особливостей цільової аудиторії.
— Локалізація vs Переклад
SEO для мультимовності
SEO URLs
Приклад структури URLs:
Ukrainian:
/uk/kategoriya/smartfony/iphone-15
English:
/en/category/smartphones/iphone-15
German:
/de/kategorie/smartphones/iphone-15
Hreflang теги
<!-- Додати в header.twig -->
<link rel="alternate" hreflang="uk" href="https://store.com/uk/product" />
<link rel="alternate" hreflang="en" href="https://store.com/en/product" />
<link rel="alternate" hreflang="x-default" href="https://store.com/en/product" />
Автоматичне визначення мови
// Визначення мови за браузером
$browser_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
$languages = [
'uk' => 'uk-ua',
'en' => 'en-gb',
'ru' => 'ru-ru'
];
if (isset($languages[$browser_lang])) {
// Redirect до відповідної версії
}
// Визначення за геолокацією (IP)
// Використовуйте MaxMind GeoIP або подібні сервіси
Перемикач мов
{# common/language.twig #}
<div class="language-switcher">
{% for language in languages %}
<a href="{{ language.url }}"
class="{% if language.code == current_language %}active{% endif %}">
<img src="{{ language.image }}" alt="{{ language.name }}">
{{ language.name }}
</a>
{% endfor %}
</div>
Валюти та формати
// Налаштування локалі
setlocale(LC_ALL, 'uk_UA.UTF-8');
// Формат дати
$_['date_format_short'] = 'd.m.Y';
$_['date_format_long'] = 'd F Y';
// Формат чисел
$_['decimal_point'] = ',';
$_['thousand_sep'] = ' ';
Поради щодо локалізації
- Враховуйте напрямок тексту (RTL для арабської, іврит)
- Адаптуйте зображення та банери
- Локалізуйте email шаблони
- Перекладіть системні повідомлення
- Тестуйте форми з різними форматами даних
Висновок
Мультимовність вимагає уваги до деталей: від технічного налаштування до культурної адаптації контенту. Інвестуйте в якісні переклади — це окупиться збільшенням конверсії на нових ринках.