imabusayed / laravel-ai-translator
AI-powered Laravel Translation Manager with OpenAI integration and UI
v1.0.0
2024-11-09 12:17 UTC
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.0
- laravel/framework: ^10.0|^11.0
- livewire/livewire: ^3.0
- openai-php/client: ^0.8.0
Requires (Dev)
- orchestra/testbench: ^8.0
- phpunit/phpunit: ^10.0
README
An AI-powered Laravel Translation Manager with OpenAI integration and UI.
Features
- π€ AI-powered translation using OpenAI
- π Missing translation detection
- πΎ Translation memory system
- π€ Import/export functionality
- π Real-time preview
- π Support for multiple locales
- β‘ Command-line interface
- π¨ User-friendly UI
Installation
- Install the package via composer:
composer require imabusayed/laravel-ai-translator
- Publish the configuration file:
php artisan vendor:publish --provider="ImAbuSayed\LaravelAiTranslator\Providers\LaravelAiTranslatorServiceProvider"
- Add your OpenAI API key to your .env file:
OPENAI_API_KEY=your-api-key
- Run the migrations:
php artisan migrate
Usage
Web Interface
Access the translation manager at /translations
route.
Command Line
Scan for missing translations:
php artisan translations:scan
Scan and translate missing strings:
php artisan translations:scan --translate
Scan specific locale:
php artisan translations:scan es --translate
In Your Code
use ImAbuSayed\LaravelAiTranslator\Services\TranslationService; public function example(TranslationService $translator) { $translation = $translator->translateString('Hello, World!', 'es'); // Returns: "Β‘Hola, Mundo!" }
Configuration
The configuration file (config/ai-translator.php
) includes:
- OpenAI API settings
- Supported locales
- Cache configuration
- Scan paths
- Translation memory settings
Contributing
Please see CONTRIBUTING.md for details.
Credits
License
The MIT License (MIT). Please see License File for more information.
Security
If you discover any security related issues, please email hi@abusayed.com.bd instead of using the issue tracker.