civicrm/strings

String extractor for CiviCRM

dev-master 2024-02-09 16:05 UTC

This package is auto-updated.

Last update: 2024-05-09 16:45:45 UTC


README

civistrings is the string extractor for CiviCRM core and CiviCRM extensions. It scans PHP, Smarty, JS, and partial HTML files for references to the ts() function -- and generates a list of strings using gettext's POT file format.

Requirements

Download: Single Executable (PHAR)

civistrings is distributed in PHAR format, which is a portable executable file (for PHP). It should run on most Unix-like systems where PHP 5.3+ is installed.

Simply download civistrings and put it somewhere in the PATH, eg

sudo curl -LsS https://download.civicrm.org/civistrings/civistrings.phar -o /usr/local/bin/civistrings
sudo chmod +x /usr/local/bin/civistrings

To upgrade an existing installation, re-download the latest civistrings.phar.

Download: Git + Composer

To download the source tree and all dependencies, use git and composer, e.g.

git clone git://github.com/civicrm/civistrings.git
cd civistrings
composer install

The main executable is bin/civistrings. You may execute that file directly, or add the bin/ folder to PATH, e.g.

export PATH=/home/myuser/civistrings/bin:$PATH

Usage

## Scan all recognizable files under "myfolder/"
civistrings -o myfile.pot myfolder

## Scan all *.js files
find -name '*.js' | civistrings - -o myfile.pot

Development and Testing

The "examples" folder includes a series of example input files and expected output files. To see if the examples are correctly processed, simply run phpunit.

If you need to add new examples or change the behavior of the test, update tests/Command/ExtractCommandTest.php.

Build

To build a new copy of civistrings.phar from source, install git, composer, and box and run:

git clone git://github.com/civicrm/civistrings.git
cd civistrings
composer install
php -dphar.readonly=0 `which box` build