cosavostra / localise-bundle
Symfony localise.biz library
Package info
github.com/mradhi/localise-bundle
Type:symfony-bundle
pkg:composer/cosavostra/localise-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
Suggests
None
Provides
None
Conflicts
None
Replaces
None
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.