poeditor / laravel-poeditor-sync
Upload and download POEditor translations
Requires
- php: ^7.3
- guzzlehttp/guzzle: ^6.5|^7.0
- illuminate/filesystem: ^7.0|^8.0
- illuminate/support: ^7.0|^8.0
- symfony/var-exporter: ^5.0
Requires (Dev)
- orchestra/testbench: ^5.0|^6.0
- phpunit/phpunit: ^9.1
README
Upload and download POEditor translations. Both PHP and JSON translation files are supported. Vendor PHP / JSON translations can also be uploaded / downloaded.
Installation
You can install the package via composer:
composer require poeditor/laravel-poeditor-sync --dev
You can add these two classes to providers key in config/app.php:
NextApps\PoeditorSync\PoeditorSyncServiceProvider::class,
NextApps\PoeditorSync\PoeditorRouteServiceProvider::class
You can publish the configuration file:
php artisan vendor:publish --provider="NextApps\PoeditorSync\PoeditorSyncServiceProvider" php artisan vendor:publish --provider="NextApps\PoeditorSync\PoeditorRouteServiceProvider"
Set the POEditor API key and Project ID in your env-file:
POEDITOR_API_KEY=<your api key>
POEDITOR_PROJECT_ID=<your project id>
In the 'poeditor-sync' configuration file, you should specify the supported locales. You can also provide an associate array, if you want to map POEditor locales to internal locales.
// in config/poeditor-sync.php // Provide array with all supported locales ... 'locales' => ['en', 'nl', 'fr'], // ... Or provide associative array with POEditor locales mapped to internal locales 'locales' => ['en-gb' => 'en', 'nl-be' => 'nl'],
Usage
Download translations
All translations in all supported locales will be downloaded.
php artisan poeditor:download
Or use the API GET endpoint
/api/poeditor/translation/download
Upload Translations
Upload translations of the default app locale:
php artisan poeditor:upload
Or use the API GET endpoint
/api/poeditor/translation/upload
Upload translations of specified locale:
php artisan poeditor:upload nl
Upload translations and overwrite existing POEditor translations:
php artisan poeditor:upload --force
Testing
composer test
License
The MIT License (MIT). Please see License File for more information.