CLI Commands

search

Search translation files by key path or value, one compact row per matching key rather than one per key and locale.

Synopsis

the-i18n-cli search --query <query>

Flags

FlagTypeRequiredDefaultDescription
--querystringyes—Text to search for, matched against keys and/or values. Compared as a case-insensitive substring unless matchMode says otherwise. Example: "save" matches the key "common.actions.save" and the value "Save changes".
--searchIn=<keys|values|both>, --instringno"both"Whether to search translation keys, values, or both. Default: "both".
--matchMode=<contains|exact|fuzzy>stringno"contains"How query is compared. "contains" is a case-insensitive substring, over every locale searched. "exact" is the whole string, and "fuzzy" also accepts near-misses in wording, both ignoring case, accents, punctuation and whitespace and both comparing against one locale only — locale when given, otherwise the project default. Default: "contains".
--layerstringno—Layer name to search in (e.g., "root", "app-admin"), or "*" for all layers. If omitted, searches every layer.
--localestringno—Locale code to search in (e.g., "en", "de"). If omitted, searches every locale.
--includeLocalesbooleannofalseReturn one row per key and locale — layer, locale, key, value — instead of one row per key. Several times the output for the same findings, so ask for it when the per-locale values are what you are after. Default: false.
--limitstringno—Maximum number of matching rows to return. Default: 100 for a tool call, unlimited at a terminal. When the cap applies the result carries truncated: true and nextOffset — call again with offset set to that value for the next page, or narrow the request instead.
--offsetstringno—Number of matching rows to skip before returning any. Default: 0. Pass the nextOffset of a truncated result to continue where it stopped.
Copyright © 2026