Skip to content
This repository has been archived by the owner on Feb 23, 2024. It is now read-only.

cbourgois/simonsays

Repository files navigation

SimonSays

npm version Dependencies Dev Dependencies

"Jacques a dit" Like.

simonsays help you: to find translations key used in your project and:

  • check if translations are availables in your project sources
  • search translations in another project
  • rewrite complete translations files (and support prefixing translations key)

To do it, simonsays parse your javascript and html files to detect angular-translate usages.

Simonsays detect :

  • $translate and $translate.instant calls in your javascript files,
  • translate directives in your HTML files,
  • translate filter usages in your HTML files.

We use @babel/parser to parse your javascript code in AST and we have ported $interpolate and $ParseProvider from AngularJS (code available here).

Simonsays supports translations defined in JSON or XML files.

Installation

With yarn:

yarn add @cbourgois/simonsays

or

With npm:

npm install @cbourgois/simonsays

Usage

CLI Usage

With npx:

npx @cbourgois/simonsays --help

Check

Compatibles options: --locale, --module, --output.

To check used translations:

simonsays check <sourcePath>

Search

simonsays search <sourcePath> <projectPath>

To search used translations (only used translations will be reported):

simonsays search <sourcePath> <projectPath>

To search used translations and retrieve all (already present translations + used translations):

simonsays search <sourcePath> <projectPath> --all

To overwrite existing translations by the project translations:

simonsays search <sourcePath> <projectPath> --merge

Compatibles options: --all, --merge, --locale, --module, --output.

Rewrite

To rewrite JSON translations file:

simonsays rewrite <sourceDir> <projectPath>

To rewrite JSON translations file and prefix translations (AngularJS code and html will be overwritten):

simonsays rewrite <sourceDir> <projectPath> --prefix=ng_

Compatibles options: --all, --merge, --locale, --module, --output, --prefix.

CLI Options

AngularJS module

By default, the script parse all the source path and will generate one, and only one translation file. If you want, you can specify the --module option to parse/generate translations for each AngularJS module contained in the source path.

For example:

simonsays check <sourcePath> --module

Locale

By default, simonsays target the fr_FR locale, but you can change it by specifying --locale option.

For example:

simonsays check <sourcePath> --locale=en_GB

Output

You can specify an output format from the following:

  • summary (default) : output a table with the results
  • text : output a table with num of results
  • json : output a json
  • silent : no output

For example:

simonsays search <sourcePath> <projectPath> --output=text

About

This project embed some portions of AngularJS source code (see ./src/angularjs/**).

About

AngularJS translations checker/searcher/rewriter

Resources

License

Stars

Watchers

Forks

Packages

No packages published