Skip to content

Command-line reference

Generated by scripts/gen_cli_docs.py from localizzy … --help; do not edit by hand. Fire accepts --flag value, --flag=value and, for booleans, --noflag. List flags take comma-separated values.

localizzy

NAME
    localizzy

SYNOPSIS
    localizzy GROUP | COMMAND

GROUPS
    GROUP is one of the following:

     source-fix

     tm

COMMANDS
    COMMAND is one of the following:

     translate
       Translate CATALOG into --target using memories, then an optional engine.

     upgrade
       Port APPROVED translations onto FRESH lupdate output; write NEW and RETIRED.

     convert
       Convert catalogs; use source_format=i18next for application JSON.

     qa
       Run the deterministic content checks on a catalog; exit 1 on blocking findings.

     review
       Serve configured catalogs with the optional review UI and API.

     inventory
       Inventory all .tmx and .ts XML catalogs recursively under ROOT.

localizzy source-fix

NAME
    localizzy source-fix

SYNOPSIS
    localizzy source-fix COMMAND

COMMANDS
    COMMAND is one of the following:

     prepare
       Create the Linguist mirror and snapshot; refuse to overwrite existing work.

     apply
       Apply finished English edits; --dry-run prints a diff without writing.

localizzy source-fix prepare

NAME
    localizzy source-fix prepare - Create the Linguist mirror and snapshot; refuse to overwrite existing work.

SYNOPSIS
    localizzy source-fix prepare SOURCE OUT ROOT <flags>

DESCRIPTION
    Create the Linguist mirror and snapshot; refuse to overwrite existing work.

POSITIONAL ARGUMENTS
    SOURCE
        Type: str
    OUT
        Type: str
    ROOT
        Type: str

FLAGS
    -v, --verbose=VERBOSE
        Type: bool
        Default: False

NOTES
    You can also use flags syntax for POSITIONAL ARGUMENTS

localizzy source-fix apply

NAME
    localizzy source-fix apply - Apply finished English edits; --dry-run prints a diff without writing.

SYNOPSIS
    localizzy source-fix apply MIRROR SOURCE ROOT <flags>

DESCRIPTION
    --rebuild refreshes catalogs, mirror and snapshot from current sources even
    without finished corrections, retiring messages Qt no longer extracts.

    Uses MIRROR.json from source-fix prepare. Qt lupdate verifies current source
    identities. Foreign translations survive unfinished for review; plurals and
    conflicting or stale source edits are rejected before writes.

POSITIONAL ARGUMENTS
    MIRROR
        Type: str
    SOURCE
        Type: str
    ROOT
        Type: str

FLAGS
    -d, --dry_run=DRY_RUN
        Type: bool
        Default: False
    -v, --verbose=VERBOSE
        Type: bool
        Default: False
    -l, --lupdate=LUPDATE
        Type: str
        Default: 'lupdate'
    -r, --rebuild=REBUILD
        Type: bool
        Default: False

NOTES
    You can also use flags syntax for POSITIONAL ARGUMENTS

localizzy translate

NAME
    localizzy translate - Translate CATALOG into --target using memories, then an optional engine.

SYNOPSIS
    localizzy translate CATALOG TARGET <flags>

DESCRIPTION
    Lists are comma-separated: --direct-memory a.tmx,b.tmx. Direct memory hits
    (id > context > source) and whole-string glossary terms fill messages before
    the engine; --finish-on picks which classes are written finished. A catalog
    already in the target language keeps its complete translations; turn that
    off with --nokeep-existing (or --keep-existing=False), which needs an engine
    and an --out other than CATALOG. --out may be omitted
    only for a TS catalog that keeps its language. The report JSON goes to
    --report (default OUT.localizzy.json); --provenance=extra also writes
    <extra-localizzy-origin> into TS messages.

POSITIONAL ARGUMENTS
    CATALOG
        Type: str
    TARGET
        Type: str

FLAGS
    -o, --out=OUT
        Type: Optional[str | None]
        Default: None
    -r, --report=REPORT
        Type: Optional[str | None]
        Default: None
    -d, --direct_memory=DIRECT_MEMORY
        Type: Optional[str | None]
        Default: None
    --glossary_memory=GLOSSARY_MEMORY
        Type: Optional[str | None]
        Default: None
    --memory_lang=MEMORY_LANG
        Type: Optional[str | None]
        Default: None
    --glossary_status=GLOSSARY_STATUS
        Type: str
        Default: 'approved,do-not-translate'
    --finish_on=FINISH_ON
        Type: str
        Default: 'id,context'
    --memory_only=MEMORY_ONLY
        Type: bool
        Default: False
    --plural_count=PLURAL_COUNT
        Type: Optional[int | None]
        Default: None
    -k, --keep_existing=KEEP_EXISTING
        Type: bool
        Default: True
    --provenance=PROVENANCE
        Type: str
        Default: 'sidecar'
    -e, --endpoint=ENDPOINT
        Type: Optional[str | None]
        Default: None
    --model=MODEL
        Type: Optional[str | None]
        Default: None
    --fallback_models=FALLBACK_MODELS
        Type: Optional[str | None]
        Default: None
    -a, --api_key_env=API_KEY_ENV
        Type: str
        Default: 'OPENAI_API_KEY'
    -c, --cache=CACHE
        Type: Optional[str | None]
        Default: None
    --temperature=TEMPERATURE
        Type: float
        Default: 0.2
    -s, --style_file=STYLE_FILE
        Type: Optional[str | None]
        Default: None
    -b, --batch_size=BATCH_SIZE
        Type: int
        Default: 50
    --timeout=TIMEOUT
        Type: float
        Default: 120

NOTES
    You can also use flags syntax for POSITIONAL ARGUMENTS

localizzy upgrade

NAME
    localizzy upgrade - Port APPROVED translations onto FRESH lupdate output; write NEW and RETIRED.

SYNOPSIS
    localizzy upgrade FRESH APPROVED OUT RETIRED <flags>

DESCRIPTION
    Tiers: exact, memory id/context, relocated, fuzzy, memory source/term,
    machine, pending. The report defaults to OUT + '.upgrade.json'.

POSITIONAL ARGUMENTS
    FRESH
    APPROVED
    OUT
    RETIRED

FLAGS
    --report=REPORT
        Type: Optional[]
        Default: None
    --target=TARGET
        Type: Optional[]
        Default: None
    -d, --direct_memory=DIRECT_MEMORY
        Type: Optional[]
        Default: None
    --glossary_memory=GLOSSARY_MEMORY
        Type: Optional[]
        Default: None
    --memory_lang=MEMORY_LANG
        Type: Optional[]
        Default: None
    --glossary_status=GLOSSARY_STATUS
        Default: 'approved,do-not-translate'
    --finish_on=FINISH_ON
        Default: 'id,context'
    --fuzzy_threshold=FUZZY_THRESHOLD
        Default: 0.92
    --relocated_finished=RELOCATED_FINISHED
        Default: False
    -n, --no_engine=NO_ENGINE
        Default: False
    -e, --endpoint=ENDPOINT
        Type: Optional[]
        Default: None
    --model=MODEL
        Type: Optional[]
        Default: None
    --fallback_models=FALLBACK_MODELS
        Type: Optional[]
        Default: None
    -a, --api_key_env=API_KEY_ENV
        Default: 'OPENAI_API_KEY'
    -c, --cache=CACHE
        Type: Optional[]
        Default: None
    --temperature=TEMPERATURE
        Default: 0.2
    -s, --style_file=STYLE_FILE
        Type: Optional[]
        Default: None
    --timeout=TIMEOUT
        Default: 120

NOTES
    You can also use flags syntax for POSITIONAL ARGUMENTS

localizzy convert

NAME
    localizzy convert - Convert catalogs; use source_format=i18next for application JSON.

SYNOPSIS
    localizzy convert SRC TARGET OUT <flags>

DESCRIPTION
    Convert catalogs; use source_format=i18next for application JSON.

POSITIONAL ARGUMENTS
    SRC
        Type: str
    TARGET
        Type: str
    OUT
        Type: str

FLAGS
    -a, --allow_loss=ALLOW_LOSS
        Type: bool
        Default: False
    --plural_forms=PLURAL_FORMS
        Type: Optional[str | None]
        Default: None
    --plural_order=PLURAL_ORDER
        Type: Optional[list[str] | None]
        Default: None
    --source_format=SOURCE_FORMAT
        Type: Optional[str | None]
        Default: None
    --source_lang=SOURCE_LANG
        Type: Optional[str | None]
        Default: None
    -t, --target_lang=TARGET_LANG
        Type: Optional[str | None]
        Default: None

NOTES
    You can also use flags syntax for POSITIONAL ARGUMENTS

localizzy qa

NAME
    localizzy qa - Run the deterministic content checks on a catalog; exit 1 on blocking findings.

SYNOPSIS
    localizzy qa CATALOG <flags>

DESCRIPTION
    Run the deterministic content checks on a catalog; exit 1 on blocking findings.

POSITIONAL ARGUMENTS
    CATALOG
        Type: str

FLAGS
    -f, --fail_on=FAIL_ON
        Type: str
        Default: 'major'
    -p, --plural_forms=PLURAL_FORMS
        Type: Optional[str | None]
        Default: None

NOTES
    You can also use flags syntax for POSITIONAL ARGUMENTS

localizzy review

NAME
    localizzy review - Serve configured catalogs with the optional review UI and API.

SYNOPSIS
    localizzy review CONFIG <flags>

DESCRIPTION
    Serve configured catalogs with the optional review UI and API.

POSITIONAL ARGUMENTS
    CONFIG
        Type: str

FLAGS
    -p, --port=PORT
        Type: int
        Default: 8765
    -v, --verbose=VERBOSE
        Type: bool
        Default: False

NOTES
    You can also use flags syntax for POSITIONAL ARGUMENTS

localizzy inventory

NAME
    localizzy inventory - Inventory all .tmx and .ts XML catalogs recursively under ROOT.

SYNOPSIS
    localizzy inventory ROOT OUTPUT <flags>

DESCRIPTION
    Inventory all .tmx and .ts XML catalogs recursively under ROOT.

POSITIONAL ARGUMENTS
    ROOT
        Type: str
    OUTPUT
        Type: str

FLAGS
    -v, --verbose=VERBOSE
        Type: bool
        Default: False

NOTES
    You can also use flags syntax for POSITIONAL ARGUMENTS

localizzy tm

NAME
    localizzy tm

SYNOPSIS
    localizzy tm COMMAND

COMMANDS
    COMMAND is one of the following:

     tmx2qph
       Convert a TMX file to a Qt phrase book, retaining every pair in input order.

     build_ui
       Build a project memory (every finished message) from a Qt .ts catalog.

     ts2tmx
       Convert one .ts file or every .ts under a folder to TMX (legacy language policy).

     po2tmx
       Convert one .po file or every .po under a folder to TMX (legacy language policy).

     lproj2tmx
       Convert an .app bundle's .lproj/.strings and .loctable files into per-language TMX.

     adobe2tmx
       Convert an Adobe app folder's localization resources into per-language TMX.

     oss2tmx
       Fetch upstream translations of open-source apps and write <app>/<lang>.tmx.

     norm
       Rename every .tmx under a folder to its shortest BCP 47 tag (legacy tmxnorm).

     extract
       Extract selected TMX pairs from bilingual, paired or multilingual resources.

localizzy tm tmx2qph

NAME
    localizzy tm tmx2qph - Convert a TMX file to a Qt phrase book, retaining every pair in input order.

SYNOPSIS
    localizzy tm tmx2qph INPUT OUTPUT TARGET <flags>

DESCRIPTION
    Convert a TMX file to a Qt phrase book, retaining every pair in input order.

POSITIONAL ARGUMENTS
    INPUT
        Type: str
        source TMX (or .tmx.gz) file.
    OUTPUT
        Type: str
        destination .qph file, atomically replaced after validation.
    TARGET
        Type: str
        exact target language tag, for example de or es-419.

FLAGS
    -s, --src_lang=SRC_LANG
        Type: str
        Default: 'en'
        exact source language tag (default en).
    -v, --verbose=VERBOSE
        Type: bool
        Default: False
        log the input, language pair and output count.

        Notes and x-status become definitions. Proposed and identical translations are retained; Qt does not enforce review status. Other TMX properties are not exported. Missing, duplicate, empty or inline-marked segments fail explicitly, preserving an existing output. No translations are invented.

NOTES
    You can also use flags syntax for POSITIONAL ARGUMENTS

localizzy tm build_ui

NAME
    localizzy tm build_ui - Build a project memory (every finished message) from a Qt .ts catalog.

SYNOPSIS
    localizzy tm build_ui CATALOG OUT <flags>

DESCRIPTION
    --exclude-memory a.tmx,b.tmx drops sources that are whole glossary terms,
    so the project memory never repeats the core memory. --lang overrides the
    memory's target tag (for example es-419 for an es_MX catalog).

POSITIONAL ARGUMENTS
    CATALOG
        Type: str
    OUT
        Type: str

FLAGS
    -l, --lang=LANG
        Type: Optional[str | None]
        Default: None
    -e, --exclude_memory=EXCLUDE_MEMORY
        Type: Optional[str | None]
        Default: None
    -n, --note=NOTE
        Type: Optional[str | None]
        Default: None

NOTES
    You can also use flags syntax for POSITIONAL ARGUMENTS

localizzy tm ts2tmx

NAME
    localizzy tm ts2tmx - Convert one .ts file or every .ts under a folder to TMX (legacy language policy).

SYNOPSIS
    localizzy tm ts2tmx INPUT <flags>

DESCRIPTION
    Convert one .ts file or every .ts under a folder to TMX (legacy language policy).

POSITIONAL ARGUMENTS
    INPUT
        Type: str
        a ``.ts`` file or a directory searched recursively.

FLAGS
    -o, --output=OUTPUT
        Type: Optional[str | None]
        Default: None
        ``.tmx`` path for a file input; mirrored output folder for a directory.
    -s, --src_lang=SRC_LANG
        Type: Optional[str | None]
        Default: None
        language of ``<source>`` text (default: ``sourcelanguage``, else ``en``).
    -v, --verbose=VERBOSE
        Type: bool
        Default: False
        debug logging.

NOTES
    You can also use flags syntax for POSITIONAL ARGUMENTS

localizzy tm po2tmx

NAME
    localizzy tm po2tmx - Convert one .po file or every .po under a folder to TMX (legacy language policy).

SYNOPSIS
    localizzy tm po2tmx INPUT <flags>

DESCRIPTION
    Convert one .po file or every .po under a folder to TMX (legacy language policy).

POSITIONAL ARGUMENTS
    INPUT
        Type: str
        a ``.po`` file or a directory searched recursively.

FLAGS
    -o, --output=OUTPUT
        Type: Optional[str | None]
        Default: None
        ``.tmx`` path for a file input; mirrored output folder for a directory.
    -s, --src_lang=SRC_LANG
        Type: str
        Default: 'en'
        language of ``msgid`` text.
    -f, --fuzzy=FUZZY
        Type: bool
        Default: False
        include entries flagged fuzzy.
    -v, --verbose=VERBOSE
        Type: bool
        Default: False
        debug logging.

NOTES
    You can also use flags syntax for POSITIONAL ARGUMENTS

localizzy tm lproj2tmx

NAME
    localizzy tm lproj2tmx - Convert an .app bundle's .lproj/.strings and .loctable files into per-language TMX.

SYNOPSIS
    localizzy tm lproj2tmx APP OUTPUT <flags>

DESCRIPTION
    Convert an .app bundle's .lproj/.strings and .loctable files into per-language TMX.

POSITIONAL ARGUMENTS
    APP
        Type: str
        bundle folder.
    OUTPUT
        Type: str
        folder that receives <lang>.tmx files.

FLAGS
    -d, --dedupe=DEDUPE
        Type: bool
        Default: True
        collapse identical (source, target) pairs within a language.
    -s, --skip_identical=SKIP_IDENTICAL
        Type: bool
        Default: False
        drop units whose target equals the English source.
    -i, --include_infoplist=INCLUDE_INFOPLIST
        Type: bool
        Default: False
        also read InfoPlist bundle metadata tables.
    -v, --verbose=VERBOSE
        Type: bool
        Default: False
        debug logging.

NOTES
    You can also use flags syntax for POSITIONAL ARGUMENTS

localizzy tm adobe2tmx

NAME
    localizzy tm adobe2tmx - Convert an Adobe app folder's localization resources into per-language TMX.

SYNOPSIS
    localizzy tm adobe2tmx INPUT OUTPUT <flags>

DESCRIPTION
    Convert an Adobe app folder's localization resources into per-language TMX.

POSITIONAL ARGUMENTS
    INPUT
        Type: str
        app folder.
    OUTPUT
        Type: str
        folder that receives <lang>.tmx files.

FLAGS
    -u, --ui_lang=UI_LANG
        Type: Optional[str | None]
        Default: None
        language of ZStrings inside binaries; auto-detected when omitted.
    -d, --dedupe=DEDUPE
        Type: bool
        Default: True
        collapse identical (source, target) pairs within a language.
    -s, --skip_identical=SKIP_IDENTICAL
        Type: bool
        Default: False
        drop units whose target equals the English source.
    -i, --include_infoplist=INCLUDE_INFOPLIST
        Type: bool
        Default: False
        also read InfoPlist.strings bundle metadata.
    -v, --verbose=VERBOSE
        Type: bool
        Default: False
        debug logging.

NOTES
    You can also use flags syntax for POSITIONAL ARGUMENTS

localizzy tm oss2tmx

NAME
    localizzy tm oss2tmx - Fetch upstream translations of open-source apps and write <app>/<lang>.tmx.

SYNOPSIS
    localizzy tm oss2tmx OUTPUT <flags>

DESCRIPTION
    Fetch upstream translations of open-source apps and write <app>/<lang>.tmx.

POSITIONAL ARGUMENTS
    OUTPUT
        Type: str
        folder receiving <app>/<lang>.tmx.

FLAGS
    -a, --apps=APPS
        Type: Optional[str | tupl...
        Default: None
        comma-separated subset of app names; default all.
    --registry=REGISTRY
        Type: Optional[str | None]
        Default: None
        TOML app registry replacing the packaged oss_apps.toml.
    -c, --cache=CACHE
        Type: Optional[str | None]
        Default: None
        where git checkouts live (default: <output>/_src).
    --refresh=REFRESH
        Type: bool
        Default: False
        re-clone repositories even if cached.
    -v, --verbose=VERBOSE
        Type: bool
        Default: False
        debug logging.

NOTES
    You can also use flags syntax for POSITIONAL ARGUMENTS

localizzy tm norm

NAME
    localizzy tm norm - Rename every .tmx under a folder to its shortest BCP 47 tag (legacy tmxnorm).

SYNOPSIS
    localizzy tm norm INPUT <flags>

DESCRIPTION
    Rename every .tmx under a folder to its shortest BCP 47 tag (legacy tmxnorm).

POSITIONAL ARGUMENTS
    INPUT
        Type: str
        folder searched recursively.

FLAGS
    -d, --dry_run=DRY_RUN
        Type: bool
        Default: False
        report only, rename nothing.
    -v, --verbose=VERBOSE
        Type: bool
        Default: False
        debug logging.

NOTES
    You can also use flags syntax for POSITIONAL ARGUMENTS

localizzy tm extract

NAME
    localizzy tm extract - Extract selected TMX pairs from bilingual, paired or multilingual resources.

SYNOPSIS
    localizzy tm extract INPUT OUTPUT <flags>

DESCRIPTION
    TS/PO uses legacy eligible first/last plural projections. Languages come from
    metadata or explicit arguments, never guessed filenames. Source and target
    resource files join by key; loctables select two internal tables. Return every
    unmatched target key. Invalid text/XML preserves the existing output.

POSITIONAL ARGUMENTS
    INPUT
        Type: str
    OUTPUT
        Type: str

FLAGS
    --source=SOURCE
        Type: Optional[str | None]
        Default: None
    --source_lang=SOURCE_LANG
        Type: Optional[str | None]
        Default: None
    --target_lang=TARGET_LANG
        Type: Optional[str | None]
        Default: None
    --source_format=SOURCE_FORMAT
        Type: Optional[str | None]
        Default: None
    -f, --fuzzy=FUZZY
        Type: bool
        Default: False
    -d, --dedupe=DEDUPE
        Type: bool
        Default: True
    -v, --verbose=VERBOSE
        Type: bool
        Default: False
    --source_key=SOURCE_KEY
        Type: Optional[str | None]
        Default: None
    --target_key=TARGET_KEY
        Type: Optional[str | None]
        Default: None

NOTES
    You can also use flags syntax for POSITIONAL ARGUMENTS