w33bvgl / laravel-gtx-translate
Free Google Translate (GTX) API scraper for Laravel
Requires
- php: ^8.2
- guzzlehttp/guzzle: ^7.9
- php-webdriver/webdriver: *
- psr/log: ^3.0
- spatie/laravel-package-tools: ^1.17
- symfony/browser-kit: ^7.2
- symfony/dom-crawler: ^7.2
- symfony/http-client: ^7.2
Requires (Dev)
- laravel/pint: ^1.19
- monolog/monolog: ^2.10
- orchestra/testbench: ^7.50
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^9.6
README
Laravel GTX Translate — вспомогательный Laravel-пакет для перевода текстовых строк с использованием публичного веб-интерфейса Google Translate (GTX).
Пакет предназначен для базовых сценариев перевода текста и не является официальным клиентом Google Cloud Translation API. Он не требует API-ключей и не предоставляет гарантий стабильности или доступности сервиса.
Назначение пакета
Пакет может использоваться в следующих сценариях:
- перевод интерфейсных строк
- перевод пользовательского текстового ввода
- локализация вспомогательного контента
- административные панели
- внутренние инструменты и утилиты
Основная цель пакета — предоставить простой механизм перевода текста без сложной конфигурации и зависимости от платных API.
Ограничения
Пакет не рекомендуется использовать для:
- массовых или параллельных переводов больших объёмов данных
- систем с высокой степенью ответственности
- коммерческих сервисов, требующих SLA
- сценариев, где критична стабильность и предсказуемость API
Используемый механизм перевода не является официальным API и может быть изменён или полностью недоступен в любой момент по инициативе стороннего сервиса.
Установка
Установка осуществляется через Composer:
composer require w33bvgl/laravel-gtx-translate
После установки необходимо опубликовать конфигурационный файл:
php artisan vendor:publish --tag="gtx-translate-config"
Использование
Использование через Facade
Наиболее простой способ использования пакета — через Facade:
use W33bvgl\GtxTranslate\Facades\Translate; $result = Translate::target('ru') ->translate('Hello world');
Метод возвращает объект результата перевода. Структура результата не считается частью стабильного публичного API и может изменяться между версиями пакета.
Пример использования в Laravel Controller
Рекомендуемый способ интеграции — через контроллер:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use W33bvgl\GtxTranslate\Facades\Translate; class TranslateController extends Controller { public function translate(Request $request) { $text = (string) $request->input('text'); $result = Translate::target('ru')->translate($text); return response()->json([ 'original' => $text, 'translated' => $result->translatedText ?? null, ]); } }
Использование через CLI
Пакет предоставляет Artisan-команду:
php artisan gtx:translate
Команда предназначена исключительно для:
- проверки конфигурации
- локальной отладки
- ручного тестирования
CLI-интерфейс не предназначен для автоматизации массовых операций или использования в production-процессах.
Тестирование
Для запуска тестов используйте:
composer test
Пакет совместим с orchestra/testbench и может тестироваться в изолированном Laravel-окружении.
Ответственность
Использование пакета осуществляется на усмотрение разработчика.
Автор пакета не несёт ответственности за:
- недоступность сервиса перевода
- изменение поведения стороннего сервиса
- блокировки или ограничения со стороны Google
- любые прямые или косвенные последствия использования
Author: w33bvgl