3 A CLI to manage translations - validation - extraction
5 We use [ttag](https://github.com/ttag-org/ttag) for our React projects and [angular-gettext](https://github.com/rubenv/angular-gettext) for our [WebClient](https://github.com/ProtonMail/WebClient).
10 $ npx proton-i18n help
11 Usage: $ proton-i18n <command>
14 To validate the translations, check if we have contexts
15 - type: default (default) validate we don't have missing context
16 - type: lint-functions check if we use the right format for ttag
19 Extract all translations from the projet
20 - type: default (app) extract translations from the app and reactComponents + shared
21 - type: reactComponents extract only translations from react-components
22 - type: shared extract only translations from proton-shared
27 You need to have a file `.env` inside the directory `<project>/env/`.
30 I18N_TEMPLATE_FILE:<FILE SOURCE TO UPLOAD TO CROWDIN>
33 You don't need these key if you don't manage crowdin, for extraction and validation we won't need them.
35 - `I18N_TEMPLATE_FILE`: Default value -> `po/template.pot`
37 > We need this key to detect the project as we require some custom code for it.