Usage
Default behavior
sync push follows i18n.yml:
- When
hyperlocaliseis set, the CLI uploads source files to the public Hyperlocalise API. It does not create translation jobs. Configure automation in Hyperlocalise when you want AI translation to run after upload. - When
hyperlocaliseis absent andstorage.adapteris set, the CLI pushes translation entries through the builtin TMS adapter registry (syncsvc). - When both blocks are set, the Hyperlocalise API path wins. TMS entry sync is not used.
--dry-run to preview the report without uploading files or pushing entries.
Flags
--config: config path--locale: locale(s) to sync, repeatable. On the TMS path, omitted locales default tolocales.targets. Source locale is allowed on the TMS path.--dry-run: preview only--output:text,json, ormarkdown--force-conflicts: TMS adapters only. Rejected on the Hyperlocalise API path. Default:false--fail-on-conflict: TMS adapters only. Exit non-zero when the report contains conflicts. Default:false(conflicts stay in the report; push of non-conflicting entries still proceeds). Ignored on the Hyperlocalise API path.
TMS entry sync
TMS push reads flat JSON locale files from the first bucketfiles[].to mapping (bucket names sorted) plus sidecar metadata. The mapping must be one concrete .json path template, not YAML/MDX/ARB or a glob. Nested JSON objects and contextual entries (the same key under more than one context) are not supported on this path. Provider file commands such as crowdin and phrase keep their own config and behavior.
--output json on the TMS path prints a syncsvc entry report (creates, updates, conflicts, …), not the Hyperlocalise file-count report.
Example
Notes
- Hyperlocalise push exits non-zero when one or more uploads fail.
- Provider-specific TMS commands such as
crowdinandphrasekeep their own config and behavior.

