Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
4de7b8b
refactor(i18n): show plan usage providers' setup help through Fluent
penso Nov 1, 2026
6a098ca
refactor(i18n): name plan usage report words as typed text
penso Nov 1, 2026
efef7f7
fix(i18n): wrap a long plan usage fact value inside its card
penso Nov 1, 2026
a4fbd2a
refactor(i18n): show plan usage reports from Copilot to Kimi through …
penso Nov 1, 2026
aa4ed2c
refactor(i18n): show plan usage reports from Kiro to OpenRouter throu…
penso Nov 1, 2026
b10aa77
refactor(i18n): show plan usage reports from Perplexity on through Fl…
penso Nov 1, 2026
262a2bf
refactor(i18n): show the last plan usage reports through Fluent
penso Nov 1, 2026
9d3bb87
fix(i18n): name usage windows in English in the usage command
penso Nov 1, 2026
31ac7fa
Merge branch 'i18n/usage-providers-b' into i18n/usage-providers-c
penso Nov 1, 2026
6491908
refactor(i18n): borrow Z.ai's model names to sort their token totals
penso Nov 1, 2026
1dc7c39
Merge branch 'i18n/usage-providers-c' into i18n/usage-providers-d
penso Nov 1, 2026
4d4180e
Merge branch 'i18n/usage-providers-d' into i18n/usage-providers-a
penso Nov 1, 2026
7b769a0
Merge remote-tracking branch 'origin/main' into i18n/usage-settings
penso Nov 1, 2026
d4cc253
chore(i18n): keep main's remaining-work list in the i18n guide
penso Nov 1, 2026
0ed245d
Merge branch 'i18n/usage-settings' into i18n/usage-report-text
penso Nov 1, 2026
a0c4339
Merge branch 'i18n/usage-report-text' into i18n/usage-providers-b
penso Nov 1, 2026
49cdc1a
Merge branch 'i18n/usage-providers-b' into i18n/usage-providers-c
penso Nov 1, 2026
e9896fa
Merge branch 'i18n/usage-providers-c' into i18n/usage-providers-d
penso Nov 1, 2026
a8b52be
Merge branch 'i18n/usage-providers-d' into i18n/usage-providers-a
penso Nov 1, 2026
b2973b8
Merge remote-tracking branch 'origin/main' into i18n/usage-report-text
penso Nov 1, 2026
be4bd21
Merge branch 'i18n/usage-report-text' into i18n/usage-providers-b
penso Nov 1, 2026
1f53590
Merge branch 'i18n/usage-providers-b' into i18n/usage-providers-c
penso Nov 1, 2026
248e595
Merge branch 'i18n/usage-providers-c' into i18n/usage-providers-d
penso Nov 1, 2026
ac82237
Merge branch 'i18n/usage-providers-d' into i18n/usage-providers-a
penso Nov 1, 2026
5afab2d
Merge remote-tracking branch 'origin/main' into i18n/usage-providers-a
penso Nov 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions crates/herdr-gpui/locales/en-US/usage-abacus.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,10 @@
## service's own menu paths stay as written.

usage-abacus-setting-cookie = Sign in to https://apps.abacus.ai, open Developer Tools > Application > Cookies for https://apps.abacus.ai, and copy its session cookies (names containing "session", "auth", or "sid"). Paste them as "name=value; name2=value2"; the whole Cookie header of any apps.abacus.ai request also works.

## The report: the organization's compute credits this billing cycle.

# The limit's name.
usage-abacus-credits = Credits
# The balance: credits used out of the cycle's total.
usage-abacus-credits-used = Credits used
6 changes: 6 additions & 0 deletions crates/herdr-gpui/locales/en-US/usage-aiand.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,9 @@
## service's own menu paths stay as written.

usage-aiand-setting-api-key = An ai& API key (starts with sk-), created at https://console.aiand.com under Settings > API Keys > Create. Keys are shown only once.

## The report: the money spent over the 30 days ai& keeps request logs.

usage-aiand-spend = Spend, last 30 days
# The same, when only the newest pages of logs were summed.
usage-aiand-spend-partial = Spend, last 30 days (partial)
65 changes: 65 additions & 0 deletions crates/herdr-gpui/locales/en-US/usage-aixy.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,68 @@

usage-aixy-setting-api-key = The project-scoped Aixy API key your workload uses, from https://dash.aixy-gateway.com under the project's API keys. Usage is that key's own traffic from every machine.
usage-aixy-setting-base-url = Optional gateway URL for a self-hosted or dedicated Aixy, with or without /v1. Defaults to https://api.aixy-gateway.com. It must be HTTPS unless it is on localhost, a private network, or a .local host.

## The report: the budgets that apply to the key, and the key's own usage
## over the last seven days. Key and project names stay as Aixy sends them.

usage-aixy-key-title = Aixy key
usage-aixy-key = Key
usage-aixy-project = Project
# A project Aixy names neither by name nor by ID.
usage-aixy-unknown = Unknown
# When Aixy read the figures; the value is its timestamp.
usage-aixy-observed = Observed
usage-aixy-budgets = Applicable budgets
# A budget's name: who it covers ($scope), how often it resets ($interval),
# whether it is shared or personal ($sharing), and whether it stops
# requests or only watches them ($enforcement).
usage-aixy-budget = { $scope ->
[organization] Organization
[project] Project
[team] Team
[user] User
*[api_key] Key
} · { $interval ->
[daily] Daily
[weekly] Weekly
[monthly] Monthly
*[lifetime] Lifetime
} · { $sharing ->
[shared] Shared
*[personal] Personal
} · { $enforcement ->
[hard] Hard
*[monitor] Monitor
}
# A budget's short name as a limit, such as "Project monthly"; $scope and
# $interval as in usage-aixy-budget.
usage-aixy-budget-short = { $scope ->
[organization] Organization
[project] Project
[team] Team
[user] User
*[api_key] Key
} { $interval ->
[daily] daily
[weekly] weekly
[monthly] monthly
*[lifetime] lifetime
}
# A budget's state, in dollars such as $70.00: $left of $limit left, and
# $spent so far.
usage-aixy-budget-left = { $left } of { $limit } left, { $spent } spent
# The same for a budget that stops requests, which also holds $reserved for
# requests still running.
usage-aixy-budget-reserved = { $left } of { $limit } left, { $spent } spent, { $reserved } reserved
usage-aixy-unavailable = Unavailable
# The balance: what the key's last seven days cost, as far as Aixy could
# attribute it.
usage-aixy-attributed-week = Last 7 days, attributed
usage-aixy-week = Last 7 days · this key
usage-aixy-requests = Requests
usage-aixy-tokens = Tokens
usage-aixy-attributed-spend = Attributed spend
usage-aixy-cost-coverage = Cost coverage
# How many requests have a cost: $attributed of all $requests, of which
# $partial only in part. Each is a grouped number, such as 1,200.
usage-aixy-coverage = { $attributed } / { $requests } requests, { $partial } partial
15 changes: 15 additions & 0 deletions crates/herdr-gpui/locales/en-US/usage-alibaba.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,18 @@ usage-alibaba-setting-cookie = Your Model Studio console session. Sign in to the
usage-alibaba-setting-api-key = A Coding Plan API key (sk-sp-...) from the Coding Plan page of the Model Studio console. Used when no console cookie works; some mainland accounts only answer the cookie.
usage-alibaba-setting-region = Optional. "intl" (modelstudio.console.alibabacloud.com) or "cn" (bailian.console.aliyun.com). Unset tries International, then China mainland.
usage-alibaba-setting-sec-token = Optional. The console's sec_token, when it cannot be read from /tool/user/info.json: in Developer Tools > Network, the sec_token form field of the data/api.json request on the Coding Plan page.

## The report: the Coding Plan's requests used in each quota window. Plan
## names stay as Alibaba sends them.

usage-alibaba-requests-used = Requests used
# A quota window's name, beside its requests used out of the total.
usage-alibaba-window = { $kind ->
[session] Session
[weekly] Weekly
*[monthly] Monthly
}
# Shown for an active plan whose quota Alibaba does not report.
usage-alibaba-coding-plan = Coding Plan
usage-alibaba-status = Status
usage-alibaba-active-unreported = Active, quota not reported
21 changes: 21 additions & 0 deletions crates/herdr-gpui/locales/en-US/usage-alibabatokenplan.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,24 @@
usage-alibabatokenplan-setting-region = Which Token Plan to read: "intl" (International Team, the default), "cn" (China mainland Team), "intl-personal" or "cn-personal" (Personal/Solo).
usage-alibabatokenplan-setting-cookie = Only needed without a signed-in Bailian CLI (bl). Sign in to the Token Plan page (https://modelstudio.console.alibabacloud.com, or https://bailian.console.aliyun.com in China), open Developer Tools > Application > Cookies for that site, and copy at least login_aliyunid_ticket, login_aliyunid_pk, login_aliyunid_csrf and cna. Paste them as "name=value; name2=value2", or copy the whole Cookie header of the data/api.json request from the Network tab.
usage-alibabatokenplan-setting-sec-token = Optional. The console's sec_token, when it cannot be read from /tool/user/info.json: in Developer Tools > Network, the sec_token form field of any data/api.json request on the Token Plan page.

## The report: the token plan's credits, for a team subscription or a
## personal plan's windows. Qwen Cloud's report uses these words too. Plan
## names stay as Alibaba sends them.

# The balance: credits left of the subscription's total.
usage-alibabatokenplan-credits-left = Credits left
# Shown for a team account without an active token plan.
usage-alibabatokenplan-subscription = Subscription
usage-alibabatokenplan-active-plans = Active token plans
usage-alibabatokenplan-none = None
usage-alibabatokenplan-credits-used = Credits used
# A window's name, beside its credits used.
usage-alibabatokenplan-window = { $kind ->
[session] Session
[weekly] Weekly
*[monthly] Monthly
}
# Credits used in a window: $used of $total, each a grouped number such as
# 5,000.
usage-alibabatokenplan-credits-of = { $used } / { $total } credits
20 changes: 20 additions & 0 deletions crates/herdr-gpui/locales/en-US/usage-amp.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,23 @@

usage-amp-setting-api-key = An Amp access token, created in Amp's settings at https://ampcode.com/settings. Not needed when the Amp CLI is installed and signed in on the host (`amp login`).
usage-amp-setting-cookie = Your ampcode.com browser session, used when neither the CLI nor a token is available; it shows Amp Free only. Sign in at https://ampcode.com, open Developer Tools → Application → Cookies → https://ampcode.com, and copy the `session` cookie as "session=value".

## The report: the subscription's monthly allowances, credits, and
## workspace balances. Plan names, including Amp Free, and organization
## names stay as Amp sends them.

# A limit: how much of the month's Orb allowance is used.
usage-amp-orb-usage = Orb usage
usage-amp-monthly-allowances = Monthly allowances
# The agent allowance left this month; the value is a dollar amount.
usage-amp-agent = Agent
# Orb machine hours left this month on the a1.small size.
usage-amp-orb-hours = Orb (a1.small hours)
# $hours is a whole number of hours, such as 732.
usage-amp-hours = { $hours }h
usage-amp-under-an-hour = < 1h
usage-amp-individual-credits = Individual credits
# A workspace's credit balance; $name is the workspace's name.
usage-amp-workspace = Workspace { $name }
usage-amp-account = Account
usage-amp-organization = Organization
15 changes: 15 additions & 0 deletions crates/herdr-gpui/locales/en-US/usage-antigravity.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,18 @@
## service's own menu paths stay as written.

usage-antigravity-setting-cli-path = The agy executable on the probed host when it is not on the PATH (install it with `brew install --cask antigravity-cli`, run `agy` once, and sign in). agy runs only when this is set or antigravity is in show_providers, as a signed-out agy opens a browser to sign in.

## The report: each model group's limits, as agy reports them. Model
## families (Gemini, Claude/GPT) and the names agy gives groups and limits
## stay as written.

# A group of models agy gives no name.
usage-antigravity-quota = Quota
# A limit's name: $group is the model group, such as Gemini; $cadence says
# whether the limit resets every five hours, weekly, or otherwise, when
# $name is agy's own name for it (empty for the other two).
usage-antigravity-window = { $group } { $cadence ->
[session] 5-hour
[weekly] weekly
*[other] { $name }
}
4 changes: 4 additions & 0 deletions crates/herdr-gpui/locales/en-US/usage-atlascloud.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,7 @@
## service's own menu paths stay as written.

usage-atlascloud-setting-api-key = A standard Atlas Cloud API key from https://www.atlascloud.ai/console. It needs account balance read permission: use the account owner's key, or an Account Admin or Finance key for a team. A public key ID (ak_…) cannot authenticate.

## The report: the account's prepaid balance.

usage-atlascloud-available-balance = Available balance
9 changes: 9 additions & 0 deletions crates/herdr-gpui/locales/en-US/usage-augment.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,12 @@
## service's own menu paths stay as written.

usage-augment-setting-cookie = Your app.augmentcode.com browser session, used when the Auggie CLI is not signed in. Sign in at https://app.augmentcode.com, open Developer Tools → Application → Cookies → https://app.augmentcode.com, and copy the session cookies (such as `_session`, `session`, `web_rpc_proxy_session`, or `auth0`), pasted as one header: "name=value; name2=value2".

## The report: the billing cycle's credits. Plan names, such as Max Plan,
## stay as Augment or auggie writes them.

# The balance: credits left of the cycle's allowance.
usage-augment-credits-left = Credits left
# The plan line when auggie names no plan: the monthly allowance, where
# $amount is a grouped number such as 450,000.
usage-augment-credits-per-month = { $amount } credits/month
11 changes: 11 additions & 0 deletions crates/herdr-gpui/locales/en-US/usage-azureopenai.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,14 @@ usage-azureopenai-setting-api-key = An Azure OpenAI resource key: in the Azure p
usage-azureopenai-setting-endpoint = The resource endpoint from the same Keys and Endpoint page, e.g. https://my-resource.openai.azure.com. Only HTTPS is accepted.
usage-azureopenai-setting-deployment = The deployment name to check, as listed under Deployments in Azure AI Foundry (https://ai.azure.com), e.g. chat-prod.
usage-azureopenai-setting-api-version = Optional. "v1" for the OpenAI-compatible v1 API, or a dated API version. Defaults to 2024-10-21.

## The report: that the deployment answers, and what it runs. Resource,
## deployment, model, and API version names stay as written.

# The plan line; $deployment is the deployment's name, such as chat-prod.
usage-azureopenai-deployment-plan = Deployment: { $deployment }
usage-azureopenai-reachable = Deployment reachable
usage-azureopenai-resource = Resource
usage-azureopenai-deployment = Deployment
usage-azureopenai-model = Model
usage-azureopenai-api-version = API version
7 changes: 7 additions & 0 deletions crates/herdr-gpui/locales/en-US/usage-bedrock.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,10 @@
usage-bedrock-setting-profile = The AWS CLI profile to read Cost Explorer with, from ~/.aws/config on the selected host (run `aws sso login --profile <name>` first for SSO). Use "default" for the default credentials. The identity needs ce:GetCostAndUsage. AWS bills every Cost Explorer request, so this provider runs only once profile or budget is set here.
usage-bedrock-setting-budget = Optional monthly Bedrock budget in US dollars, e.g. 250, shown as a monthly limit. It does not cap AWS charges.
usage-bedrock-setting-aws-cli = Optional path to the AWS CLI v2 on the selected host when `aws` is not on its PATH, e.g. /opt/homebrew/bin/aws.

## The report: this month's Bedrock spend, by AWS service. Service names
## stay as Cost Explorer sends them.

# The balance: spend since the month began, against the budget if set.
usage-bedrock-month-to-date = Month to date
usage-bedrock-spend-by-service = Spend by service
73 changes: 73 additions & 0 deletions crates/herdr-gpui/locales/en-US/usage-bifrost.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,76 @@

usage-bifrost-setting-api-key = Your Bifrost virtual key (vk-…), from the gateway's Virtual Keys page. It is sent as the x-bf-vk header to base_url only.
usage-bifrost-setting-base-url = Your Bifrost gateway's URL, e.g. https://bifrost.example.com. Bifrost has no public host. It must be HTTPS unless it is on localhost, a private network, or a .local host.

## The report: the virtual key's budgets, rate limits, and model spend.
## The key's name, budget and pool names, provider and model names, and
## budget IDs stay as Bifrost sends them.

# A limit set for one provider; $name is the provider's name, or its
# number in the key's list.
usage-bifrost-provider-scope = Provider { $name }
# A limit set for one model; $name is the model's name, after its
# provider's when Bifrost gives one (openai · gpt-4o), or its number.
usage-bifrost-model-scope = Model { $name }
# A rate limit's dimension.
usage-bifrost-tokens = Tokens
usage-bifrost-requests = Requests
# A rate limit drawn from a named pool: $source is the pool's name, such
# as Team pool, and $limit what it limits (usage-bifrost-tokens or
# usage-bifrost-requests).
usage-bifrost-sourced-limit = { $source } { $limit }
# A rate limit for one provider or model: $scope is a scope above, and
# $limit the limit's name.
usage-bifrost-scoped-limit = { $scope } { $limit }
# A budget without a name of its own.
usage-bifrost-budget = Budget
# A budget for one provider or model: $scope is a scope above, and $budget
# the budget's name.
usage-bifrost-scoped-budget = { $scope } · { $budget }
# A budget's calendar period, as a limit's name after the budget's
# ($budget), in a balance's name, and after an amount ($amount, such as
# $42.17 / $125.00).
usage-bifrost-periodic = { $budget } · { $period ->
[hourly] Hourly
[daily] Daily
[weekly] Weekly
[monthly] Monthly
[quarterly] Quarterly
*[yearly] Yearly
}
usage-bifrost-period = { $period ->
[hourly] Hourly
[daily] Daily
[weekly] Weekly
[monthly] Monthly
[quarterly] Quarterly
*[yearly] Yearly
}
usage-bifrost-amount-period = { $amount } · { $period ->
[hourly] Hourly
[daily] Daily
[weekly] Weekly
[monthly] Monthly
[quarterly] Quarterly
*[yearly] Yearly
}
# The balance of a budget without a limit: only what it spent.
usage-bifrost-spend = Spend
# A budget without a pool name, by its ID ($id); $budget is its name.
usage-bifrost-budget-id = { $budget } { $id }
usage-bifrost-rate-limits = Rate limits
# A rate limit whose maximum Bifrost does not report.
usage-bifrost-unavailable = Unavailable
# Shown while Bifrost has turned the virtual key off.
usage-bifrost-virtual-key = Virtual key
usage-bifrost-status = Status
usage-bifrost-inactive = Inactive
usage-bifrost-budgets = Budgets
usage-bifrost-models = Models
# A model row without a model name.
usage-bifrost-model = Model
# A model's spend: $cost in dollars, such as $5.00, and $tokens an
# abbreviated count, such as 1.2M.
usage-bifrost-model-cost = { $cost } · { $tokens } tokens
# How many more models spent, beyond those listed.
usage-bifrost-other-models = Other models
22 changes: 22 additions & 0 deletions crates/herdr-gpui/locales/en-US/usage-chutes.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,25 @@

usage-chutes-setting-api-key = A Chutes API key (cpk_…), created as described at https://chutes.ai/docs/getting-started/authentication.
usage-chutes-setting-base-url = Optional HTTPS management API URL. Defaults to https://api.chutes.ai.

## The report: the subscription's rolling and monthly quotas, or the
## account's per-chute quotas. Plan names, quota names, and units Chutes
## names stay as it sends them.

# The rolling quota, which refills over four hours.
usage-chutes-rolling = 4-hour
usage-chutes-monthly = Monthly
# A quota Chutes gives no name.
usage-chutes-quota = Quota
# The section listing each quota's amounts.
usage-chutes-quota-title = Quota
# A quota's use: $used of $limit, plain numbers such as 250 and 1000, in
# $unit, which is Chutes' own unit (such as requests) or
# usage-chutes-credits.
usage-chutes-amounts = { $used }/{ $limit } { $unit }
# The unit of a quota Chutes gives none.
usage-chutes-credits = credits
# The plan line of an account without a subscription.
usage-chutes-no-subscription = No active subscription
# The plan line when Chutes reports no quotas at all.
usage-chutes-no-usage = No usage data
18 changes: 18 additions & 0 deletions crates/herdr-gpui/locales/en-US/usage-claude.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Claude's plan usage, in its usage panel.

## The report: this week's use by surface, and extra usage beyond the
## plan. Plan, model, and surface names (Claude Code, Chats) stay as
## Claude sends them.

usage-claude-week-by-surface = This week by surface
# Spending beyond the plan's limits, which the account may turn on.
usage-claude-extra-usage = Extra usage
usage-claude-this-month = This month
# Extra usage spent this month: $used of the monthly $limit, each an amount
# with its currency, such as 12.34 EUR.
usage-claude-spent-of = { $used } of { $limit }
# Extra usage turned on, with nothing spent reported.
usage-claude-on = On
usage-claude-status = Status
# Extra usage turned off.
usage-claude-off = Off
33 changes: 33 additions & 0 deletions crates/herdr-gpui/locales/en-US/usage-clawrouter.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,36 @@

usage-clawrouter-setting-api-key = A ClawRouter policy API key, created at https://clawrouter.openclaw.ai/dashboard/access.
usage-clawrouter-setting-base-url = Optional HTTPS service root or /v1 URL of another ClawRouter deployment. Defaults to https://clawrouter.openclaw.ai.

## The report: the router's requests, tokens, and cost this month, its
## budget, and each routed provider. Provider names and the budget
## ledger's name stay as ClawRouter sends them.

# The account line: how many providers the router sent requests to.
usage-clawrouter-routed-count = { $count } routed providers
# The plan line, with a monthly budget set or without one.
usage-clawrouter-managed-budget = Managed monthly budget
usage-clawrouter-unmetered = Unmetered
usage-clawrouter-requests = Requests
# All $requests, then how many $succeeded and $failed; each a grouped
# number, such as 1,200.
usage-clawrouter-request-counts = { $requests } · { $succeeded } succeeded · { $failed } failed
usage-clawrouter-tokens = Tokens
# All $tokens, then how many were $input and $output; each a grouped
# number.
usage-clawrouter-token-counts = { $tokens } · { $input } input · { $output } output
usage-clawrouter-actual-cost = Actual cost
usage-clawrouter-budget-ledger = Budget ledger
usage-clawrouter-monthly-budget = Monthly budget
# $amount is spent of the budget, such as $0.012000 / $25.00; $remaining
# the dollars left.
usage-clawrouter-budget-remaining = { $amount } · { $remaining } remaining
# The balance: dollars spent this month.
usage-clawrouter-spent-this-month = Spent this month
usage-clawrouter-routed-providers = Routed providers
# A provider's month: $requests and $tokens are grouped numbers, $cost
# dollars such as $0.004000.
usage-clawrouter-provider-usage = { $requests } requests · { $cost } · { $tokens } tokens
usage-clawrouter-provider-cost = Provider cost
# A provider ClawRouter gives no name.
usage-clawrouter-unknown = Unknown
Loading
Loading