+
)}
diff --git a/apps/desktop-tauri/src/i18n/keys.ts b/apps/desktop-tauri/src/i18n/keys.ts
index 1c07040562c..f066db2e92d 100644
--- a/apps/desktop-tauri/src/i18n/keys.ts
+++ b/apps/desktop-tauri/src/i18n/keys.ts
@@ -76,6 +76,8 @@ export const ALL_LOCALE_KEYS = [
"ProviderDisabled",
"ProviderInfo",
"ProviderUsage",
+ "AtlasCloudAvailableBalance",
+ "AtlasCloudBalance",
"PanelUsageDetails",
"AuthType",
"DataSource",
diff --git a/apps/desktop-tauri/src/lib/providerLabels.test.ts b/apps/desktop-tauri/src/lib/providerLabels.test.ts
new file mode 100644
index 00000000000..80a84346b5c
--- /dev/null
+++ b/apps/desktop-tauri/src/lib/providerLabels.test.ts
@@ -0,0 +1,38 @@
+import { describe, expect, it } from "vitest";
+import type { LocaleKey } from "../i18n/keys";
+import type { ProviderDisplayDetail } from "../types/bridge";
+import {
+ providerCostPeriodTitle,
+ providerDisplayDetailTitle,
+} from "./providerLabels";
+
+const translate = (key: LocaleKey) => `translated:${key}`;
+
+describe("provider labels", () => {
+ it("localizes Atlas Cloud display labels and preserves other provider titles", () => {
+ const atlasBalance: ProviderDisplayDetail = {
+ id: "atlascloud-available",
+ title: "Available balance",
+ value: "$95.50",
+ secondaryValue: null,
+ progress: null,
+ };
+ const other: ProviderDisplayDetail = {
+ ...atlasBalance,
+ id: "other",
+ title: "Credits",
+ };
+
+ expect(providerDisplayDetailTitle(atlasBalance, translate)).toBe(
+ "translated:AtlasCloudAvailableBalance",
+ );
+ expect(providerDisplayDetailTitle(other, translate)).toBe("Credits");
+ });
+
+ it("localizes Atlas Cloud balance period and preserves other periods", () => {
+ expect(
+ providerCostPeriodTitle("atlascloud", "Atlas Cloud balance", translate),
+ ).toBe("translated:AtlasCloudBalance");
+ expect(providerCostPeriodTitle("other", "This month", translate)).toBe("This month");
+ });
+});
diff --git a/apps/desktop-tauri/src/lib/providerLabels.ts b/apps/desktop-tauri/src/lib/providerLabels.ts
new file mode 100644
index 00000000000..7dd97d67784
--- /dev/null
+++ b/apps/desktop-tauri/src/lib/providerLabels.ts
@@ -0,0 +1,29 @@
+import type { LocaleKey } from "../i18n/keys";
+import type { ProviderDisplayDetail } from "../types/bridge";
+
+type Translate = (key: LocaleKey) => string;
+
+const DISPLAY_DETAIL_TITLE_KEYS: ReadonlyMap
= new Map([
+ ["atlascloud-available", "AtlasCloudAvailableBalance"],
+]);
+
+const COST_PERIOD_KEYS: ReadonlyMap = new Map([
+ ["atlascloud:Atlas Cloud balance", "AtlasCloudBalance"],
+]);
+
+export function providerDisplayDetailTitle(
+ detail: ProviderDisplayDetail,
+ t: Translate,
+): string {
+ const key = DISPLAY_DETAIL_TITLE_KEYS.get(detail.id);
+ return key ? t(key) : detail.title;
+}
+
+export function providerCostPeriodTitle(
+ providerId: string,
+ period: string,
+ t: Translate,
+): string {
+ const key = COST_PERIOD_KEYS.get(`${providerId}:${period}`);
+ return key ? t(key) : period;
+}
diff --git a/apps/desktop-tauri/src/surfaces/settings/providers/sections/CostSection.test.tsx b/apps/desktop-tauri/src/surfaces/settings/providers/sections/CostSection.test.tsx
new file mode 100644
index 00000000000..36189a47a82
--- /dev/null
+++ b/apps/desktop-tauri/src/surfaces/settings/providers/sections/CostSection.test.tsx
@@ -0,0 +1,30 @@
+import { describe, expect, it } from "vitest";
+import { render, screen } from "@testing-library/react";
+import type { CostSnapshotBridge } from "../../../../types/bridge";
+import type { LocaleKey } from "../../../../i18n/keys";
+import { CostSection } from "./CostSection";
+
+describe("CostSection", () => {
+ it("does not present the zero usage carrier as spend for balance-only providers", () => {
+ const cost: CostSnapshotBridge = {
+ used: 0,
+ limit: null,
+ remaining: null,
+ currencyCode: "USD",
+ period: "Atlas Cloud balance",
+ resetsAt: null,
+ formattedUsed: "$0.00",
+ formattedLimit: null,
+ balance: 95.5,
+ formattedBalance: "$95.50",
+ };
+
+ const { container } = render(
+ key} />,
+ );
+
+ expect(container.firstChild).toBeNull();
+ expect(screen.queryByText("DetailCostUsed")).toBeNull();
+ expect(screen.queryByText("$0.00")).toBeNull();
+ });
+});
diff --git a/apps/desktop-tauri/src/surfaces/settings/providers/sections/CostSection.tsx b/apps/desktop-tauri/src/surfaces/settings/providers/sections/CostSection.tsx
index e1a078f29a2..8d6e89b9c3b 100644
--- a/apps/desktop-tauri/src/surfaces/settings/providers/sections/CostSection.tsx
+++ b/apps/desktop-tauri/src/surfaces/settings/providers/sections/CostSection.tsx
@@ -13,6 +13,13 @@ interface Props {
export function CostSection({ cost, t }: Props) {
if (!cost) return null;
+ const balanceOnly =
+ cost.balance != null &&
+ cost.limit == null &&
+ cost.used === 0 &&
+ (cost.daily?.length ?? 0) === 0;
+ if (balanceOnly) return null;
+
const rows: { label: string; value: string | null }[] = [
{ label: t("DetailCostUsed"), value: cost.formattedUsed },
{ label: t("DetailCostLimit"), value: cost.formattedLimit },
diff --git a/apps/desktop-tauri/src/surfaces/settings/providers/sections/UsageSection.tsx b/apps/desktop-tauri/src/surfaces/settings/providers/sections/UsageSection.tsx
index b2d24dbdfc1..8026099d83a 100644
--- a/apps/desktop-tauri/src/surfaces/settings/providers/sections/UsageSection.tsx
+++ b/apps/desktop-tauri/src/surfaces/settings/providers/sections/UsageSection.tsx
@@ -98,6 +98,7 @@ export function UsageSection({ provider, resetTimeRelative, t }: Props) {
);
-}
\ No newline at end of file
+}
diff --git a/rust/src/locale.rs b/rust/src/locale.rs
index 276a31160e1..41ec464786a 100644
--- a/rust/src/locale.rs
+++ b/rust/src/locale.rs
@@ -266,6 +266,8 @@ locale_keys! {
ProviderDisabled,
ProviderInfo,
ProviderUsage,
+ AtlasCloudAvailableBalance,
+ AtlasCloudBalance,
PanelUsageDetails,
AuthType,
DataSource,
diff --git a/rust/src/locale/en-US.ftl b/rust/src/locale/en-US.ftl
index 53b4453f6d1..9b6db823248 100644
--- a/rust/src/locale/en-US.ftl
+++ b/rust/src/locale/en-US.ftl
@@ -69,6 +69,8 @@ ProviderEnabled = Enabled
ProviderDisabled = Disabled
ProviderInfo = Info
ProviderUsage = Usage
+AtlasCloudAvailableBalance = Available balance
+AtlasCloudBalance = Atlas Cloud balance
PanelUsageDetails = Usage details
AuthType = Authentication
DataSource = Data Source
diff --git a/rust/src/locale/es-MX.ftl b/rust/src/locale/es-MX.ftl
index bae2c814c39..c8d79fc7a57 100644
--- a/rust/src/locale/es-MX.ftl
+++ b/rust/src/locale/es-MX.ftl
@@ -61,6 +61,8 @@ ProviderEnabled = Habilitado
ProviderDisabled = Deshabilitado
ProviderInfo = Información
ProviderUsage = Uso
+AtlasCloudAvailableBalance = Saldo disponible
+AtlasCloudBalance = Saldo de Atlas Cloud
AuthType = Autenticación
DataSource = Fuente de datos
ProviderNotDetected = no detectado
diff --git a/rust/src/locale/ja-JP.ftl b/rust/src/locale/ja-JP.ftl
index 92618f72f71..f523f1a61df 100644
--- a/rust/src/locale/ja-JP.ftl
+++ b/rust/src/locale/ja-JP.ftl
@@ -61,6 +61,8 @@ ProviderEnabled = 有効
ProviderDisabled = 無効
ProviderInfo = 情報
ProviderUsage = 使用量
+AtlasCloudAvailableBalance = 利用可能残高
+AtlasCloudBalance = Atlas Cloud の残高
AuthType = 認証
DataSource = データソース
ProviderNotDetected = 未検出
diff --git a/rust/src/locale/ko-KR.ftl b/rust/src/locale/ko-KR.ftl
index 7f59c6fc294..9b80f771f7d 100644
--- a/rust/src/locale/ko-KR.ftl
+++ b/rust/src/locale/ko-KR.ftl
@@ -61,6 +61,8 @@ ProviderEnabled = 활성화됨
ProviderDisabled = 비활성화됨
ProviderInfo = 정보
ProviderUsage = 사용량
+AtlasCloudAvailableBalance = 사용 가능 잔액
+AtlasCloudBalance = Atlas Cloud 잔액
AuthType = 인증
DataSource = 데이터 소스
ProviderNotDetected = 감지되지 않음
diff --git a/rust/src/locale/ru-RU.ftl b/rust/src/locale/ru-RU.ftl
index 855f7a9eb6f..de7c6a1f573 100644
--- a/rust/src/locale/ru-RU.ftl
+++ b/rust/src/locale/ru-RU.ftl
@@ -45,6 +45,8 @@ ProviderEnabled = Включено
ProviderDisabled = Отключено
ProviderInfo = Информация
ProviderUsage = Использование
+AtlasCloudAvailableBalance = Доступный баланс
+AtlasCloudBalance = Баланс Atlas Cloud
AuthType = Аутентификация
DataSource = Источник данных
ProviderNotDetected = не обнаружено
diff --git a/rust/src/locale/tests.rs b/rust/src/locale/tests.rs
index 9daf93d8098..524d3fde355 100644
--- a/rust/src/locale/tests.rs
+++ b/rust/src/locale/tests.rs
@@ -80,6 +80,8 @@ fn test_japanese_menu_card_locale_values_are_translated() {
(LocaleKey::DetailCostLimit, "上限"),
(LocaleKey::DetailCostRemaining, "残り"),
(LocaleKey::DetailCostBalance, "残高"),
+ (LocaleKey::AtlasCloudAvailableBalance, "利用可能残高"),
+ (LocaleKey::AtlasCloudBalance, "Atlas Cloud の残高"),
(LocaleKey::DetailCostResets, "リセット"),
(LocaleKey::DetailChartCost, "コスト(30日間)"),
(LocaleKey::DetailChartCredits, "使用クレジット(30日間)"),
diff --git a/rust/src/locale/tr-TR.ftl b/rust/src/locale/tr-TR.ftl
index ca4fabe7912..d57153f838c 100644
--- a/rust/src/locale/tr-TR.ftl
+++ b/rust/src/locale/tr-TR.ftl
@@ -67,6 +67,8 @@ ProviderEnabled = Etkin
ProviderDisabled = Devre dışı
ProviderInfo = Bilgi
ProviderUsage = Kullanım
+AtlasCloudAvailableBalance = Kullanılabilir bakiye
+AtlasCloudBalance = Atlas Cloud bakiyesi
AuthType = Kimlik Doğrulama
DataSource = Veri Kaynağı
ProviderNotDetected = algılanmadı
diff --git a/rust/src/locale/zh-CN.ftl b/rust/src/locale/zh-CN.ftl
index 98dd870db8d..67cdedcc230 100644
--- a/rust/src/locale/zh-CN.ftl
+++ b/rust/src/locale/zh-CN.ftl
@@ -61,6 +61,8 @@ ProviderEnabled = 已启用
ProviderDisabled = 已禁用
ProviderInfo = 信息
ProviderUsage = 用量
+AtlasCloudAvailableBalance = 可用余额
+AtlasCloudBalance = Atlas Cloud 余额
AuthType = 认证方式
DataSource = 数据来源
ProviderNotDetected = 未检测到
diff --git a/rust/src/locale/zh-TW.ftl b/rust/src/locale/zh-TW.ftl
index f893d5b423d..d8b8f6d9688 100644
--- a/rust/src/locale/zh-TW.ftl
+++ b/rust/src/locale/zh-TW.ftl
@@ -61,6 +61,8 @@ ProviderEnabled = 已啟用
ProviderDisabled = 已停用
ProviderInfo = 資訊
ProviderUsage = 用量
+AtlasCloudAvailableBalance = 可用餘額
+AtlasCloudBalance = Atlas Cloud 餘額
AuthType = 認證方式
DataSource = 資料來源
ProviderNotDetected = 未檢測到