diff --git a/web/app/components/base/chat/chat/chat-input-area/__tests__/index.spec.tsx b/web/app/components/base/chat/chat/chat-input-area/__tests__/index.spec.tsx
index 8896533f282..36a9672f618 100644
--- a/web/app/components/base/chat/chat/chat-input-area/__tests__/index.spec.tsx
+++ b/web/app/components/base/chat/chat/chat-input-area/__tests__/index.spec.tsx
@@ -314,6 +314,12 @@ describe('ChatInputArea', () => {
render()
expect(screen.getByRole('button', { name: 'common.operation.send' })).toBeInTheDocument()
})
+
+ it('should render a custom send button label when provided', () => {
+ render()
+ expect(screen.getByRole('button', { name: 'Start build' })).toBeInTheDocument()
+ expect(screen.queryByRole('button', { name: 'common.operation.send' })).not.toBeInTheDocument()
+ })
})
// -------------------------------------------------------------------------
diff --git a/web/app/components/base/chat/chat/chat-input-area/index.tsx b/web/app/components/base/chat/chat/chat-input-area/index.tsx
index 1b5c8377501..0966ab67f40 100644
--- a/web/app/components/base/chat/chat/chat-input-area/index.tsx
+++ b/web/app/components/base/chat/chat/chat-input-area/index.tsx
@@ -41,6 +41,7 @@ type ChatInputAreaProps = {
theme?: Theme | null
isResponding?: boolean
disabled?: boolean
+ sendButtonLabel?: string
/**
* Controls whether pressing Enter sends the message.
* - true (default): Enter sends, Shift+Enter inserts newline
@@ -49,7 +50,7 @@ type ChatInputAreaProps = {
*/
sendOnEnter?: boolean
}
-const ChatInputArea = ({ readonly, botName, placeholder, showFeatureBar, showFileUpload, featureBarReadonly = readonly, featureBarDisabled, onFeatureBarClick, visionConfig, speechToTextConfig = { enabled: true }, onSend, inputs = {}, inputsForm = [], theme, isResponding, disabled, sendOnEnter = true }: ChatInputAreaProps) => {
+const ChatInputArea = ({ readonly, botName, placeholder, showFeatureBar, showFileUpload, featureBarReadonly = readonly, featureBarDisabled, onFeatureBarClick, visionConfig, speechToTextConfig = { enabled: true }, onSend, inputs = {}, inputsForm = [], theme, isResponding, disabled, sendButtonLabel, sendOnEnter = true }: ChatInputAreaProps) => {
const { t } = useTranslation()
const { wrapperRef, textareaRef, textValueRef, holdSpaceRef, handleTextareaResize, isMultipleLine } = useTextAreaHeight()
const [query, setQuery] = useState('')
@@ -141,7 +142,7 @@ const ChatInputArea = ({ readonly, botName, placeholder, showFeatureBar, showFil
toast.error(t('voiceInput.notAllow', { ns: 'common' }))
})
}, [t])
- const operation = ()
+ const operation = ()
return (
<>
diff --git a/web/app/components/base/chat/chat/chat-input-area/operation.tsx b/web/app/components/base/chat/chat/chat-input-area/operation.tsx
index 763071daf5e..e9d60217f35 100644
--- a/web/app/components/base/chat/chat/chat-input-area/operation.tsx
+++ b/web/app/components/base/chat/chat/chat-input-area/operation.tsx
@@ -22,6 +22,7 @@ type OperationProps = {
speechToTextConfig?: EnableType
onShowVoiceInput?: () => void
onSend: () => void
+ sendButtonLabel?: string
theme?: Theme | null
ref?: Ref
}
@@ -32,6 +33,7 @@ const Operation: FC = ({
speechToTextConfig,
onShowVoiceInput,
onSend,
+ sendButtonLabel,
theme,
}) => {
const { t } = useTranslation()
@@ -62,8 +64,11 @@ const Operation: FC = ({
}
diff --git a/web/app/components/base/chat/chat/index.tsx b/web/app/components/base/chat/chat/index.tsx
index e11d0b50bd5..e6d3461be6e 100644
--- a/web/app/components/base/chat/chat/index.tsx
+++ b/web/app/components/base/chat/chat/index.tsx
@@ -72,6 +72,7 @@ export type ChatProps = {
inputDisabled?: boolean
inputPlaceholder?: string
inputPlaceholderBotName?: string
+ sendButtonLabel?: string
sidebarCollapseState?: boolean
hideAvatar?: boolean
sendOnEnter?: boolean
@@ -120,6 +121,7 @@ const Chat: FC = ({
inputDisabled,
inputPlaceholder,
inputPlaceholderBotName,
+ sendButtonLabel,
sidebarCollapseState,
hideAvatar,
sendOnEnter,
@@ -262,6 +264,7 @@ const Chat: FC = ({
theme={themeBuilder?.theme}
isResponding={isResponding}
readonly={readonly}
+ sendButtonLabel={sendButtonLabel}
sendOnEnter={sendOnEnter}
/>
)
diff --git a/web/features/agent-v2/agent-detail/configure/components/preview/__tests__/header.spec.tsx b/web/features/agent-v2/agent-detail/configure/components/preview/__tests__/header.spec.tsx
index efad6e38d07..5f0c48cd4b3 100644
--- a/web/features/agent-v2/agent-detail/configure/components/preview/__tests__/header.spec.tsx
+++ b/web/features/agent-v2/agent-detail/configure/components/preview/__tests__/header.spec.tsx
@@ -1,4 +1,4 @@
-import { render, screen } from '@testing-library/react'
+import { render, screen, within } from '@testing-library/react'
import userEvent from '@testing-library/user-event'
import { AgentPreviewHeader } from '../header'
@@ -6,12 +6,14 @@ function renderHeader({
mode = 'preview',
previewEnabled = true,
onModeChange = vi.fn(),
+ onToggleChatFeatures = vi.fn(),
onOpenVersions = vi.fn(),
onRefresh = vi.fn(),
}: {
mode?: 'build' | 'preview'
previewEnabled?: boolean
onModeChange?: (mode: 'build' | 'preview') => void
+ onToggleChatFeatures?: () => void
onOpenVersions?: () => void
onRefresh?: () => void
} = {}) {
@@ -21,7 +23,7 @@ function renderHeader({
previewEnabled={previewEnabled}
isChatFeaturesOpen={false}
onModeChange={onModeChange}
- onToggleChatFeatures={vi.fn()}
+ onToggleChatFeatures={onToggleChatFeatures}
onOpenVersions={onOpenVersions}
onRefresh={onRefresh}
/>,
@@ -43,6 +45,16 @@ describe('AgentPreviewHeader', () => {
expect(onRefresh).toHaveBeenCalledTimes(1)
})
+ it('should show chat features in build mode', async () => {
+ const user = userEvent.setup()
+ const onToggleChatFeatures = vi.fn()
+ renderHeader({ mode: 'build', onToggleChatFeatures })
+
+ await user.click(screen.getByRole('button', { name: 'agentV2.agentDetail.configure.preview.chatFeatures' }))
+
+ expect(onToggleChatFeatures).toHaveBeenCalledTimes(1)
+ })
+
it('should disable preview mode when preview is unavailable', async () => {
const user = userEvent.setup()
const onModeChange = vi.fn()
@@ -52,7 +64,9 @@ describe('AgentPreviewHeader', () => {
onModeChange,
})
- await user.click(screen.getByRole('button', { name: /agentV2\.agentDetail\.configure\.rightPanel\.preview/ }))
+ const modeControl = screen.getByRole('group', { name: 'agentV2.agentDetail.configure.rightPanel.modeLabel' })
+
+ await user.click(within(modeControl).getByRole('button', { name: /agentV2\.agentDetail\.configure\.rightPanel\.preview/ }))
expect(onModeChange).not.toHaveBeenCalled()
})
diff --git a/web/features/agent-v2/agent-detail/configure/components/preview/build-chat.tsx b/web/features/agent-v2/agent-detail/configure/components/preview/build-chat.tsx
index 4a04587549e..6400caf3e05 100644
--- a/web/features/agent-v2/agent-detail/configure/components/preview/build-chat.tsx
+++ b/web/features/agent-v2/agent-detail/configure/components/preview/build-chat.tsx
@@ -6,7 +6,7 @@ import { AgentChatRuntime } from './chat-runtime'
const buildIconGridCells = Array.from({ length: 16 }, (_, index) => `build-icon-cell-${index}`)
-type AgentBuildChatProps = Omit
+type AgentBuildChatProps = Omit
function AgentBuildChatEmptyState({
inputNode,
@@ -43,6 +43,7 @@ export function AgentBuildChat(props: AgentBuildChatProps) {
(
)}
diff --git a/web/features/agent-v2/agent-detail/configure/components/preview/chat-runtime.tsx b/web/features/agent-v2/agent-detail/configure/components/preview/chat-runtime.tsx
index b3f01240766..c10f5284f54 100644
--- a/web/features/agent-v2/agent-detail/configure/components/preview/chat-runtime.tsx
+++ b/web/features/agent-v2/agent-detail/configure/components/preview/chat-runtime.tsx
@@ -410,6 +410,7 @@ export type AgentChatRuntimeProps = {
clearChatList: boolean
conversationId?: string | null
inputPlaceholder: string
+ sendButtonLabel?: string
renderEmptyState: (props: AgentChatRuntimeEmptyStateProps) => ReactNode
onClearChatListChange: (clearChatList: boolean) => void
onConversationIdChange?: (conversationId: string) => void
@@ -426,6 +427,7 @@ export function AgentChatRuntime({
clearChatList,
conversationId,
inputPlaceholder,
+ sendButtonLabel,
renderEmptyState,
onClearChatListChange,
onConversationIdChange,
@@ -462,6 +464,7 @@ export function AgentChatRuntime({
conversationId={conversationId}
initialChatTree={initialChatTree}
inputPlaceholder={inputPlaceholder}
+ sendButtonLabel={sendButtonLabel}
renderEmptyState={renderEmptyState}
onClearChatListChange={onClearChatListChange}
onConversationIdChange={onConversationIdChange}
@@ -481,6 +484,7 @@ function AgentPreviewChatSession({
conversationId,
initialChatTree,
inputPlaceholder,
+ sendButtonLabel,
renderEmptyState,
onClearChatListChange,
onConversationIdChange,
@@ -496,6 +500,7 @@ function AgentPreviewChatSession({
conversationId?: string | null
initialChatTree: ChatItemInTree[]
inputPlaceholder: string
+ sendButtonLabel?: string
renderEmptyState: (props: AgentChatRuntimeEmptyStateProps) => ReactNode
onClearChatListChange: (clearChatList: boolean) => void
onConversationIdChange?: (conversationId: string) => void
@@ -602,6 +607,7 @@ function AgentPreviewChatSession({
onSend={doSend}
inputs={inputs}
inputsForm={inputsForm}
+ sendButtonLabel={sendButtonLabel}
/>
)
@@ -627,6 +633,7 @@ function AgentPreviewChatSession({
isEmptyChat ? 'hidden' : 'px-3 pt-10',
)}
inputPlaceholder={inputPlaceholder}
+ sendButtonLabel={sendButtonLabel}
showFileUpload={false}
suggestedQuestions={suggestedQuestions}
onSend={doSend}
diff --git a/web/features/agent-v2/agent-detail/configure/components/preview/header.tsx b/web/features/agent-v2/agent-detail/configure/components/preview/header.tsx
index 925578833fb..21158c36b60 100644
--- a/web/features/agent-v2/agent-detail/configure/components/preview/header.tsx
+++ b/web/features/agent-v2/agent-detail/configure/components/preview/header.tsx
@@ -117,35 +117,30 @@ export function AgentPreviewHeader({
>
- {mode === 'build'
- ? (
-
- )
- : (
- <>
-
-
- >
- )}
+ {mode === 'build' && (
+
+ )}
+
+
)
diff --git a/web/i18n/ar-TN/agent-v-2.json b/web/i18n/ar-TN/agent-v-2.json
index a65fef487a9..4fe3137e2c3 100644
--- a/web/i18n/ar-TN/agent-v-2.json
+++ b/web/i18n/ar-TN/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "صِف ما تريده وسيتم ملء النموذج على اليسار أثناء المحادثة.",
"agentDetail.configure.build.empty.title": "ابنِ وكيلك عبر الدردشة",
"agentDetail.configure.build.inputPlaceholder": "صِف ما يجب أن يفعله وكيلك",
+ "agentDetail.configure.build.startBuild": "ابدأ البناء",
"agentDetail.configure.chatFeatures.description": "شكّل تجربة الدردشة للمستخدم النهائي على Web app وأسطح الدردشة.",
"agentDetail.configure.chatFeatures.title": "ميزات الدردشة",
"agentDetail.configure.files.add": "إضافة ملف",
diff --git a/web/i18n/de-DE/agent-v-2.json b/web/i18n/de-DE/agent-v-2.json
index 005af2f7c4f..94e2ead19ba 100644
--- a/web/i18n/de-DE/agent-v-2.json
+++ b/web/i18n/de-DE/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "Beschreiben Sie, was Sie möchten, und das Formular links wird während des Chats ausgefüllt.",
"agentDetail.configure.build.empty.title": "Agent per Chat erstellen",
"agentDetail.configure.build.inputPlaceholder": "Beschreiben Sie, was Ihr Agent tun soll",
+ "agentDetail.configure.build.startBuild": "Build starten",
"agentDetail.configure.chatFeatures.description": "Gestalten Sie das Chat-Erlebnis für Endnutzer in Ihrer Webapp und in Chat-Oberflächen.",
"agentDetail.configure.chatFeatures.title": "Chat-Funktionen",
"agentDetail.configure.files.add": "Datei hinzufügen",
diff --git a/web/i18n/en-US/agent-v-2.json b/web/i18n/en-US/agent-v-2.json
index 8c5c5e5e1d3..3d9324bab1b 100644
--- a/web/i18n/en-US/agent-v-2.json
+++ b/web/i18n/en-US/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "Describe what you want and it fills in the form on the left as you go.",
"agentDetail.configure.build.empty.title": "Build your agent by chatting",
"agentDetail.configure.build.inputPlaceholder": "Describe what your agent should do",
+ "agentDetail.configure.build.startBuild": "Start build",
"agentDetail.configure.chatFeatures.description": "Shape the end-user chat experience on your web app and chat surfaces.",
"agentDetail.configure.chatFeatures.title": "Chat Features",
"agentDetail.configure.files.add": "Add file",
diff --git a/web/i18n/es-ES/agent-v-2.json b/web/i18n/es-ES/agent-v-2.json
index 2ddf40b84fa..9b6a949b156 100644
--- a/web/i18n/es-ES/agent-v-2.json
+++ b/web/i18n/es-ES/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "Describe lo que quieres y se irá completando el formulario de la izquierda mientras avanzas.",
"agentDetail.configure.build.empty.title": "Crea tu agente chateando",
"agentDetail.configure.build.inputPlaceholder": "Describe qué debe hacer tu agente",
+ "agentDetail.configure.build.startBuild": "Iniciar compilación",
"agentDetail.configure.chatFeatures.description": "Da forma a la experiencia de chat del usuario final en tu webapp y superficies de chat.",
"agentDetail.configure.chatFeatures.title": "Funciones de chat",
"agentDetail.configure.files.add": "Agregar archivo",
diff --git a/web/i18n/fa-IR/agent-v-2.json b/web/i18n/fa-IR/agent-v-2.json
index c1964453c04..28351ea5f36 100644
--- a/web/i18n/fa-IR/agent-v-2.json
+++ b/web/i18n/fa-IR/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "آنچه میخواهید را توضیح دهید تا فرم سمت چپ در طول گفتگو تکمیل شود.",
"agentDetail.configure.build.empty.title": "عامل خود را با چت بسازید",
"agentDetail.configure.build.inputPlaceholder": "توضیح دهید عامل شما باید چه کاری انجام دهد",
+ "agentDetail.configure.build.startBuild": "شروع ساخت",
"agentDetail.configure.chatFeatures.description": "تجربه چت کاربر نهایی را در Web app و سطوح چت خود شکل دهید.",
"agentDetail.configure.chatFeatures.title": "ویژگیهای چت",
"agentDetail.configure.files.add": "افزودن فایل",
diff --git a/web/i18n/fr-FR/agent-v-2.json b/web/i18n/fr-FR/agent-v-2.json
index 9f7dd27f9aa..a199e39bda5 100644
--- a/web/i18n/fr-FR/agent-v-2.json
+++ b/web/i18n/fr-FR/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "Décrivez ce que vous voulez et le formulaire de gauche se remplit au fil de la conversation.",
"agentDetail.configure.build.empty.title": "Créez votre agent par chat",
"agentDetail.configure.build.inputPlaceholder": "Décrivez ce que votre agent doit faire",
+ "agentDetail.configure.build.startBuild": "Démarrer la création",
"agentDetail.configure.chatFeatures.description": "Façonnez l’expérience de chat de l’utilisateur final sur votre webapp et vos surfaces de chat.",
"agentDetail.configure.chatFeatures.title": "Fonctionnalités de chat",
"agentDetail.configure.files.add": "Ajouter un fichier",
diff --git a/web/i18n/hi-IN/agent-v-2.json b/web/i18n/hi-IN/agent-v-2.json
index bdfbb7b8f29..93705f255d9 100644
--- a/web/i18n/hi-IN/agent-v-2.json
+++ b/web/i18n/hi-IN/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "आप जो चाहते हैं उसका वर्णन करें और बाईं ओर का फ़ॉर्म बातचीत के साथ भरता जाएगा।",
"agentDetail.configure.build.empty.title": "चैट करके अपना एजेंट बनाएं",
"agentDetail.configure.build.inputPlaceholder": "बताएं कि आपका एजेंट क्या करे",
+ "agentDetail.configure.build.startBuild": "बिल्ड शुरू करें",
"agentDetail.configure.chatFeatures.description": "अपने Web app और चैट सतहों पर अंतिम-उपयोगकर्ता चैट अनुभव को आकार दें।",
"agentDetail.configure.chatFeatures.title": "चैट सुविधाएँ",
"agentDetail.configure.files.add": "फ़ाइल जोड़ें",
diff --git a/web/i18n/id-ID/agent-v-2.json b/web/i18n/id-ID/agent-v-2.json
index 7c7d1ef8d76..1b5c2c31d46 100644
--- a/web/i18n/id-ID/agent-v-2.json
+++ b/web/i18n/id-ID/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "Jelaskan yang Anda inginkan dan formulir di kiri akan terisi seiring percakapan.",
"agentDetail.configure.build.empty.title": "Bangun agen Anda lewat chat",
"agentDetail.configure.build.inputPlaceholder": "Jelaskan apa yang harus dilakukan agen Anda",
+ "agentDetail.configure.build.startBuild": "Mulai build",
"agentDetail.configure.chatFeatures.description": "Bentuk pengalaman chat pengguna akhir di Web app dan permukaan chat Anda.",
"agentDetail.configure.chatFeatures.title": "Fitur Chat",
"agentDetail.configure.files.add": "Tambahkan file",
diff --git a/web/i18n/it-IT/agent-v-2.json b/web/i18n/it-IT/agent-v-2.json
index 139991b5a7d..4ce5dac50aa 100644
--- a/web/i18n/it-IT/agent-v-2.json
+++ b/web/i18n/it-IT/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "Descrivi ciò che vuoi e il modulo a sinistra verrà compilato man mano.",
"agentDetail.configure.build.empty.title": "Crea il tuo agente con la chat",
"agentDetail.configure.build.inputPlaceholder": "Descrivi cosa dovrebbe fare il tuo agente",
+ "agentDetail.configure.build.startBuild": "Avvia build",
"agentDetail.configure.chatFeatures.description": "Definisci l’esperienza di chat per l’utente finale sulla tua webapp e sulle superfici di chat.",
"agentDetail.configure.chatFeatures.title": "Funzionalità chat",
"agentDetail.configure.files.add": "Aggiungi file",
diff --git a/web/i18n/ja-JP/agent-v-2.json b/web/i18n/ja-JP/agent-v-2.json
index c2bb4c34237..d5f4dc2c559 100644
--- a/web/i18n/ja-JP/agent-v-2.json
+++ b/web/i18n/ja-JP/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "やりたいことを説明すると、左側のフォームが会話に合わせて入力されます。",
"agentDetail.configure.build.empty.title": "チャットでエージェントを作成",
"agentDetail.configure.build.inputPlaceholder": "エージェントに実行させたいことを説明",
+ "agentDetail.configure.build.startBuild": "ビルドを開始",
"agentDetail.configure.chatFeatures.description": "Web app やチャット画面でのエンドユーザー向けチャット体験を設定します。",
"agentDetail.configure.chatFeatures.title": "チャット機能",
"agentDetail.configure.files.add": "ファイルを追加",
diff --git a/web/i18n/ko-KR/agent-v-2.json b/web/i18n/ko-KR/agent-v-2.json
index 696de07f585..41a62e22a63 100644
--- a/web/i18n/ko-KR/agent-v-2.json
+++ b/web/i18n/ko-KR/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "원하는 내용을 설명하면 대화에 맞춰 왼쪽 양식이 채워집니다.",
"agentDetail.configure.build.empty.title": "채팅으로 에이전트 만들기",
"agentDetail.configure.build.inputPlaceholder": "에이전트가 해야 할 일을 설명하세요",
+ "agentDetail.configure.build.startBuild": "빌드 시작",
"agentDetail.configure.chatFeatures.description": "Web app 및 채팅 화면에서의 최종 사용자 채팅 경험을 구성합니다.",
"agentDetail.configure.chatFeatures.title": "채팅 기능",
"agentDetail.configure.files.add": "파일 추가",
diff --git a/web/i18n/nl-NL/agent-v-2.json b/web/i18n/nl-NL/agent-v-2.json
index 0725e07fb0f..f21b24446d0 100644
--- a/web/i18n/nl-NL/agent-v-2.json
+++ b/web/i18n/nl-NL/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "Beschrijf wat je wilt en het formulier links wordt gaandeweg ingevuld.",
"agentDetail.configure.build.empty.title": "Bouw je agent via chat",
"agentDetail.configure.build.inputPlaceholder": "Beschrijf wat je agent moet doen",
+ "agentDetail.configure.build.startBuild": "Build starten",
"agentDetail.configure.chatFeatures.description": "Geef vorm aan de chatervaring voor eindgebruikers in je webapp en chatoppervlakken.",
"agentDetail.configure.chatFeatures.title": "Chatfuncties",
"agentDetail.configure.files.add": "Bestand toevoegen",
diff --git a/web/i18n/pl-PL/agent-v-2.json b/web/i18n/pl-PL/agent-v-2.json
index 935c0f3af0f..e8988c6131e 100644
--- a/web/i18n/pl-PL/agent-v-2.json
+++ b/web/i18n/pl-PL/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "Opisz, czego chcesz, a formularz po lewej będzie wypełniany w trakcie rozmowy.",
"agentDetail.configure.build.empty.title": "Buduj agenta przez czat",
"agentDetail.configure.build.inputPlaceholder": "Opisz, co agent ma robić",
+ "agentDetail.configure.build.startBuild": "Rozpocznij budowanie",
"agentDetail.configure.chatFeatures.description": "Ukształtuj doświadczenie czatu użytkownika końcowego w aplikacji webowej i powierzchniach czatu.",
"agentDetail.configure.chatFeatures.title": "Funkcje czatu",
"agentDetail.configure.files.add": "Dodaj plik",
diff --git a/web/i18n/pt-BR/agent-v-2.json b/web/i18n/pt-BR/agent-v-2.json
index da37d009825..c89f7b6b5da 100644
--- a/web/i18n/pt-BR/agent-v-2.json
+++ b/web/i18n/pt-BR/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "Descreva o que você quer e o formulário à esquerda será preenchido conforme a conversa avança.",
"agentDetail.configure.build.empty.title": "Crie seu agente conversando",
"agentDetail.configure.build.inputPlaceholder": "Descreva o que seu agente deve fazer",
+ "agentDetail.configure.build.startBuild": "Iniciar build",
"agentDetail.configure.chatFeatures.description": "Modele a experiência de chat do usuário final no seu webapp e superfícies de chat.",
"agentDetail.configure.chatFeatures.title": "Recursos de chat",
"agentDetail.configure.files.add": "Adicionar arquivo",
diff --git a/web/i18n/ro-RO/agent-v-2.json b/web/i18n/ro-RO/agent-v-2.json
index 421ff94ae6f..363f44fa70c 100644
--- a/web/i18n/ro-RO/agent-v-2.json
+++ b/web/i18n/ro-RO/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "Descrie ce dorești, iar formularul din stânga se completează pe măsură ce avansezi.",
"agentDetail.configure.build.empty.title": "Construiește agentul prin chat",
"agentDetail.configure.build.inputPlaceholder": "Descrie ce ar trebui să facă agentul tău",
+ "agentDetail.configure.build.startBuild": "Pornește build-ul",
"agentDetail.configure.chatFeatures.description": "Modelează experiența de chat a utilizatorului final pe webapp-ul tău și pe suprafețele de chat.",
"agentDetail.configure.chatFeatures.title": "Funcții de chat",
"agentDetail.configure.files.add": "Adaugă fișier",
diff --git a/web/i18n/ru-RU/agent-v-2.json b/web/i18n/ru-RU/agent-v-2.json
index dba02bffb47..044dce16a13 100644
--- a/web/i18n/ru-RU/agent-v-2.json
+++ b/web/i18n/ru-RU/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "Опишите, что вам нужно, и форма слева будет заполняться по ходу диалога.",
"agentDetail.configure.build.empty.title": "Создайте агента в чате",
"agentDetail.configure.build.inputPlaceholder": "Опишите, что должен делать агент",
+ "agentDetail.configure.build.startBuild": "Начать сборку",
"agentDetail.configure.chatFeatures.description": "Настройте чат-опыт конечного пользователя в вашем веб-приложении и чат-поверхностях.",
"agentDetail.configure.chatFeatures.title": "Функции чата",
"agentDetail.configure.files.add": "Добавить файл",
diff --git a/web/i18n/sl-SI/agent-v-2.json b/web/i18n/sl-SI/agent-v-2.json
index 018e001a789..915fc201304 100644
--- a/web/i18n/sl-SI/agent-v-2.json
+++ b/web/i18n/sl-SI/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "Opišite, kaj želite, in obrazec na levi se bo sproti izpolnjeval.",
"agentDetail.configure.build.empty.title": "Izdelajte agenta s klepetom",
"agentDetail.configure.build.inputPlaceholder": "Opišite, kaj naj vaš agent počne",
+ "agentDetail.configure.build.startBuild": "Začni gradnjo",
"agentDetail.configure.chatFeatures.description": "Oblikujte uporabniško izkušnjo klepeta v vaši spletni aplikaciji in klepetalnih površinah.",
"agentDetail.configure.chatFeatures.title": "Funkcije klepeta",
"agentDetail.configure.files.add": "Dodaj datoteko",
diff --git a/web/i18n/th-TH/agent-v-2.json b/web/i18n/th-TH/agent-v-2.json
index eb6127cc120..900a448908a 100644
--- a/web/i18n/th-TH/agent-v-2.json
+++ b/web/i18n/th-TH/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "อธิบายสิ่งที่คุณต้องการ แล้วแบบฟอร์มด้านซ้ายจะถูกกรอกไปพร้อมกับการสนทนา",
"agentDetail.configure.build.empty.title": "สร้างเอเจนต์ของคุณด้วยการแชท",
"agentDetail.configure.build.inputPlaceholder": "อธิบายว่าเอเจนต์ของคุณควรทำอะไร",
+ "agentDetail.configure.build.startBuild": "เริ่มสร้าง",
"agentDetail.configure.chatFeatures.description": "กำหนดประสบการณ์การแชทของผู้ใช้ปลายทางบน Web app และหน้าจอแชท",
"agentDetail.configure.chatFeatures.title": "ฟีเจอร์แชท",
"agentDetail.configure.files.add": "เพิ่มไฟล์",
diff --git a/web/i18n/tr-TR/agent-v-2.json b/web/i18n/tr-TR/agent-v-2.json
index 12d0958d002..a3c875364c7 100644
--- a/web/i18n/tr-TR/agent-v-2.json
+++ b/web/i18n/tr-TR/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "Ne istediğinizi açıklayın; soldaki form ilerledikçe doldurulur.",
"agentDetail.configure.build.empty.title": "Aracınızı sohbet ederek oluşturun",
"agentDetail.configure.build.inputPlaceholder": "Aracınızın ne yapması gerektiğini açıklayın",
+ "agentDetail.configure.build.startBuild": "Build’i başlat",
"agentDetail.configure.chatFeatures.description": "Web app ve sohbet yüzeylerinizde son kullanıcı sohbet deneyimini şekillendirin.",
"agentDetail.configure.chatFeatures.title": "Sohbet Özellikleri",
"agentDetail.configure.files.add": "Dosya ekle",
diff --git a/web/i18n/uk-UA/agent-v-2.json b/web/i18n/uk-UA/agent-v-2.json
index ef8086bab4c..b11e0678652 100644
--- a/web/i18n/uk-UA/agent-v-2.json
+++ b/web/i18n/uk-UA/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "Опишіть, що вам потрібно, і форма ліворуч заповнюватиметься під час розмови.",
"agentDetail.configure.build.empty.title": "Створіть агента через чат",
"agentDetail.configure.build.inputPlaceholder": "Опишіть, що має робити ваш агент",
+ "agentDetail.configure.build.startBuild": "Почати збірку",
"agentDetail.configure.chatFeatures.description": "Налаштуйте чат-досвід кінцевого користувача у вашому веб-застосунку та чат-поверхнях.",
"agentDetail.configure.chatFeatures.title": "Функції чату",
"agentDetail.configure.files.add": "Додати файл",
diff --git a/web/i18n/vi-VN/agent-v-2.json b/web/i18n/vi-VN/agent-v-2.json
index d25ceef841c..cc26737b237 100644
--- a/web/i18n/vi-VN/agent-v-2.json
+++ b/web/i18n/vi-VN/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "Mô tả điều bạn muốn và biểu mẫu bên trái sẽ được điền dần khi trò chuyện.",
"agentDetail.configure.build.empty.title": "Xây dựng tác nhân bằng trò chuyện",
"agentDetail.configure.build.inputPlaceholder": "Mô tả tác nhân của bạn nên làm gì",
+ "agentDetail.configure.build.startBuild": "Bắt đầu build",
"agentDetail.configure.chatFeatures.description": "Định hình trải nghiệm trò chuyện cho người dùng cuối trên Web app và các bề mặt trò chuyện.",
"agentDetail.configure.chatFeatures.title": "Tính năng trò chuyện",
"agentDetail.configure.files.add": "Thêm tệp",
diff --git a/web/i18n/zh-Hans/agent-v-2.json b/web/i18n/zh-Hans/agent-v-2.json
index a50cc344863..f07852f30ea 100644
--- a/web/i18n/zh-Hans/agent-v-2.json
+++ b/web/i18n/zh-Hans/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "描述你的需求,它会随着对话填写左侧表单。",
"agentDetail.configure.build.empty.title": "通过对话构建 Agent",
"agentDetail.configure.build.inputPlaceholder": "描述你的 Agent 应该做什么",
+ "agentDetail.configure.build.startBuild": "开始构建",
"agentDetail.configure.chatFeatures.description": "配置 Web app 和聊天界面的终端用户聊天体验。",
"agentDetail.configure.chatFeatures.title": "Chat 功能",
"agentDetail.configure.files.add": "添加文件",
diff --git a/web/i18n/zh-Hant/agent-v-2.json b/web/i18n/zh-Hant/agent-v-2.json
index 23afa93c2cd..a662e1ab2f1 100644
--- a/web/i18n/zh-Hant/agent-v-2.json
+++ b/web/i18n/zh-Hant/agent-v-2.json
@@ -63,6 +63,7 @@
"agentDetail.configure.build.empty.description": "描述你的需求,它會隨著對話填寫左側表單。",
"agentDetail.configure.build.empty.title": "透過對話建置 Agent",
"agentDetail.configure.build.inputPlaceholder": "描述你的 Agent 應該做什麼",
+ "agentDetail.configure.build.startBuild": "開始構建",
"agentDetail.configure.chatFeatures.description": "配置 Web app 和聊天介面的終端使用者聊天體驗。",
"agentDetail.configure.chatFeatures.title": "Chat 功能",
"agentDetail.configure.files.add": "新增檔案",