- Delete this company and all its data? This cannot be undone.
+ {`Delete this ${VOCAB.company.toLowerCase()} and all its data? This cannot be undone.`}
);
}
diff --git a/ui/src/pages/Costs.tsx b/ui/src/pages/Costs.tsx
index 281ae0e4..8a5c9c4a 100644
--- a/ui/src/pages/Costs.tsx
+++ b/ui/src/pages/Costs.tsx
@@ -1,4 +1,5 @@
import { useEffect, useMemo, useRef, useState, type ComponentType } from "react";
+import { VOCAB } from "@paperclipai/branding";
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
import type {
BudgetPolicySummary,
@@ -35,6 +36,12 @@ import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
const NO_COMPANY = "__none__";
+const SCOPE_LABELS: Record = {
+ company: VOCAB.company,
+ agent: "Agent",
+ project: "Project",
+};
+
function currentWeekRange(): { from: string; to: string } {
const now = new Date();
const day = now.getDay();
@@ -529,7 +536,7 @@ export function Costs() {
}), [budgetPolicies]);
if (!selectedCompanyId) {
- return ;
+ return ;
}
const showCustomPrompt = preset === "custom" && !customReady;
@@ -855,7 +862,7 @@ export function Costs() {
-
{scopeType} budgets
+
{SCOPE_LABELS[scopeType] ?? scopeType} budgets
{scopeType === "company"
- ? "Company-wide monthly policy."
+ ? `${VOCAB.company}-wide monthly policy.`
: scopeType === "agent"
? "Recurring monthly spend policies for individual agents."
: "Lifetime spend policies for execution-bound projects."}
@@ -939,7 +946,7 @@ export function Costs() {
{budgetPolicies.length === 0 ? (
- No budget policies yet. Set agent and project budgets from their detail pages, or use the existing company monthly budget control.
+ {`No budget policies yet. Set agent and project budgets from their detail pages, or use the existing ${VOCAB.company.toLowerCase()} monthly budget control.`}
) : null}
diff --git a/ui/src/pages/Dashboard.tsx b/ui/src/pages/Dashboard.tsx
index e49b15a2..770435cc 100644
--- a/ui/src/pages/Dashboard.tsx
+++ b/ui/src/pages/Dashboard.tsx
@@ -277,8 +277,8 @@ export function Dashboard() {
description={
{data.budgets.pendingApprovals > 0
- ? `${data.budgets.pendingApprovals} budget overrides awaiting board review`
- : "Awaiting board review"}
+ ? `${data.budgets.pendingApprovals} budget overrides awaiting owner review`
+ : "Awaiting owner review"}
}
/>
diff --git a/ui/src/pages/InstanceSettings.tsx b/ui/src/pages/InstanceSettings.tsx
index 18faff5e..51db299a 100644
--- a/ui/src/pages/InstanceSettings.tsx
+++ b/ui/src/pages/InstanceSettings.tsx
@@ -1,4 +1,5 @@
import { useEffect, useMemo, useState } from "react";
+import { VOCAB } from "@paperclipai/branding";
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
import { Clock3, ExternalLink, Settings } from "lucide-react";
import type { InstanceSchedulerHeartbeatAgent } from "@paperclipai/shared";
@@ -171,14 +172,14 @@ export function InstanceSettings() {
Scheduler Heartbeats
- Agents with a timer heartbeat enabled across all of your companies.
+ {`Agents with a timer heartbeat enabled across all of your ${VOCAB.companies.toLowerCase()}.`}