wotz / laravel-poeditor-sync
Upload and download POEditor translations
Requires
- php: ^8.1|^8.2|^8.3
- guzzlehttp/guzzle: ^7.0
- illuminate/filesystem: ^10.0|^11.0
- illuminate/http: ^10.0|^11.0
- illuminate/support: ^10.10|^11.0
- symfony/var-exporter: ^6.0
Requires (Dev)
- adamwojs/php-cs-fixer-phpdoc-force-fqcn: ^2.0
- friendsofphp/php-cs-fixer: ^3.0
- orchestra/testbench: ^8.0|^9.0
- phpunit/phpunit: ^9.1|^10.0
- squizlabs/php_codesniffer: ^3.6
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 wotz/laravel-poeditor-sync --dev
You can publish the configuration file:
php artisan vendor:publish --provider="Wotz\PoeditorSync\PoeditorSyncServiceProvider"
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'], // ... Or you can map multiple internal locales to the same POEditor locale 'locales' => ['nl' => ['nl_BE', 'nl_NL']],
Usage
Download translations
All translations in all supported locales will be downloaded.
php artisan poeditor:download
Upload Translations
Upload translations of the default app locale:
php artisan poeditor:upload
Upload translations of specified locale:
php artisan poeditor:upload nl
Upload translations and overwrite existing POEditor translations:
php artisan poeditor:upload --force
Validate Translations
Validate that translations have the same replacements and correct pluralization:
php artisan poeditor:validate
Status of Translations
Check if local translations match the ones on POEditor:
php artisan poeditor:status
Testing
composer test
Linting
composer lint
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.