cosavostra / localise-bundle
Symfony localise.biz library
Installs: 1 439
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: ^7.1.3
- ext-intl: *
- symfony/console: ^3.4.30|^4.3.3|^5.0
- symfony/framework-bundle: ^3.4.30|^4.3.3|^5.0
- symfony/http-client: ^4.3.3|^5.0
- symfony/translation: ^3.4.30|^4.3.3|^5.0
Requires (Dev)
- phpunit/phpunit: ^7.5
README
PHP Symfony wrapper for Localise service.
Installation
Make sure Composer is installed globally, as explained in the installation chapter of the Composer documentation.
Applications that use Symfony Flex
Open a command console, enter your project directory and execute:
$ composer req cosavostra/localise-bundle
Applications that don't use Symfony Flex
Step 1: Download the Bundle
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
$ composer req cosavostra/localise-bundle
Step 2: Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles
in the config/bundles.php
file of your project:
// config/bundles.php return [ // ... CosaVostra\LocaliseBundle\CosaVostraLocaliseBundle::class => ['all' => true], ];
Step 3: Set the API key
Finally, update your .env
file by setting the Localise API key of your account:
###> cosavostra/localise-bundle ### LOCALISE_EXPORT_KEY=XXXXXXXXXXXXXXX ###> cosavostra/localise-bundle ###
Usage
This bundle is very useful to import translation files from Localise.biz, after installation you'll be able to access to the command:
$ php bin/console localise:translation:import --extension=yaml --purge
The output will be similar to below:
----------------- ------ ------------ -------------- Name Code Translated Untranslated ----------------- ------ ------------ -------------- English US en 3 0 French (France) fr 3 0 ----------------- ------ ------------ -------------- [OK] The translations was successfully imported.
NOTE: Don't forget to clear the cache of your application after running the command, and consider using the right environment option, in your prod environment you should run:
NOTE: The following extensions are supported:
- Yaml
- PHP
- XLF
$ php bin/console --env=prod localise:translation:import --extension=yaml --purge
You can also use the CosaVostra\LocaliseBundle\LocaliseManager
service to import translations manually
(for example in a controller) like below:
use CosaVostra\LocaliseBundle\LocaliseManager; use Symfony\Component\HttpFoundation\Response; public function action(LocaliseManager $localiseManager): Response { $extension = 'yaml'; $purge = true; // This flag should be "TRUE" to purge translation directory and remove old files. $localiseManager->import($extension, $purge); // Clear the cache manually here ... return new Response('Translations imported.'); }
Questions?
If you have any questions please open an issue.
License
This library is released under the MIT License. See the bundled LICENSE file for details.