Sous Symfony2, il est possible de traduire les fichiers Javascript via un bundle. Ce bundle permet en effet d'exposer les messages des fichiers de traduction. Voici un tutoriel pour le faire.
#Si vous n'avez pas composer d'installé, rappel de la commande
curl -s getcomposer.org/installer | php -d detect_unicode=Off
# Installer le bundle via composer
php composer.phar require willdurand/expose-translation-bundle
Normalement, un message va vous demander la version à installer, actuellement on c'est la 0.2
# ajouter le bundle dans le fichier app/AppKernel.php
<?php // app/AppKernel.php public function registerBundles() { return array( // ... new Bazinga\ExposeTranslationBundle\BazingaExposeTranslationBundle(), ); }
# Ajouter la route à votre fichier app/config/routing.yml
_bazinga_exposetranslation: resource: "@BazingaExposeTranslationBundle/Resources/config/routing/routing.yml"
# Publier les assets
php app/console assets:install --symlink web
Puis, pour l'utiliser, rien de plus simple :
# Ajouter ces 2 lignes à votre layout
<script type="text/javascript" src="{{ asset('bundles/bazingaexposetranslation/js/translator.min.js') }}"></script> <script type="text/javascript" src="{{ url('bazinga_exposetranslation_js') }}"></script>
# Puis dans votre fichier Javascript
Translator.get('key');
# et avec placeholders :
Translator.get('key', { "foo" : "bar" });
# obtenir la locale courante
Translator.locale;
0 commentaire