Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (nt3) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
nt3
CLI for the Entri localization management platform. Sync translation files between your codebase and Entri.
Installation
npm install -g nt3
# or use without installing
npx nt3 <command>Requires Node.js 18+.
Quick Start
# 1. Authenticate
nt3 login
# 2. Initialize project config
nt3 init
# 3. Push source strings
nt3 push
# 4. Pull translations
nt3 pullCommands
nt3 login
Authenticate with your Entri API token. Tokens are stored in ~/.nt3/config.json.
nt3 login # Interactive prompt
nt3 login -t entri_abc123... # Non-interactive (CI/CD)
nt3 login -u https://custom.api.url # Custom API URLnt3 logout
Remove stored authentication.
nt3 logoutnt3 init
Create a .nt3.yml configuration file in the current directory.
nt3 init # Interactive prompt
nt3 init -p proj_abc123 -f po --path "locales/{lang}/messages.po" # Non-interactive| Flag | Description | Default |
|---|---|---|
-p, --project-id <id> |
Project ID from Entri | (prompted) |
-s, --source-language <lang> |
Source language code | en |
--path <pattern> |
File pattern with {lang} placeholder |
src/locales/{lang}.json |
-f, --format <format> |
File format (see below) | json-nested |
--force |
Overwrite existing config | false |
nt3 push
Upload source translation files to Entri.
nt3 push # Push source files
nt3 push --overwrite # Overwrite existing translations
nt3 push --json # JSON output for CI/CD| Flag | Description |
|---|---|
-o, --overwrite |
Overwrite existing translations (default: skip) |
--json |
Output results as JSON |
nt3 pull
Download translations from Entri to local files.
nt3 pull # Pull all target languages
nt3 pull -l fr # Pull French only
nt3 pull --json # JSON output for CI/CD| Flag | Description |
|---|---|
-l, --language <lang> |
Pull a specific language only |
--json |
Output results as JSON |
nt3 status
Show current authentication and project configuration.
nt3 statusConfiguration
The CLI uses a .nt3.yml file in your project root:
project_id: "proj_abc123"
source_language: en
file_patterns:
- path: "src/locales/{lang}.json"
format: json-nestedThe {lang} placeholder is replaced with the language code (e.g., en, fr, nl).
Supported Formats
| Format | Extension | Description |
|---|---|---|
json-flat |
.json |
Flat key-value JSON |
json-nested |
.json |
Nested JSON objects |
yaml |
.yaml |
YAML key-value |
po |
.po |
GNU gettext PO |
xliff |
.xlf |
XLIFF 1.2 |
xliff2 |
.xlf |
XLIFF 2.0 |
arb |
.arb |
Application Resource Bundle (Flutter) |
android-xml |
.xml |
Android string resources |
ios-strings |
.strings |
iOS Localizable.strings |
ios-stringsdict |
.stringsdict |
iOS Stringsdict (plurals) |
CI/CD
Use the --json flag and non-interactive authentication for CI pipelines:
nt3 login -t $NT3_TOKEN
nt3 push --json
nt3 pull --jsonLicense
Proprietary