Download the PHP package idynsys/localizator without Composer
On this page you can find all versions of the php package idynsys/localizator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package localizator
Localizator SDK
Описание
Пакет предназначен для интеграции внешней системы на PHP 7.4+ и B2B backoffice сервиса Localizer, для того, чтобы получать данные по переводам элементов, зарегистрированным в B2B backoffice сервиса Localizer.
При помощи данного пакета можно:
- Получить переводы статических элементов для приложения по языку или по всем языкам сразу, на которые настроено ваше приложение в "B2B Backoffice".
- Настроить тип кэширования: по отдельным ключам, по родительским элементам, по языку.
- Использовать свою систему кэширования или по умолчанию.
- Загрузить все переводы для статических элементов в кэш из B2B backoffice сервиса Localizer.
- Извлечь переводы из кэша.
- Очистить кэш.
Установка
-
В каталоге Вашего проекта, где расположен файл composer.json, выполните команду:
-
Настройка Вашего приложения для выполнения запроса к B2B Backoffice.
Для выполнения запроса необходимо в запросах передавать информацию об идентификаторе приложения с использованием секретного ключа для подписи параметров запрос. Это можно сделать двумя способами.
2.1. Через переменные окружения:
В переменных окружения приложения, где устанавливается этот пакет, необходимо создать переменные окружения:
2.2. Через создание объекта от класса Translator:
где "clientId" и "secret" будут переданы Вашей компании после регистрации внешнего приложения в B2B Backoffice для возможности выполнения запросов через B2B.
- !!! Для версии на Production необходимо установить переменную окружения:
Если эта переменная не установлена или имеет другое значение, то все запросы будут перенаправляться на тестовый сервер B2B Backoffice.
Использование
Создать экземпляр класса Translator:
Получить переводы для статических элементов из Локализатора:
Загружаться будут только те элементы, для которых определены переводы. При отсутствии перевода для одного или нескольких языков, элемент не будет включен в результат.
Результатом загрузки будет объект класса
Idynsys\Localizator\DTO\StaticTranslationDataCollection
Получить из объекта $allTranslations или $rusTranslations данные можно следующими способами:
- Оригинальные данные в виде многомерного массива, с сохранением иерархии для родительских и дочерних записей в пределах каждого продукта и языка:
результат:
- Через коллекцию объектов \Idynsys\Localizator\DTO\StaticTranslationData:
2.1. Все переводы:
2.2. Все переводы для определенного продукта:
2.2. Все переводы для определенного продукта для английского языка:
2.3. Все переводы для английского языка:
Загрузить переводы в кэш
-
Загрузить переводы для статических элементов для всех языков
- Загрузить переводы для статических элементов для определенного языка
Настройка типа кэширования
По умолчанию, переводы будут сохраняться отдельно для каждого элемента, полученного из Локализатора. Но при необходимости, это можно изменить, для хранения переводов по группам или по языкам. Это будет удобно, когда вы захотите получить все переводы для определенной формы, модуля или группы сообщений об ошибках.
Предусмотрены 3 типа:
Чтобы изменить способ формирования ключа для кэширования, необходимо вызывать функцию:
Переключать тип вы можете без ограничений, в процессе работы с переводами, сохранив переводы в каждом из 3-х вариантов и потом обращаться к ним, при необходимости, на том уровне, который будет более оптимален в каждом конкретном случае.
Извлечь переводы из кэша
- При типе кэширования
TRANSLATIONS_STORAGE_TYPE
:
результат:
- При типе кэширования
PARENTS_STORAGE_TYPE
:
результат:
- При типе кэширования
LANGUAGE_STORAGE_TYPE
:
результат:
Очистить кэш
Разное
Некоторые команды для разработки
Code Style
Доступные команды
- composer cs - проверка код стандарта
- composer cs-diff - проверка код стандарта в текущей GIT ветке
- composer cs-fix - автоматическое исправление кода под стандарт
- composer stan - базовый статический анализ кода всей библиотеки (PHPStan)
- composer stan-diff - статический анализ обновленного кода в текущей GIT ветке (PHPStan)
All versions of localizator with dependencies
ext-json Version *
guzzlehttp/guzzle Version ^7
psr/cache Version ^1.0|^2.0|^3.0
jms/serializer Version ^3
symfony/cache Version ^5.4|^6