translation-generator

Angular schematics to generate translation files from a source file using Google Translate

Usage no npm install needed!

<script type="module">
  import translationGenerator from 'https://cdn.skypack.dev/translation-generator';
</script>

README

Translation Generator

This library generates translation files based on previously translated files using Angular schematics, Google Translate, and Playwright. You can use it together with Transloco or ngx-translate.

A Note: The generator removes any HTML tags in the source before translating it. It will not modify the source file, but you will not find those tags in the generated translation.

Also a note: Factors like rate limits (applied by Google) or connection problems can interrupt the translation process. Please try again after a while and with smaller a translation file.

Installation

Run the following command in your terminal to install the package in your project:

npx ng add translation-generator

Alternatively, you can install the package directly:

npm install -D translation-generator

Usage

Run the following command in your terminal:

npx ng g translation-generator:json

The generator will prompt some questions. You may pass them as parameters:

npx ng g translation-generator:json <source JSON path> <to language> <from language> <left interpolation> <right interpolation>

Please find an example below:

npx ng g translation-generator:json src/assets/i18n/en.json fr en "<%" "%>"

You can also use command parameters by name to give them in a different order:

npx ng g translation-generator:json --from=en --to=fr --left="<%" --right="%>" --src=src/assets/i18n/en.json

The --left and --right parameters are optional and their default values are {{ and }} respectively. The --from parameter is also optional and the source language will be resolved from the source filename.

You can pass some of the arguments and answer the rest when prompted:

npx ng g translation-generator:json src/assets/i18n/en.json fr

...or...

npx ng g translation-generator:json --to=fr --src=src/assets/i18n/en.json

Leave anwsers blank if they are optional and you want to use the default values. Here is how that works:

translation-generator


Developed by NG Box