laravel-poeditor-sync maintained by poeditor
Laravel Poeditor Synchronization
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.