Переводы — важный элемент успеха интернет-магазина, особенно на международной арене. PrestaShop всегда предлагал встроенные средства для локализации, однако с версией 1.7.6.x произошёл значительный переход к новой системе переводов. Рассмотрим, чем новая система отличается от старой, какие преимущества она даёт и почему это изменение было необходимо.
Старая система переводов (до версии 1.7.6.x)
До версии 1.7.6.x переводы в PrestaShop хранились в виде PHP-файлов с массивами строк. Этот процесс был автоматизирован в админ-панели, где можно было изменить или добавить переводы. Пример строки из старой системы:
global $_MODULE;
$_MODULE = array();
$_MODULE['<{favoriteeasy}prestashop>favoriteeasy_d8f16dbe6407f93fffdf30e1aa76aaa1'] = 'Список желаний / Избранные товары';
$_MODULE['<{favoriteeasy}prestashop>favoriteeasy_a57f60d12bb941abf2b34a8f7cc1374e'] = 'Вся информация будет удалена, вы уверены?';
Преимущества старой системы включали:
- Простота управления через админ-панель: Пользователи могли редактировать переводы прямо в панели администратора.
- Гибкость: Можно было быстро добавить новый язык или изменить существующие строки.
Однако были и проблемы:
- Разрозненность файлов: Каждый модуль и тема имели свои отдельные файлы, что создавало сложности при масштабировании и усложняло управление переводами.
- Риски при обновлении: Во время обновления модулей или тем переводческие файлы могли перезаписываться, что могло привести к потере всех изменений.
Новая система переводов (с версии 1.7.6.x)
С версии 1.7.6.x PrestaShop перешёл на новую систему переводов, основанную на фреймворке Symfony и компоненте Symfony Translation. Основное отличие — это переход к формату XLIFF (XLF), который является промышленным стандартом для управления переводами.
Пример строки перевода в новом формате:
<trans-unit id="favoriteeasy.list_wishlist" resname="list_wishlist">
<source>Список желаний / Избранные товары</source>
<target>Wishlist / Favorite products</target>
</trans-unit>
Ключевые преимущества новой системы:
- Централизованное управление: Все переводы теперь организованы в одном месте, что упрощает управление через админ-панель.
- Устойчивость к обновлениям: Переводы больше не перезаписываются при обновлении модулей или тем, что гарантирует сохранность всех внесённых изменений.
- Лучшая производительность: XLIFF-файлы быстрее обрабатываются системой, что снижает нагрузку на сервер и ускоряет работу.
- Совместимость с профессиональными инструментами: XLIFF — это стандартный формат для систем управления переводами, таких как Poedit и Crowdin, что упрощает работу с большими объёмами переводов и локализацией на новые языки.
Почему произошёл этот переход?
PrestaShop стремился улучшить управление переводами, обеспечить их безопасность при обновлениях и повысить производительность системы, особенно для магазинов, работающих с несколькими языками. Как заявляют разработчики PrestaShop:
«Мы обновили систему переводов, чтобы сделать процесс локализации более гибким и удобным для пользователей. Новая структура переводов улучшает производительность и устраняет проблемы, связанные с потерей изменений при обновлениях».
Примеры использования новой системы
Рассмотрим пример изменения текста кнопки «Добавить в корзину». Раньше это выглядело следующим образом:
- Через админ-панель пользователь находил строку в PHP-файле перевода.
- При обновлении модуля или темы изменения могли быть утеряны.
Теперь с системой XLIFF процесс упрощён: перевод легко редактируется через интерфейс, а все изменения сохраняются независимо от обновлений. Вот как это выглядит:
<trans-unit id="cart.add_to_cart" resname="add_to_cart">
<source>Добавить в корзину</source>
<target>Buy now</target>
</trans-unit>
Будущее системы переводов
Благодаря использованию стандарта XLIFF, PrestaShop стал более совместим с профессиональными инструментами локализации, что даёт владельцам магазинов больше возможностей для автоматизации перевода и управления языковыми версиями сайта. Это также позволяет быстрее и эффективнее добавлять новые языки и интегрироваться с глобальными рынками.
Переход на новую систему переводов в PrestaShop — важное улучшение, которое делает процесс локализации удобнее, безопаснее и быстрее. Если вы ещё не перешли на новую систему, попробуйте обновить PrestaShop и оцените её преимущества.
Поделитесь в комментариях своим опытом работы с новой системой переводов — какие изменения вы заметили и как это повлияло на ваш магазин?