Download the PHP package olek-php/auto-translator-bundle without Composer

On this page you can find all versions of the php package olek-php/auto-translator-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package auto-translator-bundle

Auto Translator Bundle

Перевод отсутствующих сообщений Symfony через OpenAI Responses API.

Зарегистрируйте бандл в config/bundles.php основного проекта:

Настройте config/packages/dev/auto_translator.yaml:

Ключ задайте в .env.local основного проекта (не добавляйте его в Git):

model и prompt можно опустить: бандл использует gpt-5-nano и встроенный промпт. Для gpt-5-nano и его снимков автоматически устанавливается reasoning.effort: minimal, чтобы сократить внутренние рассуждения. reasoning_effort позволяет переопределить этот выбор. При смене модели выбирайте поддерживаемое ею значение; без настройки для других моделей параметр не передаётся. Уменьшение effort не гарантирует фиксированный расход или качество перевода. Расход смотрите в usage: reasoning_tokens уже входят в output_tokens и оплачиваются как выходные токены. В промпте {source_locale} заменяется на исходную локаль, {target_locales} — на список целевых локалей. Старый маркер {target_locale} также заменяется на список локалей. Если вы уже задали свой промпт, обновите его по примеру выше: messages содержит строки без ID. Команда сама задаёт формат translations — массив объектов с кодом locale и массивом строк values. Старые инструкции про ID или позиционную привязку языков нужно удалить. Модель должна поддерживать Responses API и Structured Outputs. В YAML для буквальных % внутри промпта используйте %% (экранирование параметров Symfony).

Исходная локаль, целевые локали и путь берутся из настроек Symfony framework.default_locale, framework.enabled_locales и framework.translator.default_path.

Сообщения отправляются пакетами до batch_size исходных сообщений сразу на все нужные языки (по умолчанию 100; допустимо от 1 до 100). Общий список target_locales задаётся один раз на пакет и содержит все локали, нужные в этом пакете. Каждая строка переводится на все языки пакета. Входные сообщения передаются массивом строк без ID. Ответ — массив объектов {"locale":"ru","values":["Перевод 1","Перевод 2"]}. Язык определяется кодом locale, поэтому перестановка объектов не меняет назначение переводов. Порядок строк внутри values соответствует порядку сообщений. Схема перечисляет допустимые коды языков один раз и задаёт точные размеры массивов через minItems / maxItems. Перед записью проверяются коды языков, отсутствие дублей, размеры массивов и типы всех переводов. Это защищает от сдвига языков при разборе ответа, но не определяет язык самого текста. Если предыдущий запуск уже записал перевод не в ту локаль, удалите ошибочные записи или восстановите их из резервной копии перед повторным запуском. Используются только переводы для отсутствующих записей и заглушек; существующие записи не перезаписываются. При частично заполненных каталогах это может увеличить число генерируемых переводов и время ответа. Настроенный промпт отправляется один раз; команда добавляет обязательное правило формата и порядка элементов. Готовые переводы сохраняются, в том числе совпадающие с исходным текстом (например, Promotion). В пакет попадают только сообщения, отсутствующие хотя бы в одной локали или имеющие заглушку вида __исходный текст. Чтобы перевести существующую запись заново, удалите её из целевого каталога или замените заглушкой. timeout задаёт время ожидания без сетевой активности в секундах (по умолчанию 300, минимум 1). Если возникает Idle timeout reached, увеличьте timeout или уменьшите batch_size, например до 20. Чем больше языков, тем больше размер ответа. Ошибка API, отказ модели или некорректный ответ прерывают команду до записи файлов всех локалей. Реальные запросы используют API-ключ и оплачиваются в аккаунте OpenAI.

Документация API: Responses и генерация текста, Structured Outputs.

Локальные проверки без запросов к API: php tests/run.php.


All versions of auto-translator-bundle with dependencies

PHP Build Version
Package Version
Requires php Version >=8.2
symfony/framework-bundle Version 7.*||8.*
symfony/translation Version 7.*||8.*
symfony/console Version 7.*||8.*
symfony/http-client Version 7.*||8.*
ext-dom Version *
ext-libxml Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package olek-php/auto-translator-bundle contains the following files

Loading the files please wait ...