coffreo/jms-translation-js-extractor-bundle

Add javascript translation extractor for jms/translation-bundle package

0.1.0 2019-04-25 08:47 UTC

This package is auto-updated.

Last update: 2024-04-25 21:26:17 UTC


README

By Coffreo

PHP compatible version Build Status Coverage Scrutinizer Code Quality

Extract translations from Javascript source files.

Same bundle exists for PHP Translation: see Coffreo/php-translation-js-extractor-bundle

Installation

Application with Symfony flex

composer require coffreo/jms-translation-js-extractor-bundle

Application without Symfony flex

  • Install bundle:

    composer require coffreo/jms-translation-js-extractor-bundle
    
  • Enable bundle:

    • symfony 3.*

      // config/AppKernel.php
      public function registerBundles()
      {
          return array(
              // ...
              new Coffreo\JMSTranslationJsExtractorBundle\CoffreoJMSTranslationJsExtractorBundle(),
              // ...
          );
      }
    • symfony 4.* (if not already added by symfony/flex)

      // config/bundles.php
      
      return [
          // ...
          Coffreo\JMSTranslationJsExtractorBundle\CoffreoJMSTranslationJsExtractorBundle::class => ['all' => true],
      ];

Usage

This bundle allow extraction of translated strings in javascript files using Coffreo/js-translation-extractor.

No specific command line to use, just use originals jms/translation-bundle commands:

$ bin/console translation:extract --config=app en

Translations found are automatically added to current translations files as PHP, twig ones.

Configuration

This bundle doesn't need configuration.
However, to extract strings from JS files, you must indicate where are stored your JS files in jms/translation-bundle configuration.

# paths below are symfony 3.X paths, make sure to change them for symfony 4.X
# app/config.yml
jms_translation:
  configs:
      app:
          dirs: [
            "%kernel.root_dir%", 
            "%kernel.root_dir%/../src", 
            "%kernel.root_dir%/../path/to/assets"   # add assets path here
          ]
          output_dir: "%kernel.root_dir%/Resources/translations"
          ignored_domains: [routes]
          excluded_names: ["*TestCase.php", "*Test.php"]
          excluded_dirs: [cache, data, logs]

Developer commands

  • Run tests:
composer test
  • Apply coding standard
composer cs

Coding standard must be applied before commit, TravisCI will fail otherwise

License

This project is licensed under the MIT License - see the LICENSE file for details