Skip to content

itk-dev/drupal_translation_extractor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Translation extractor

Extracts translations from PHP files and Twig templates.

This Drupal translation extractor stands on the shoulders of giants:

Installation

composer require --dev itk-dev/drupal_translation_extractor:^1.0
drush pm:install drupal_translation_extractor

Use

The main entrypoint is the drupal_translation_extractor:translation:extract Drush command. This command is basically Symfony's translation:extract console command with a few changes and additions outlined below.

Changes from the Symfony command

The bundle argument doesn't make sense and has been removed.

The --clean option is a NOP since it doesn't make sense for our use. We always write only existing translations.

A new argument has been added:

source The source path to extract translations from. For convenience, module:«name» and theme:«name» can be used in the value and will be expanded to the full path to the module and/or theme respectively, i.e. module:my_custom_module will be expanded to web/modules/custom/my_custom_module, say.

A new option has been added:

--output The output path. The value can use these placeholders:

Name Value
%locale The locale being extracted
%module The module name if specified using module:… in source
%source_dir The directory of %source
%source The expanded value of source
%theme The theme name if specified using theme:… in source
%language1 Alias for %locale
%project 1 Alias for either %module or %theme (whichever is set)

Example

Running

drush drupal_translation_extractor:translation:extract da --dump-messages --force module:my_modules --output=%source/translation/%module.%locale.po

will find translations in all PHP and Twig files in the web/modules/custom/my_module directory and write the result to web/modules/custom/my_module/translation/my_module.da.po.

Note

Much of the code in this module is stolen frombased on Symfony components and therefore we do not use Drupal coding standards.

Footnotes

  1. Matching placeholders used the Locale module (cf. locale.api.php). 2

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published