


Единый интерфейс, полное удобство
Наш модуль обеспечивает максимально удобную работу с многоязычными инфоблоками. Админка остается чистой и упорядоченной, без дублирования полей. Просто переключите язык и внесите перевод! Все поля сохраняют свою структуру и расположение. Вы сразу видите переведенные фразы и можете вносить изменения вручную. Это значит, что вам больше не нужно тратить время на создание и управление отдельными инфоблоками для каждого языка – вся информация редактируется в одном месте. Наслаждайтесь легкостью и эффективностью управления мультиязычным контентом!


Теперь вам не нужно создавать дубли инфоблоков или свойств, что приводит к замусориванию админки. Все управление ведется в одном инфоблоке. Вся информация редактируется и переводится в одном месте, в одном поле! Это настоящий рай для контент-менеджера.

Автопилот - ваш надежный пилот!
Теперь при выгрузке товаров из 1С:Предприятие или создании контента вручную, вам достаточно настроить нужные языки для перевода, и всё остальное произойдет автоматически. Все переводы выполняются один раз и остаются с вами навсегда. Вы всегда можете внести коррекции в переводы по своему усмотрению.
Автопилот взаимодействует с популярными сервисами. Особенно впечатляюще, как HTML-поля переводятся с сохранением всей разметки, стилей и других важных элементов. Ваш контент остается красивым и привлекательным на всех языках.

Наш модуль – единственное уникальное решение на Маркетплейсе Битрикс, специально разработанное для обеспечения полной локализации инфоблоков. Забудьте о трудностях мультиязычного контента – теперь ваш веб-проект может эффективно адаптироваться для различных аудиторий и рынков.
Что делает наш модуль непревзойденным? Он обеспечивает интуитивно понятное и удобное управление локализацией ваших данных, с минимальными усилиями со стороны пользователя. С помощью нашего решения вы сможете не только легко переводить контент, но и поддерживать актуальность каждой версии на всех языках вашего сайта.
Масштабируемость: Глобальное Языковое Расширение
Поддержка множества языков и охват разнообразных рынков для максимальной глобальной видимости.
Автоматизация: Эффективная Глобальная Локализация
Автоматизированный процесс создания контента на одном языке с легким переводом на множество других языков.
Контроль: Полноконтрольная Языковая Унификация
Надежный механизм контроля за изменениями в контенте, обеспечивающий последовательность и точность переводов.
Основные плюсы модуля
- Отсутствует ограничение на количество используемых языков
- Быстрая установка
- Совершенно не нагружает систему
- Не требует изменений в шаблонах компонентов
- Легко интегрируется в кастомизированные компоненты
- поля инфоблока
- поля разделов
- поля и свойства элементов инфоблока
- значения свойств элементов инфоблока
Включает в себя основные компоненты, и их число постоянно возрастает:
- catalog.element
- catalog.section
- catalog.section.list
- catalog.smart.filter
- menu.sections
- news.detail
- news.index
- news.list
- sale.basket.basket
- sale.order.ajax
- breadcrumb
- search.page
- search.title
Обеспечена полная совместимость модуля мультиязычности с новой версией системного модуля Информационные блоки (iblock) 25.200.0. Без установки данного обновления может возникать критическая ошибка при работе сайта.
-
Административная часть: обновлена страница редактирования инфоблоков для удобства работы с мультиязычными данными.
-
Исправления:
– В FCIBlockFormatProperties::GetDisplayValue устранена ошибка отображения значений на разных языках в массиве DISPLAY_VALUES.
– Исправлена ошибка, при которой символы в кеше наследуемых вычисляемых значений экранировались некорректно.
-
Новые методы API:
– У класса ElementTable появился метод translated для проверки наличия перевода элемента инфоблока на указанном языке.
– В IblockTable добавлен метод UseForcedUpdates.
-
Автоперевод: теперь при добавлении или обновлении элемента инфоблока автоперевод запускается только если элемент активен. Это позволяет редакторам сначала загрузить изображения, подготовить HTML-описание, а затем включить активность — автоперевод выполнится автоматически.
-
Компоненты:
– Расширен функционал мультиязычного компонента bitrix:menu.sections. В отличие от стандартного, он теперь поддерживает параметр FILTER_NAME для передачи глобального фильтра.
– Обновлён мультиязычный компонент bitrix:sale.basket.basket.
-
Поиск: в режиме перевода добавлена запись статистики поисковых фраз.
- Оптимизирована индексация поиска на разных языках — ускорено формирование и улучшено качество поискового контента.
- Исправлены ошибки, возникавшие при создании поискового контента в отдельных случаях.
- Оптимизированы таблицы хранения переводов.
- Поле NAME в таблицах fan_translator_iblock_element и fan_translator_iblock_section теперь обязательно для заполнения (NOT NULL):
- Важно: при обновлении будут автоматически удалены записи с пустыми значениями NAME в переводах элементов и разделов инфоблока.
- Расширен функционал поиска — теперь поиск выполняется не только по основным полям элементов, но и по значениям свойств, включённых в поиск. Все данные суммируются в таблице переводов в колонке SEARCHABLE_CONTENT.
- В режиме перевода элементов инфоблока в административной части больше не отображаются пустые поля, если оригинальные значения не заполнены.
Логика проста: нет оригинала — нет и перевода. - Удалён устаревший класс FCAllIBlockSection.
- Обновлены методы:
- FCIBlockElement::prepareSql, FCIBlockElement::GetList
- FCIBlockProperty::GetList, GetByID, GetPropertyEnum
- Обновлён файл constant_definer.php.
- Обновлены методы основного класса CFanTranslator: joinTable, isTranslateMode, makeSearchFilter.
- Добавлена опция «Пропускать переведенные элементы и разделы». При включении этой опции система автоматически пропускает уже переведённые записи, исключая их из повторной обработки.
- Добавлена сводная информация перед запуском автоперевода: теперь отображается количество разделов, элементов и свойств, а также список языков, на которые будет выполнен перевод.
- Исправлена проблема с кешированием вычисляемых значений инфоблоков, что обеспечило более корректную и стабильную работу.
- Оптимизирована структура и индексы таблицы переводов разделов и элементов инфоблоков – повышена скорость обработки данных и снижена нагрузка на базу данных.
- Добавлен класс Translator\Iblock\SectionTable – новый инструмент для работы с таблицами переводов полей разделов инфоблоков.
- В класс Translator\Iblock\ElementTable добавлено новое связанное поле ELEMENT, реализованное через зависимость ORM\Fields\Relations\Reference. Теперь можно напрямую обращаться к данным оригинального элемента инфоблока, с которого выполнялся перевод, что упрощает получение и обработку связанных данных.
- Важное обновление для пользовательских полей (UserFields):
При массовом импорте разделов через CIBlockCMLImport->ImportSections теперь корректно создаются переводы пользовательских полей (UF_). Ранее при импорте через ImportXMLFile они могли не обрабатываться. Функциональность оптимизирована.
- Обновлён класс FCIBlockSection: добавлена возможность фильтрации разделов с учётом активности на разных языках
- Обновлён компонент bitrix:search.title
- Исправлены ошибки в уведомлениях о завершении квоты переводов
- Обновлен компонент bitrix:search.title – улучшена совместимость и производительность.
- Оптимизирована структура и индексы таблицы переводов инфоблоков – повышена скорость обработки данных и снижена нагрузка на базу данных.
- Добавлен класс Translator\Iblock\ElementTable – новый инструмент для работы с таблицами переводов полей элементов инфоблоков.
- Добавлен новый класс IblockTable, который упрощает работу с таблицами инфоблоков.
- Исправлена ошибка записи переводов для инфоблоков, у которых есть инфоблоки торговых предложений.
- Добавлен класс FCCatalogStore для обработки данных о складах и их переводах.
- Изменены и оптимизированы таблицы переводов для складов и единиц измерения, что улучшает производительность и удобство работы с переводами.
- Добавлен класс для работы с переводами на ORM DataManager, позволяющий отбирать и сортировать сущности как по их основным полям, так и по полям переводов.
- Реализованы ORM-таблицы для складов (StoreTable) и единиц измерения (MeasureTable) для более гибкой и структурированной работы с данными.
- Добавлен адаптированный под мультиязычность компонент catalog.store.amount, обеспечивающий корректное отображение и обработку данных о складах в различных языковых версиях.
- Переопределены пути административных страниц для улучшения совместимости с системой.
- Оптимизирована процедура установки модуля для ускорения и упрощения процесса.
- Исправлена ошибка, возникавшая в компоненте catalog.smart.filter на редакции “Стандарт”.
- Исправлена ошибка, при которой при удалении сущности (инфоблока, раздела, элемента) не удалялись шаблоны вычисляемых значений из таблицы переводов.
- Добавлена возможность клонирования веб-форм на разные языки, если установлены модули “Мультиязычность: Максимум” или “Мультиязычность: Next”.
- Добавлена поддержка работы с полями типа MULTIPLE. На текущий момент такие поля возвращают сериализованную строку, а не массив.
- Оптимизированы некоторые функции для корректной работы на агентах.
- Исключены из перевода свойства типа “Дата”, так как перевод этих значений не имеет смысла и приводил к ошибкам.
- Исправлена ошибка в FCUserTypeManager, вызывавшая Query Error для пользовательского поля UF_. Ошибка возникала из-за двусмысленности поля “UF_” в списке полей.
- Исправлена ошибка, связанная с некорректной сборкой массива полей элемента инфоблока перед отправкой на перевод.
- Исправлена ошибка, из-за которой не удалялись свойства инфоблока, для которых уже существовали переводы.
- Исправлена ошибка, когда при создании новых элементов переведенный текст в свойствах типа “HTML” выводился в виде plain-текста вместо корректного HTML-формата.
-Исправлена ошибка, при которой после автоперевода полей элемента инфоблока (PREVIEW_TEXT, DETAIL_TEXT) в обычном текстовом формате добавлялись лишние теги
.
- В массовый автоперевод добавлена возможность перевода самих инфоблоков.
- Исправлена ошибка, из-за которой не отображались языки в поле выбора в песочнице.
"ALTER TABLE fan_translator_iblock_section
DROP FOREIGN KEY fan_translator_iblock_section_ibfk_2,
MODIFY COLUMN IBLOCK_SECTION_ID int(11);"
Замените fan_translator_iblock_section_ibfk_2 на таблицу, указанную в ошибке.
- Исправлена ошибка, из-за которой не записывался кеш перевода вычисляемых свойств разделов инфоблока, что приводило к лишним запросам к базе данных.
- Оптимизировано построение запросов в Highload-блоках.
- Добавлен мультиязычый компонент: bitrix:catalog.brandblock.
- В методе CIBlockSection::Update() теперь можно принудительно передать язык через поле $arFields["LANGUAGE_ID"].
- Оптимизирован процесс перевода крупных партий сообщений: учитывая ограничение Google на 128 строк, большие партии будут разбиваться на блоки по 128 строк, что предотвращает ошибки и повышает стабильность работы.
- Добавлен адптированный компонент на мультиязычнось bitrix:catalog.compare.result
- Исправлена ошибка когда не работал агент проверки остатка квоты
- Исправлена ошибка связаная с фасетным индексом в catalog.smart.filter
- Добавлена перекодировка языковых (lang) файлов в utf8 перед подачей на перевод
- Исправлена ошибка получения переводов в методе FCIBlockSection::GetNavChain. Теперь добавлен параметр $LID для получения цепочки навигации на нужном языке независимо от глобальной языковой константы.
- Исправлена ошибка, из-за которой запись переводов некоторых типов свойств элементов вызывала ошибку в базе данных.
- Доработаны предупреждения о исчерпании квоты.
- Также можно использовать указание языка для получения шаблонов вычисляемых значений и самих значений из InheritedProperty\ElementTemplates, InheritedProperty\SectionTemplates, InheritedProperty\IblockTemplates.
- Исправлена ошибка с неправильным переводом шаблонов вычисляемых значений в админке.
- Исправлена ошибка, когда стили модуля не подключались на административных страницах редактирования элементов, разделов и инфоблоков в режиме перевода.
- Доработан функционал вывода переводов для элементов и разделов в режиме списка совместного просмотра.
- Теперь модуль мультиязычности совместим с модулем "Proger: Core - Ядро основных функций", требующим установки в систему.
- Добавлены методы FCIBlockSection::GetTreeList и FCIBlockSection::GetMixedList.
- Исправлена ошибка, когда переведенные свойства не отображались в списке элементов инфоблока в административной части.
- Изменен принцип проверки режима перевода, теперь можно проверить не только глобально, но и для конкретного языка в методе CFanTranslator::isTranslateMode() передав ему код языка в первый параметр.
- Выполнен перевод административных файлов.
- Исправлены другие ошибки.
- Исправлены ошибки, связанные с работой с мультиязычными Highload-блоками. В частности, устранены проблемы, возникающие при использовании '*' в массиве select.
- Обновлена функция getList, чтобы поля возвращались с нужными названиями, улучшая читаемость кода.
- Метод RenameRowKeys теперь является устаревшим (deprecated) и будет удален в будущих версиях. Все вызовы этого метода в коде заменены на использование полей с наименованиями по умолчанию из базы данных.
- Обеспечена совместимость с последними обновлениями Битрикс, включая метод GetUserFields.
- Добавлены языковые фразы для улучшения локализации и удобства использования модуля.
- Исправлена ошибка в компоненте bitrix:catalog.smart.filter, при которой в режиме перевода не отображались значения свойств типа "строка".
- В компоненте bitrix:catalog.smart.filter улучшена работа с значениями фасетного индекса.
- Обновлен компонент bitrix:catalog.smart.filter.
- Исправлены ошибки при записи переводов свойств элементов.
- Добавлен параметр FCIBlockElement::GetList, теперь можно явно указывать LANGUAGE_ID
- Вынесены некоторые языковые фразы в языковые файлы
- В настройках добавлен вывод ошибки при неудачном подключении к серверу переводов
- Исправлена ошибка автоперевода описания поля "Картинка" раздела инфоблока
- СЕО поля разделов и элементов добавлены в автопереводы
- Добавлен функционал массового перевода разделов инфоблоков, элементов инфоблоков и их свойств
- Автоперевод теперь справляется с свойством элемента инфоблока типа HTML/текст
- В класс FCIBlockElement и FCIBlockSection добавлен метод Translate
- Автоперевод разделов
- Исправлена ошибка когда в сео шаблонах элементов инфоблоков не переводилась parent
- Исправлена ошибка, связанная с записью поля свойства "HINT" для умного фильтра.
- Поправлена авторизация модуля на сайте для автоперевода.
- Удален адаптированный компонент "bitrix:sale.order.ajax", и теперь все переводы выполняются на событиях.
- Исключение языков интерфейса без установленого кода
- Добавлен метод GetProperties класса FCIBlock
- Добавлен вывод строковых свойств в компоненте bitrix:catalog.smart.filter на разных языках
- Добавлена периодическая проверка остатка квоты автоперевода.
- Добавлен FCIBlockSectionPropertyLink::GetArray для вывода поля "Подсказка в умном фильтре для посетителей" на разных языках.
- В умный фильтр добавлен перевод значений ствойств типа строка
- Добавлена возможность автоперевода пользовательского поля элемента инфоблока HTML/Text
- Исправлено определение языковой версии сайта, когда при смене языков первый раз выдавало страницу на языке страницы с которой пришли.
- Исправлена ошибка с авторизацией при сохранении настроек без изменения пароля.
- Исправлена ошибка установки модуля после окончания демо-периода.
- Исправлена ошибка когда слетала авторизация при сохраненнии настроек без изменения пароля
- Исправлена ошибка когда приходил не верный ответ пользователеям ввевших неверные авторизационные данные на страице настроек модуля.
- Исправлена ошибка MySQL при создании пользовательского свойства из CRM
- Измено хранение авторизации. Внимание: Нужно заново авторизироваться в настройках модуля!
- Улучшена работа компонента bitrix:sale.basket.basket с типовым шаблоном bootstrap_v4 (для mutator.php)
- Доработан метод translateBasketItems в классе OrderClass. Теперь переводит значение свойства типа справочник в компоненте оформления заказа bitrix:sale.basket.basket
- Доработам метод translateResult в классе BasketClass. Теперь переводит значение свойства типа справочник в компоненте корзины bitrix:sale.order.ajax
- Доработка компонента bitrix:search.page. Исправлена ошибка, когда компонент не выводил результаты поиска, а только возвращал их массив;
- В метод FCIBlockPropertyEnum::GetById добавлена языковая идентификация при вызове метода $CACHE_MANAGER->Read;
- В класс модуля ElementProperty добавлен метод loadFromDatabase, который позволяет вычислять значение шаблона СЕО плей с this.property на разных языках
- В файл constant_definer.php добавлена установка языка по HTTP_REFERER для ajax запросов
- Обновлены компоненты bitrix:sale.basket.basket, bitrix:sale.order.ajax и bitrix:sale.products.gift
- Доработан функционал установки языковых констант в файле constant_definer.php
- Теперь у модуля появились настройки для администраторов системы которые можно устанавливать в файле '/bitrix/php_interface/translator.settings.php' и параметр настроек DB_LANG_CHECK, который разрешает проверять язык по базе данных прежде чем установить языковую константу.
- Улучшения в установщике модуля
- Добавлен скрытый вывод копирайтов в html head в виде комментариев
- Удалена возможность указывать свой API ключ
- При переводах в логи записываются дополнительные данные такие как: время выполнения перевода, внешний идентификатор пользователя, ошибки при переводах
- Теперь если при обновлении или добавлении элемента инфоблока есть ошибка, то запрос на переводы не отправляется
- Исправлена ошибка когда при переходе на несуществующий языковой разделу сайта (например /uu/ вместо /ru/ или /ua/) выдавало php ошибку вместо страницы 404.
- В модуль добавлен файл constant_definer.php который нужно подключать в dbconn.php а так же во всех файлаx ajax.php в компонентах при установке модуля на проекте
- Добавлены права доступа в настройки модуля
- Добавлены заметки в настройках подуля
- Добавлен функционал масштабирования и контроля файловой структуры мультиязычных сайтов
- Добавлен функционла массового редактирования свойств структуры сайтов
- Исправлена ошибка когда при пересчете заказа не переводились свйоства заказа и товары в заказе
- Исправлены ошибки в классе Translator\Order\OrderClass
- Теперь при создании элементов инфоблока автоматически переводятся не только поля "Название", "Текст анонса", "Детальный текст" но и свойства типа строка и их описания, описания свойства типа файл, детальная картинка и картинка анонса.
- При пересчете корзины ajax учитывает язык
- Исправлена ошибка [Error] Class 'Iblock\IblockTable' not found в классе FCIBlockSection
- Исправлено когда в случаях подачи не всех полей инфоблока на автоперевод, переведенные поля путались местами
- Добавлена возможность в фильтре переводить свойства с типом "Привязка к элементам"
- Добавлен класс FCIBlockPropertyElementList для перевода свойства в фильтре с типом "Привязка к элементам"
- Добавлена возможность выбора типа ключа API для автоматических переводов
Если у вас установлен шаблон от партнеров, таких как Aspro, рекомендуем внимательно изучить дополнительные инструкции в документации на нашем сайте. Возможно, потребуется небольшая дополнительная настройка для гармоничной работы модуля с вашим текущим шаблоном.
Дополнительную информацию и инструкции по использованию вы найдете в документации на нашем сайте.
После того как модуль установлен, просто переходим в админпанель, переключаемся на нужный нам язык и вносим данные на этом языке.
В публичной части выводить выводить сайт на разных языках можно как при помощи многосайтовости, так и без. Для помощи в установке модуля или выводе вашего сайта на разных языках, пожалуйста, обращайтесь в нашу службу технической поддержки.
Несмотря на всю сложность и мощность модуля, его установка производится всего в один шаг. Все очень просто - нужно всего лишь установить модуль и пользоваться. Никаких дополнительных настроек вносить не нужно.
После того как модуль установлен, просто переходим в админпанель, переключаемся на нужный нам язык и вносим данные на этом языке.
В публичной части выводить выводить сайт на разных языках можно как при помощи многосайтовости, так и без. Для помощи в установке модуля или выводе вашего сайта на разных языках, пожалуйста, обращайтесь в нашу службу технической поддержки.
Важно!
У вас должны быть последние обновления Битрикс.
Минимальная версия главного модуля 22.000
Данный модуль требует установки ключевого модуля "Core - Ядро основных функций", который обеспечивает не только активацию дополнительного функционала от других модулей разработчика, но и ряд других важных возможностей.
Важно! Прежде чем обращаться в техподдержку, пожалуйста, убедитесь, что ваш сайт прошел полное тестирование системы. Для этого перейдите по следующему адресу: ваш.сайт/bitrix/admin/site_checker.php?lang=ru. Если в результате проверки системы обнаружены замечания, пожалуйста, внесите необходимые исправления. После этого убедитесь, что проблемы все еще наблюдаются на вашем сайте.
Шаги действий перед обращением в техподдержку:
- Проверьте сайт на наличие ошибок: Перед обращением в техподдержку выполните полное тестирование системы по указанному адресу. Если система обнаружила какие-либо замечания, исправьте их согласно рекомендациям.
- Проверьте наличие обновлений: Убедитесь, что все компоненты и модули вашего сайта обновлены до последней версии. Некоторые проблемы могут быть вызваны устаревшими версиями модулей.
- Проверьте логи ошибок: Просмотрите журналы ошибок на сервере и в системе управления сайтом на предмет ошибок или предупреждений, связанных с проблемой, с которой вы столкнулись.
- Проведите базовую диагностику: Выполните базовые диагностические шаги, такие как проверка соединения с базой данных, проверка доступности файловой системы и т. д.
После выполнения перечисленных шагов, если проблема все еще остается нерешенной, наши специалисты готовы помочь вам на нашем форуме по адресу: https://bxproger.ru/forums/forum23/. Создайте новую тему, описывающую вашу проблему подробно, и мы постараемся предложить вам наилучшее решение. Благодарим за ваше понимание и сотрудничество!
Для покупки товара в нашем интернет-магазине выберите понравившийся товар и добавьте его в корзину. Далее перейдите в Корзину и нажмите на «Оформить заказ» или «Быстрый заказ».
Если оформляете быстрый заказ: напишите ФИО, телефон и e-mail. Вам перезвонит менеджер и уточнит условия заказа. По результатам разговора вам придет подтверждение оформления товара на почту или через СМС. Теперь останется только ждать доставки и радоваться новой покупке.
Оформление заказа в стандартном режиме выглядит следующим образом. Заполняете полностью форму по последовательным этапам: адрес, способ доставки, оплаты, данные о себе. Советуем в комментарии к заказу написать информацию, которая поможет курьеру вас найти. Нажмите кнопку «Оформить заказ».
Оплачивайте покупки удобным способом. В интернет-магазине доступно 3 варианта оплаты:
- Наличные при самовывозе или доставке курьером. Специалист свяжется с вами в день доставки, чтобы уточнить время и заранее подготовить сдачу с любой купюры. Вы подписываете товаросопроводительные документы, вносите денежные средства, получаете товар и чек.
- Безналичный расчет при самовывозе или оформлении в интернет-магазине: карты МИР. Чтобы оплатить покупку на сайте, система перенаправит вас на сервер платежной системы. Здесь нужно ввести номер карты, срок действия и имя держателя.
- Электронные системы при онлайн-заказе: ЮMoney. Для совершения покупки система перенаправит вас на страницу платежного сервиса. Здесь необходимо заполнить форму по инструкции.
- Безналичная оплата на наш расчетный счет по выставленному счету.
Экономьте время на получении заказа. В интернет-магазине доступно 4 варианта доставки:
- Электронная поставка - все необходимые сведения о лицензии, праве пользования, кодах, ключах и др. высылаются покупателю на его e-mail.
- Курьерская доставка. Когда товар будет отправлен с нашего склада, Вам придет уведомление. В день доставки с Вами заблаговременно свяжется курьер для уточнения времени и деталей доставки. Доставка производится "до двери". Осмотрите упаковку на целостность и соответствие указанной комплектации.
- Постамат. Когда заказ поступит на точку, на Ваш телефон или e-mail придет уникальный код. Заказ нужно оплатить в терминале постамата. Срок хранения — 3 дня.
- Доставка Почтой России. Когда заказ придет в отделение, на Ваш адрес придет извещение о посылке. Перед оплатой Вы можете оценить состояние коробки: вес, целостность. Вскрывать коробку самостоятельно Вы можете только после оплаты заказа. Один заказ может содержать не больше 10 позиций и его стоимость не должна превышать 100 000 р.
Дополнительная информация.
Изучите полный алгоритм продления лицензий на модули 1С-Битрикс: Маркетплейс, включая активацию льготных купонов. Мы детально разбираем все условия: обязательный 30-дневный срок для сохранения максимальной выгоды, пропорциональное ценообразование (12,5%, 25%, 50% от цены модуля) и ограничение по минимальной сумме в 500 рублей. Этот гайд поможет вам эффективно планировать бюджет и гарантировать актуальность вашего проекта.





