sale.basket.basket

Корзина.

Что добавить

result_modifier.php шаблона корзины:

\mrLexndr\Translate\IblockHelper::substituteBasket($arResult);

Одна строка. Она подменяет названия товаров переводом самого элемента и единицы измерения — переводом из словаря.

Почему название берётся из элемента, а не из строки корзины

Название товара в корзине — копия, снятая в момент добавления. Она живёт своей жизнью: товар могли переименовать, а в корзине останется прежнее имя.

Поэтому хелпер идёт за переводом к самому элементу, по его идентификатору. Иначе на английской версии в корзине лежала бы русская копия названия, снятая когда-то давно, и перевести её было бы нечем.

Почему здесь строка в шаблоне, а на оформлении заказа — нет

У компонента корзины нет подходящего события, в которое можно было бы вмешаться. У оформления заказа — есть, поэтому та страница переводится сама, см. sale.order.ajax.

Форк компонента модуль не делает и не будет: чужая копия компонента в поставке ломается на каждом обновлении ядра, а корзина и оформление — самые дорогие страницы магазина.

Единицы измерения

Переводятся полное название и русское обозначение — «штука», «шт». Международное обозначение одинаково на всех языках, переводить его не на что.

Что именно показывает ваша корзина, зависит от шаблона. Если международное — перевод единиц вам не нужен вовсе.

Чтобы единицы попали в словарь, нажмите «Собрать названия магазина» на экране Обслуживание. Подробнее — Платёжные системы и доставки.