Usage
tm also accepts the alias translation-memory.
These commands are flag-only. Hyperlocalise does not read smartling.yml in this version.
What this command family does
These commands talk to the Smartling Files, Glossary, and Translation Memory APIs. They are separate from Hyperlocalise nativei18n.yml and sync push / sync pull workflows. Use native sync when you want Hyperlocalise-managed entry sync through the Smartling adapter. Use this surface when you want flag-driven file upload and download against a Smartling project.
Use them for:
- source-file upload (
upload sources) - import of a pre-translated locale file (
upload translations, equivalent to officialsmartling-cli files import) - source download (
download sources) - translation download (
download translations) - glossary and translation-memory download (Hyperlocalise-shaped CSV/TMX)
files push / files pull (aliases upload / download) and files import. Hyperlocalise keeps the same command family shape as Crowdin and Phrase (upload sources, download translations) instead of renaming to files push.
Credentials
Hyperlocalise reads:--user-id, orSMARTLING_USER_IDENTIFIER--user-secret, or--user-secret-env(defaultSMARTLING_USER_SECRET)
smartling-cli commonly uses SMARTLING_USER_ID and SMARTLING_SECRET. Those names are not read here. Export Hyperlocalise names, or pass --user-id and --user-secret / --user-secret-env.
Do not put the user secret in i18n.yml. Do not commit smartling.yml that contains a secret.
File types
When--file-type is omitted, Hyperlocalise infers Smartling fileType from the path extension:
Unknown extensions require
--file-type. Values such as android or gettext are valid when you pass them explicitly; they are not inferred from .xml or .po.
Command notes
upload sources requires --project-id and at least one --file. --file-uri is optional for a single file (defaults to the path with / separators) and cannot be used with multiple --file values. --authorize defaults to true (official files push leaves jobs unauthorized unless --authorize is set, and often wraps uploads in a translation job). --dry-run prints the planned upload and does not call the network.
upload translations imports translations for an existing source file URI. Pass exactly one of --published or --post-translation. The source file must already exist in the project. JSON/XML imports may require Smartling source_key_paths on the original source upload; Hyperlocalise does not add those directives. One --target-locale per invocation.
download sources writes to stdout when --output is omitted or -. --source-locale is deprecated and ignored. --force overwrites an existing output file. --dry-run does not download.
download translations requires --target-locale. Use %locale% in --output when you pass more than one locale. It does not send Smartling retrievalType (pending, published, pseudo).
glossary download and tm download have no --force or --dry-run. They write CSV (or TMX for tm --format tmx) to stdout unless you pass --output.
smartling-cli gap inventory
Examples
Upload a source file:%locale% when you pass more than one --target-locale: