--overwrite is specified.
Usage
Examples
Options
| Flag | Description |
|---|---|
-o, --overwrite | Overwrite existing translations (default: skip existing) |
-l, --language <lang> | Push a specific language only (e.g., -l fr) |
--json | Output results as JSON |
How push works
nt3 push reads your .nt3.yml to determine which files to upload. It scans the filesystem for all files matching your configured patterns (replacing {lang} with actual language codes found on disk), reads each file, and sends it to the Entri import API. Any discovered non-source languages are automatically added as target languages to the project.
The import merges incoming keys with the existing project:
- New keys are created
- Existing keys are skipped (unless
--overwriteis set) - Keys not in the file are left untouched
Overwrite behavior
Without--overwrite, pushing a file that contains keys already in Entri leaves those translations unchanged. This is safe for incremental pushes — only new strings are added.
With --overwrite, incoming translations replace any existing values. Use this when you want Entri to reflect your local files exactly, for example after a bulk find-and-replace or when seeding from an external source.
You can also set a per-project default in .nt3.yml using update_translations: true, which has the same effect as always passing --overwrite. The CLI flag takes precedence when both are set.
JSON output
The--json flag suppresses all progress output and prints a structured result instead. This is useful for parsing results in scripts or CI pipelines:
1 if any file fails to push, making it easy to fail CI builds on errors.
Multi-pattern projects
If your.nt3.yml defines multiple file patterns, all patterns are pushed for each target language. See the configuration reference for multi-pattern setup.