locli_status
locli status
Project overview from locli.json: languages, missing texts per language, open Git features and whether unreleased changes wait for release approval. Read-only.
無需輸入參數。

io.github.mariohahn由 GitHub 帳號 mariohahn 發布v0.1.11更新於 Nov 6, 2026
Find, add, push and pull an app's user-facing texts in locli (iOS, Android, web, backend).
locli 管理應用程式的使用者可見文案:助理可以尋找、新增、推送與拉取 iOS、Android、Web 及後端的翻譯文案。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
參照 儲存庫 中的啟動說明。
Put your app's user-facing texts into locli: push new texts,
let a project owner approve a release, pull the approved translations. Built for
coding agents, works for any stack: iOS String Catalogs, Android strings.xml, and
JSON for web and backend. Node 18+, no dependencies.
init detects your text files and writes:
locli.json with the project slug, source language and one target per catalogAGENTS.md (and @AGENTS.md in an existing CLAUDE.md)--skill copies it to .agents/skills/locli/ (linked from .claude/skills/locli/)When you are logged in, init also creates the project with its languages and
platforms. It is safe to rerun.
login opens the browser. You sign in, or create a free account, and approve the CLI.
The token is stored per server in ~/.config/locli/credentials.json, readable only by
you. In CI, set LOCLI_TOKEN instead. whoami shows the account; logout revokes the
token.
receipt_import_title with a comment.npx @locli/cli push uploads only what locli lacks. It never overwrites existing
texts. New keys from a Git feature branch are grouped as a feature.npx @locli/cli pull writes the latest approved release into your files.locli.jsonEvery target has platform (ios, android, web or backend), format and
path. Paths are relative to locli.json.
file; the default is strings.xml.{locale} in the path and take an optional keyPrefix.apiURL is optional; the default is https://locli.dev.The JSON schema is shipped as @locli/cli/schema/locli.json.
Every command takes --api-url, --config and --help. Exit codes: 0 ok, 1 error,
2 usage error.
Environment variables:
LOCLI_TOKEN: the API token in CI.LOCLI_API_URL: the server.LOCLI_CONFIG: the path to locli.json.LOCLI_BRANCH: overrides the detected branch.The MCP server provides eleven tools:
locli_statuslocli_areaslocli_guidelocli_contextlocli_find_textslocli_add_textslocli_pushlocli_pulllocli_delete_keys (only keys that were never released)locli_community_suggestionslocli_community_reviewClaude Code: install the plugin (skill and MCP server in one), or add only the MCP server:
Cursor (.cursor/mcp.json) and other clients that use mcpServers:
Codex (~/.codex/config.toml):
<b>, <a> …) are skipped on push and left alone on pull.count or argN becomes a plural key. Other
ICU messages are pushed as plain text.Agent guide: https://locli.dev/docs/agents.md · License: MIT
來源:cli/README.md,提交 abd72dd
locli status
Project overview from locli.json: languages, missing texts per language, open Git features and whether unreleased changes wait for release approval. Read-only.
無需輸入參數。
Feature areas
The project's feature areas (a key's first segment, e.g. login in login_username_label) with key counts and examples. With feature="login" it returns the existing area to use (by name or synonym such as auth/signin) or proposes a new one, which the first push of keys with that prefix creates. Call it when you start building a feature. Read-only.
featureTranslation guide
The project's translation guide: tone and form of address per language, glossary terms with their required translation, terms that stay as written (keep), and every current translation that breaks the glossary. Read it before translating. Read-only.
無需輸入參數。
Where texts are used
Scans the app's code for every key in locli.json's files: where it is used (file:line), as what (toolbar item, tab, button, menu item, screen title, form field, push notification, email, alert, error message, accessibility label, text) and its length budget in characters. Lists translations in the files that exceed their budget and keys not found in the code. Call it before translating and fix every too-long text (shorter wording, or a layout that wraps). Local, read-only.
keytargetFind existing texts
Search existing keys, translator comments and values (case-insensitive, all words must match). Call this before creating a key so a text with the same meaning is reused. Read-only.
query必填localeAdd texts
Create missing keys and values in locli. Never overwrites: values that already exist are reported as skipped (change them in locli instead). Use lower_snake_case keys whose first segment is the feature area and always give a comment saying where the text appears and what each placeholder holds. Placeholders are printf style (%@, %lld, %1$@) for iOS/Android, ICU names ({used}, {n, number}) for keys used only on web/backend; give plural texts as forms with "other". New keys join the current Git branch's feature. Prefer adding the text to the app's source file and calling locli_push when the app has one.
texts必填branchdryRunPush new texts
Upload texts from the app files in locli.json that locli lacks (new keys, missing languages). Never overwrites existing texts. Reports how many texts wait for a release.
dryRuntargetPull approved texts
Write the latest approved release into the app files from locli.json. Replaces the released keys' texts in those files; local-only keys stay. draft=true writes the unapproved working state for local checks only.
drafttargetDelete unreleased keys
Delete keys that no release ever contained: in locli (texts, translations, history) and in the app files from locli.json, so the next push does not add them back. Keys locli does not know are removed from the files only. If any key was already released, nothing is deleted: apps may still show it, so a project owner deletes it in the web editor. Warns about code that still uses a deleted key. Use for duplicates, typos and texts of a feature that was dropped; run with dryRun first and show the user the list.
keys必填dryRunCommunity suggestions
Suggestions from the project's public community catalog (anyone can suggest translations of released texts, vote and discuss, without an account), the most voted first. Each has an id, key, language, source text, today's text in locli, the suggestion, score, votes and the public discussion. Read-only.
localestatusReview a community suggestion
Decide one community suggestion: accept makes it the working text (it ships with the next approved release; you never approve releases), reject declines it, hide removes spam or abuse from the public page. Before accepting, check that placeholders, the glossary (locli_guide) and the tone fit; when several suggestions compete, prefer the clearly better wording, not only the score.
id必填notedecision必填已滿足適用檢查項的 90%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
npx @locli/cli initnpx @locli/cli login{ "project": "example-app", "sourceLanguage": "en", "targets": [ { "platform": "ios", "format": "xcstrings", "path": "App/Localizable.xcstrings" }, { "platform": "android", "format": "android-xml", "path": "app/src/main/res" }, { "platform": "web", "format": "json", "path": "messages/{locale}.json" } ]}/plugin marketplace add mariohahn/locli/plugin install locli@locliclaude mcp add --scope project locli -- npx -y @locli/cli mcp{ "mcpServers": { "locli": { "command": "npx", "args": ["-y", "@locli/cli", "mcp"] } } }[mcp_servers.locli]command = "npx"args = ["-y", "@locli/cli", "mcp"]