PHP Symfony wrapper for Localise service.
Make sure Composer is installed globally, as explained in the installation chapter of the Composer documentation.
Open a command console, enter your project directory and execute:
$ composer req cosavostra/localise-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
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],
];
Finally, update your .env
file by setting the Localise API key of your account:
###> cosavostra/localise-bundle ###
LOCALISE_EXPORT_KEY=XXXXXXXXXXXXXXX
###> cosavostra/localise-bundle ###
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.');
}
If you have any questions please open an issue.
This library is released under the MIT License. See the bundled LICENSE file for details.