JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 223
  • Score
    100M100P100Q110065F
  • License Proprietary

CLI for the nt3 localization management platform

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. Translate untranslated keys with AI
    nt3 translate --all
    
    # 5. Pull translations
    nt3 pull

    Commands

    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 URL

    nt3 logout

    Remove stored authentication.

    nt3 logout

    nt3 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 translate (alias: tr)

    Translate untranslated keys using AI. Processes keys in batches with real-time progress streaming.

    nt3 translate fr            # Translate to French
    nt3 translate -l nl         # Translate to Dutch (flag form)
    nt3 translate --all         # Translate all target languages
    nt3 translate --all --provider anthropic  # Use a specific AI provider
    nt3 translate --all --json  # JSON output for CI/CD
    Flag Description
    -a, --all Translate all target languages
    -l, --language <lang> Target language code
    --provider <provider> AI provider override (anthropic or openai)
    --json Output results as JSON

    The command uses your project's AI settings (tone, style, additional context) configured in Entri. Already-translated keys are skipped. Press Ctrl+C to gracefully cancel an in-progress translation.

    nt3 status

    Show current authentication and project configuration.

    nt3 status

    Configuration

    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-nested

    The {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 --json

    License

    Proprietary