Transifex Native is a full end-to-end, cloud-based localization stack for moderns apps.
A command line tool that parses .js
, .ts
, .jsx
, .tsx
and .html
source files, extracts phrases marked for localization by Transifex Native and pushes them to Transifex for translation.
Related packages:
Learn more about Transifex Native in the Transifex Developer Hub.
If you are upgrading from the 1.x.x
version, please read this migration guide, as there are breaking changes in place.
$ npm install -g @transifex/cli
$ txjs-cli COMMAND
running command...
$ txjs-cli --help [COMMAND]
USAGE
$ txjs-cli COMMAND
...
Install to local repo using npm
.
$ npm install @transifex/cli --save
$ ./node_modules/.bin/txjs-cli COMMAND
running command...
Add it as a script command in package.json
.
...
"scripts": {
"push": "txjs-cli push src/",
...
},
Push content using npm
.
$ npm run push
Display help for txjs-cli
USAGE
$ txjs-cli help [COMMAND]
ARGUMENTS
COMMAND command to show help for
OPTIONS
--all see all commands in CLI
detect and push source content to Transifex
USAGE
$ txjs-cli push [PATTERN] [--dry-run] [--fake] [-v] [--purge] [--no-wait] [--token <value>] [--secret <value>] [--append-tags <value>] [--with-tags-only <value>] [--without-tags-only <value>]
[--cds-host <value>] [--do-not-keep-translations] [--override-tags] [--override-occurrences] [--parser auto|i18next|txnativejson] [--key-generator source|hash]
ARGUMENTS
PATTERN [default: **/*.{js,jsx,ts,tsx,html,vue,pug,ejs}] file pattern to scan for strings
FLAGS
-v, --verbose verbose output
--append-tags=<value> append tags to strings
--cds-host=<value> CDS host URL
--do-not-keep-translations remove translations when source strings change
--dry-run dry run, do not apply changes in Transifex
--fake do not push content to remote server
--key-generator=<option> [default: source] use hashed or source based keys
<options: source|hash>
--no-wait disable polling for upload results
--override-occurrences override occurrences when pushing content
--override-tags override tags when pushing content
--parser=<option> [default: auto] file parser to use
<options: auto|i18next|txnativejson>
--purge purge content on Transifex
--secret=<value> native project secret
--token=<value> native project public token
--with-tags-only=<value> push strings with specific tags
--without-tags-only=<value> push strings without specific tags
DESCRIPTION
Detect and push source content to Transifex
Parse .js, .ts, .jsx, .tsx and .html files and detect phrases marked for
translation by Transifex Native toolkit for Javascript and
upload them to Transifex for translation.
To push content some environment variables must be set:
TRANSIFEX_TOKEN=<Transifex Native Project Token>
TRANSIFEX_SECRET=<Transifex Native Project Secret>
(optional) TRANSIFEX_CDS_HOST=<CDS HOST>
or passed as --token=<TOKEN> --secret=<SECRET> parameters
Default CDS Host is https://cds.svc.transifex.net
Examples:
txjs-cli push -v
txjs-cli push src/
txjs-cli push /home/repo/src
txjs-cli push "*.js"
txjs-cli push --dry-run
txjs-cli push --fake -v
txjs-cli push --no-wait
txjs-cli push --key-generator=hash
txjs-cli push --append-tags="master,release:2.5"
txjs-cli push --with-tags-only="home,error"
txjs-cli push --without-tags-only="custom"
txjs-cli push --token=mytoken --secret=mysecret
txjs-cli push en.json --parser=i18next
txjs-cli push en.json --parser=txnativejson
TRANSIFEX_TOKEN=mytoken TRANSIFEX_SECRET=mysecret txjs-cli push
Pull content from Transifex for offline caching
USAGE
$ txjs-cli pull [--token <value>] [--secret <value>] [-f <value>] [-l <value>] [--pretty] [--filter-tags <value>] [--filter-status reviewed|proofread|finalized] [--cds-host <value>]
FLAGS
-f, --folder=<value> output as files to folder
-l, --locale=<value> pull specific language locale code
--cds-host=<value> CDS host URL
--filter-status=<option> filter over translation status
<options: reviewed|proofread|finalized>
--filter-tags=<value> filter over specific tags
--pretty beautify JSON output
--secret=<value> native project secret
--token=<value> native project public token
DESCRIPTION
Pull content from Transifex for offline caching
Get content as JSON files, to be used by mobile Javascript SDKs for
offline support or warming up the cache with initial translations.
By default, JSON files are printed in the console,
unless the "-f foldername" parameter is provided. In that case
the JSON files will be downloaded to that folder with the <locale>.json format.
To pull content some environment variables must be set:
TRANSIFEX_TOKEN=<Transifex Native Project Token>
TRANSIFEX_SECRET=<Transifex Native Project Secret>
(optional) TRANSIFEX_CDS_HOST=<CDS HOST>
or passed as --token=<TOKEN> --secret=<SECRET> parameters
Default CDS Host is https://cds.svc.transifex.net
Examples:
txjs-cli pull
txjs-cli pull --pretty
txjs-cli pull -f languages/
txjs-cli pull --locale=fr -f .
txjs-cli pull --filter-tags="foo,bar"
txjs-cli pull --filter-status="reviewed"
txjs-cli pull --token=mytoken --secret=mysecret
TRANSIFEX_TOKEN=mytoken TRANSIFEX_SECRET=mysecret txjs-cli pull
invalidate and refresh CDS cache
USAGE
$ txjs-cli invalidate [--purge] [--token <value>] [--secret <value>] [--cds-host <value>]
FLAGS
--cds-host=<value> CDS host URL
--purge force delete CDS cached content
--secret=<value> native project secret
--token=<value> native project public token
DESCRIPTION
Invalidate and refresh CDS cache
Content for delivery is cached in CDS and refreshed automatically every hour.
This command triggers a refresh of cached content on the fly.
By default, invalidation does not remove existing cached content,
but starts the process of updating with latest translations from Transifex.
Passing the --purge option, cached content will be forced to be deleted,
however use that with caution, as it may introduce downtime of
translation delivery to the apps until fresh content is cached in the CDS.
To invalidate translations some environment variables must be set:
TRANSIFEX_TOKEN=<Transifex Native Project Token>
TRANSIFEX_SECRET=<Transifex Native Project Secret>
(optional) TRANSIFEX_CDS_HOST=<CDS HOST>
or passed as --token=<TOKEN> --secret=<SECRET> parameters
Default CDS Host is https://cds.svc.transifex.net
Examples:
txjs-cli invalidate
txjs-cli invalidate --purge
txjs-cli invalidate --token=mytoken --secret=mysecret
TRANSIFEX_TOKEN=mytoken TRANSIFEX_SECRET=mysecret txjs-cli invalidate
Licensed under Apache License 2.0, see LICENSE file.