@frontera-sdk/chat-ui 1.50.78 → 1.50.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-picker.js +6 -6
- package/dist/{capture-NO5ZIGP6.js → capture-G4CDPSBH.js} +1 -1
- package/dist/chat.d.ts +1 -1
- package/dist/chat.js +4594 -941
- package/dist/{chunk-V44YVBRX.js → chunk-2P4IEVOQ.js} +29 -12
- package/dist/{chunk-WMN6BPPS.js → chunk-4FRTPVJT.js} +2 -2
- package/dist/{chunk-UTKQ6G2A.js → chunk-5B25DNOG.js} +7 -7
- package/dist/{chunk-FTLVGUG5.js → chunk-7AT2LRVW.js} +2640 -153
- package/dist/{chunk-FNIHHKOZ.js → chunk-C2TZSGKK.js} +1374 -186
- package/dist/{chunk-BDJFVRYR.js → chunk-C3HW5S2Z.js} +57 -18
- package/dist/chunk-CWAOLMFS.js +32 -0
- package/dist/{chunk-26L3ST3H.js → chunk-EFFOOCIK.js} +5975 -639
- package/dist/{chunk-J7EWRXEC.js → chunk-EXPHCRFP.js} +3 -3
- package/dist/{chunk-PH7AYVSS.js → chunk-FLOAEPRU.js} +4 -4
- package/dist/chunk-LGVMMBL3.js +33 -0
- package/dist/{chunk-IQXJEZM7.js → chunk-LOBDKA2D.js} +328 -32
- package/dist/{chunk-FDGBZFGN.js → chunk-PKNEC4LJ.js} +528 -12
- package/dist/{chunk-TSKFBMGC.js → chunk-PUMRNN3R.js} +117 -66
- package/dist/{chunk-S3ECTKA3.js → chunk-QBV7MAFV.js} +30 -4
- package/dist/{chunk-F6PEZE7A.js → chunk-T5SANYSX.js} +3 -10
- package/dist/{chunk-AFVU5VT6.js → chunk-TUDJ35AB.js} +1071 -87
- package/dist/{chunk-ROJM44GB.js → chunk-UWKO24VT.js} +28 -2
- package/dist/{chunk-KHF7OM3F.js → chunk-UZ6RDWCT.js} +4 -4
- package/dist/chunk-X3QVICX7.js +32 -0
- package/dist/client.d.ts +3 -3
- package/dist/client.js +1 -1
- package/dist/header.d.ts +1 -1
- package/dist/header.js +15 -15
- package/dist/message.js +14 -15
- package/dist/new-session.d.ts +1 -1
- package/dist/new-session.js +7 -8
- package/dist/parts.js +6 -6
- package/dist/{pdf-deck-view-inner-AY4FYDAJ.js → pdf-deck-view-inner-KW6RIALH.js} +7 -8
- package/dist/{pdf-document-view-inner-NC5MBN7X.js → pdf-document-view-inner-AJEP5IJC.js} +6 -7
- package/dist/{pdf-viewer-inner-GPES3KG2.js → pdf-viewer-inner-CXWPRACH.js} +2 -2
- package/dist/pending-cards.js +7 -7
- package/dist/platform.css +1 -1
- package/package.json +7 -4
- package/dist/chunk-6BPHEBCF.js +0 -639
- package/dist/chunk-IXDM5R55.js +0 -23
- package/dist/chunk-XLX3L3P4.js +0 -43
- package/dist/vega-chart-block-NQADYNWQ.js +0 -2857
- package/dist/{chunk-7ADM3CKD.js → chunk-6JLWE7M3.js} +0 -0
- package/dist/{pdf-cover-thumbnail-inner-4N2Q5AAG.js → pdf-cover-thumbnail-inner-B2P6S25B.js} +0 -0
- package/dist/{types-BDqLaBfH.d.ts → types-BZhoOcz2.d.ts} +3 -3
- /package/dist/{univer-workbook-LSBVETAQ.js → univer-workbook-PENO65OQ.js} +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { createContext, useState, useEffect, useCallback, useMemo, useContext } from 'react';
|
|
2
|
+
import { createContext, useState, useEffect, useCallback, useMemo, useContext, useSyncExternalStore } from 'react';
|
|
3
3
|
import { jsx } from 'react/jsx-runtime';
|
|
4
4
|
|
|
5
|
-
// src/
|
|
5
|
+
// ../platform-kit/src/ui/i18n/context.tsx
|
|
6
6
|
|
|
7
|
-
// src/
|
|
7
|
+
// ../platform-kit/src/ui/i18n/locales/en.json
|
|
8
8
|
var en_default = {
|
|
9
9
|
"console.agents.title": "Agents",
|
|
10
10
|
"console.agents.subtitle": "Build and manage the agents that power work in this workspace.",
|
|
@@ -41,6 +41,10 @@ var en_default = {
|
|
|
41
41
|
"console.agents.counts.plugins.many": "{count} plugins",
|
|
42
42
|
"console.agents.counts.knowledge.one": "1 knowledge base",
|
|
43
43
|
"console.agents.counts.knowledge.many": "{count} knowledge bases",
|
|
44
|
+
"agents.detail.navigation.capabilities": "Identity & Capabilities",
|
|
45
|
+
"agents.detail.navigation.settings": "Settings",
|
|
46
|
+
"agents.detail.navigation.test": "Test chat",
|
|
47
|
+
"agents.detail.sidebar.back": "Back to all Agents",
|
|
44
48
|
"console.agents.installedFromPacks.title": "Installed {noun}",
|
|
45
49
|
"console.agents.installedFromPacks.fromPacks": "from Packs",
|
|
46
50
|
"chat.input.warning": "AI agents can make mistakes. Please double-check before use.",
|
|
@@ -89,10 +93,16 @@ var en_default = {
|
|
|
89
93
|
"common.older": "Older",
|
|
90
94
|
"console.sidebar.inbox": "Inbox",
|
|
91
95
|
"console.sidebar.workflows": "Workflows",
|
|
92
|
-
"console.sidebar.library": "
|
|
96
|
+
"console.sidebar.library": "Library",
|
|
93
97
|
"console.library.noMatches.title": "No matching entries",
|
|
98
|
+
"console.library.loadError": "Could not load the Agent Library.",
|
|
94
99
|
"console.library.detail.install": "Start from this agent",
|
|
95
100
|
"console.library.detail.installing": "Creating your draft...",
|
|
101
|
+
"console.library.detail.confirm.title": "Start from {name}?",
|
|
102
|
+
"console.library.detail.confirm.body": "This creates a draft agent in this workspace and installs {count} skills it needs.",
|
|
103
|
+
"console.library.detail.confirm.bodyNoSkills": "This creates a draft agent in this workspace.",
|
|
104
|
+
"console.library.detail.confirm.setup": "{count} required setup steps are still outstanding.",
|
|
105
|
+
"console.library.detail.confirm.cta": "Create draft",
|
|
96
106
|
"console.library.detail.openAgent": "Open agent",
|
|
97
107
|
"console.library.detail.addAnother": "Start another",
|
|
98
108
|
"console.library.detail.includedSkills": "Included skills",
|
|
@@ -171,6 +181,7 @@ var en_default = {
|
|
|
171
181
|
"console.sidebar.datasets": "Datasets",
|
|
172
182
|
"appSwitcher.openMenu": "Switch app",
|
|
173
183
|
"appSwitcher.home": "Home",
|
|
184
|
+
"appSwitcher.organization": "Organization Home",
|
|
174
185
|
"appSwitcher.homeSubtitle": "Your workspace at a glance",
|
|
175
186
|
"appSwitcher.chat": "Chat",
|
|
176
187
|
"appSwitcher.chatSubtitle": "Chat with agents",
|
|
@@ -178,12 +189,17 @@ var en_default = {
|
|
|
178
189
|
"appSwitcher.appsSubtitle": "Operational apps for your use cases",
|
|
179
190
|
"appSwitcher.console": "Console",
|
|
180
191
|
"appSwitcher.consoleSubtitle": "Deploy and monitor agents",
|
|
181
|
-
"appSwitcher.admin": "
|
|
182
|
-
"appSwitcher.adminSubtitle": "Members, roles,
|
|
192
|
+
"appSwitcher.admin": "Organization settings",
|
|
193
|
+
"appSwitcher.adminSubtitle": "Members, roles, access and shared administration",
|
|
183
194
|
"appSwitcher.blueprint": "Blueprint",
|
|
184
195
|
"appSwitcher.blueprintSubtitle": "Model and explore your data",
|
|
185
196
|
"appSwitcher.forge": "Forge",
|
|
186
197
|
"appSwitcher.forgeSubtitle": "Build with the agent on your machine",
|
|
198
|
+
"home.startDescription": "Your workspace, ready for work.",
|
|
199
|
+
"home.noDeployedApps": "Deployed applications will appear here.",
|
|
200
|
+
"home.appsEmpty.title": "No deployed apps yet",
|
|
201
|
+
"home.appsEmpty.description": "Apps appear here once they\u2019re deployed.",
|
|
202
|
+
"home.appsEmpty.cta": "Open Apps",
|
|
187
203
|
"home.subtitle": "Everything in this workspace, one click away",
|
|
188
204
|
"home.searchPlaceholder": "Search agents, apps, cases\u2026",
|
|
189
205
|
"home.searchEmpty": "No results found.",
|
|
@@ -192,6 +208,10 @@ var en_default = {
|
|
|
192
208
|
"home.sections.cases": "Cases",
|
|
193
209
|
"home.sections.apps": "Apps",
|
|
194
210
|
"home.sections.blueprint": "Blueprint",
|
|
211
|
+
"home.noAvailableAgents": "No agents are available to chat with in this workspace yet.",
|
|
212
|
+
"home.agentsEmpty.title": "No agents available yet",
|
|
213
|
+
"home.agentsEmpty.create": "Create agent",
|
|
214
|
+
"home.agentsEmpty.description": "Once your team makes agents available in this workspace, you can start a conversation here.",
|
|
195
215
|
"home.viewAll": "View all",
|
|
196
216
|
"home.emptyAgents": "No agents yet. Hire your first agent in the Console.",
|
|
197
217
|
"home.emptyAgentsCta": "Create an agent",
|
|
@@ -199,16 +219,69 @@ var en_default = {
|
|
|
199
219
|
"home.emptyCasesCta": "Create a case",
|
|
200
220
|
"home.emptyApps": "No apps yet. Compose one from your agents, cases, and Blueprint.",
|
|
201
221
|
"home.emptyAppsCta": "Open Apps",
|
|
222
|
+
"home.welcome": "Welcome to Frontera",
|
|
223
|
+
"home.attention.title": "Needs attention",
|
|
224
|
+
"home.attention.approvals.one": "1 approval is waiting for your review",
|
|
225
|
+
"home.attention.approvals.many": "{count} approvals are waiting for your review",
|
|
226
|
+
"home.attention.review": "Review",
|
|
227
|
+
"home.banner.title": "Put agents to work",
|
|
228
|
+
"home.banner.description": "Start from a reviewed agent in the library, give it the tools and knowledge it needs, and keep a person in the loop wherever a decision matters.",
|
|
229
|
+
"home.banner.cta": "Explore agents",
|
|
230
|
+
"home.banner.agentName": "Operations agent",
|
|
231
|
+
"home.banner.task": "Reconcile yesterday's payouts",
|
|
232
|
+
"home.banner.stepRecords": "Read Records",
|
|
233
|
+
"home.banner.stepExceptions": "Flagged 3 exceptions",
|
|
234
|
+
"home.banner.stepApproval": "Waiting for approval",
|
|
235
|
+
"home.banner.approve": "Approve",
|
|
236
|
+
"home.banner.chatQuestion": "Which invoices are still unmatched?",
|
|
237
|
+
"home.banner.chatAnswer": "Three from last week. I drafted follow-ups for you to review.",
|
|
238
|
+
"home.banner.chatPlaceholder": "Ask anything\u2026",
|
|
239
|
+
"home.banner.roles.accountsPayable.name": "Accounts Payable Specialist",
|
|
240
|
+
"home.banner.roles.accountsPayable.summary": "Match invoices to purchase orders",
|
|
241
|
+
"home.banner.roles.loanProcessor.name": "Loan Processor",
|
|
242
|
+
"home.banner.roles.loanProcessor.summary": "Check applications against policy",
|
|
243
|
+
"home.banner.roles.customerService.name": "Customer Service Representative",
|
|
244
|
+
"home.banner.roles.customerService.summary": "Resolve routine inquiries",
|
|
245
|
+
"home.banner.roles.dataQuality.name": "Data Quality Analyst",
|
|
246
|
+
"home.banner.roles.dataQuality.summary": "Profile datasets against agreed rules",
|
|
247
|
+
"home.banner.trigger": "New payout file arrives",
|
|
248
|
+
"home.banner.agentStep": "Match against Records",
|
|
249
|
+
"home.banner.approvalStep": "Finance approval",
|
|
250
|
+
"home.banner.documentation.title": "Learn Frontera",
|
|
251
|
+
"home.banner.documentation.description": "Discover what Frontera can do. Get to know the platform, its Agents and the information that connects them.",
|
|
252
|
+
"home.banner.documentation.cta": "Start learning",
|
|
253
|
+
"home.banner.documentation.previewTitle": "Your starting point",
|
|
254
|
+
"home.banner.documentation.topic.platform": "Explore the platform",
|
|
255
|
+
"home.banner.documentation.topic.agents": "Meet your Agents",
|
|
256
|
+
"home.banner.documentation.topic.workflows": "Build your first workflow",
|
|
257
|
+
"home.banner.chat.title": "Work with agents in Chat",
|
|
258
|
+
"home.banner.chat.description": "Ask questions, hand off tasks and review what agents did, all in one conversation.",
|
|
259
|
+
"home.banner.chat.cta": "Open Chat",
|
|
260
|
+
"home.banner.workflows.title": "Automate a workflow",
|
|
261
|
+
"home.banner.workflows.description": "Turn a repeatable process into a workflow, with agents doing the steps and people approving the ones that matter.",
|
|
262
|
+
"home.banner.workflows.cta": "Open Workflows",
|
|
202
263
|
"home.statusLive": "Live",
|
|
203
264
|
"home.statusDraft": "Draft",
|
|
204
265
|
"home.composer.work": "Work",
|
|
205
266
|
"home.composer.build": "Build",
|
|
267
|
+
"blueprint.sidebar.saved": "Saved views",
|
|
268
|
+
"blueprint.sidebar.home": "Home",
|
|
269
|
+
"blueprint.sidebar.exploreSection": "Explore",
|
|
270
|
+
"blueprint.sidebar.manage": "Manage",
|
|
271
|
+
"blueprint.sidebar.accessControl": "Access control",
|
|
272
|
+
"blueprint.sidebar.releasesSection": "Releases",
|
|
273
|
+
"blueprint.sidebar.addToBlueprint": "New object",
|
|
274
|
+
"blueprint.sidebar.draft": "Draft",
|
|
206
275
|
"blueprint.sidebar.explore": "Explore",
|
|
276
|
+
"blueprint.scope.openOrganization": "Organization Blueprint",
|
|
277
|
+
"blueprint.scope.organizationTitle": "Manage this in organization Blueprint",
|
|
278
|
+
"blueprint.scope.organizationHint": "Data configuration, access and releases belong to the organization Blueprint.",
|
|
279
|
+
"blueprint.scope.backToWorkspace": "Back to workspace Blueprint",
|
|
280
|
+
"blueprint.sidebar.sharedScope": "Shared across {name}",
|
|
281
|
+
"blueprint.sidebar.governance": "Governance",
|
|
207
282
|
"blueprint.sidebar.model": "Model",
|
|
208
|
-
"blueprint.sidebar.resources": "Resources",
|
|
209
|
-
"blueprint.sidebar.overview": "Overview",
|
|
210
283
|
"blueprint.sidebar.objectSets": "Object sets",
|
|
211
|
-
"blueprint.sidebar.objects": "
|
|
284
|
+
"blueprint.sidebar.objects": "Objects",
|
|
212
285
|
"blueprint.sidebar.fields": "Fields",
|
|
213
286
|
"blueprint.fieldsTabs.label": "Field surfaces",
|
|
214
287
|
"blueprint.fieldsTabs.registry": "Fields registry",
|
|
@@ -279,6 +352,13 @@ var en_default = {
|
|
|
279
352
|
"console.home.noAgents.title": "No agents in this workspace",
|
|
280
353
|
"console.home.noAgents.description": "Create an agent to get started with functions, knowledge, and more.",
|
|
281
354
|
"console.home.noAgents.cta": "Create an agent",
|
|
355
|
+
"workspaceSettings.nav.general": "General",
|
|
356
|
+
"workspaceSettings.nav.members": "Members",
|
|
357
|
+
"workspaceSettings.nav.groups": "Groups",
|
|
358
|
+
"workspaceSettings.nav.applications": "Applications",
|
|
359
|
+
"workspaceSettings.nav.secrets": "Secrets",
|
|
360
|
+
"workspaceSettings.nav.oauth": "OAuth Clients",
|
|
361
|
+
"workspaceSettings.nav.apikeys": "API Keys",
|
|
282
362
|
"workspaceSettings.agents.installFromCatalog": "Install from catalog",
|
|
283
363
|
"workspaceSettings.agents.selectPlaceholder": "Select an agent\u2026",
|
|
284
364
|
"workspaceSettings.agents.install": "Install",
|
|
@@ -392,7 +472,6 @@ var en_default = {
|
|
|
392
472
|
"console.skillTest.showAnswers": "Show answers",
|
|
393
473
|
"console.skillTest.hideAnswers": "Hide answers",
|
|
394
474
|
"console.skillTest.viewFullComparison": "View full comparison",
|
|
395
|
-
"console.skillTest.abandoned": "Nothing came back within three minutes, so this panel stopped waiting. Open the full comparison to see whether the run is still going, or run the test again.",
|
|
396
475
|
"console.skillTest.orphanRun": "The first side started before this failed, and is still running as {run}.",
|
|
397
476
|
"console.skillTest.orphanRunLink": "Open that run",
|
|
398
477
|
"console.skillTest.testChanges": "Test changes",
|
|
@@ -420,11 +499,10 @@ var en_default = {
|
|
|
420
499
|
"sidebar.openSessions": "Open chats",
|
|
421
500
|
"sidebar.settings": "Settings",
|
|
422
501
|
"sidebar.search": "Search",
|
|
423
|
-
"breadcrumb.applications": "Applications",
|
|
424
502
|
"breadcrumb.switchWorkspace": "Switch workspace",
|
|
425
|
-
"breadcrumb.switchSurface": "Switch app",
|
|
426
503
|
"breadcrumb.switchSection": "Switch section",
|
|
427
504
|
"sidebar.pinned": "Pinned",
|
|
505
|
+
"sidebar.recents": "Recents",
|
|
428
506
|
"sidebar.agents": "Agents",
|
|
429
507
|
"sidebar.agents.working": "Working",
|
|
430
508
|
"sidebar.agents.queued": "Queued",
|
|
@@ -689,6 +767,7 @@ var en_default = {
|
|
|
689
767
|
"sidebar.scheduled": "Scheduled",
|
|
690
768
|
"userMenu.openMenu": "Open account menu",
|
|
691
769
|
"userMenu.signOut": "Sign out",
|
|
770
|
+
"userMenu.organizationSettings": "Organization settings",
|
|
692
771
|
"userMenu.theme": "Theme",
|
|
693
772
|
"userMenu.themeSystem": "System",
|
|
694
773
|
"userMenu.themeLight": "Light",
|
|
@@ -876,6 +955,8 @@ var en_default = {
|
|
|
876
955
|
"chat.desktop.skipThisStep": "Skip this step",
|
|
877
956
|
"chat.desktop.imDoneContinue": "I'm done, continue",
|
|
878
957
|
"chat.sidePanel.toggle": "Toggle side panel",
|
|
958
|
+
"chat.sidePanel.openWindow": "Open side view",
|
|
959
|
+
"chat.sidePanel.closeWindow": "Close side view",
|
|
879
960
|
"chat.builderSidebar.expand": "Show builder panel",
|
|
880
961
|
"chat.builderSidebar.collapse": "Hide builder panel",
|
|
881
962
|
"chat.minimap.ariaLabel": "Conversation outline",
|
|
@@ -1033,6 +1114,8 @@ var en_default = {
|
|
|
1033
1114
|
"shell.empty.noAgentsAsk": "This workspace doesn't have any agents yet. Ask a workspace admin to add one to get started.",
|
|
1034
1115
|
"shell.empty.createAgent": "Create an agent",
|
|
1035
1116
|
"shell.empty.contactAdmin": "Contact your workspace admin",
|
|
1117
|
+
"shell.empty.noAssignedAgentsTitle": "No Agents are assigned to you in Chat.",
|
|
1118
|
+
"shell.empty.noAssignedAgentsAsk": "Ask your administrator.",
|
|
1036
1119
|
"shell.modePlaceholder": "Add details and send\u2026",
|
|
1037
1120
|
"shell.shortcutDesc.spreadsheet": "Organize data in tables",
|
|
1038
1121
|
"shell.shortcutDesc.document": "Turn rough ideas into a polished document",
|
|
@@ -1137,15 +1220,17 @@ var en_default = {
|
|
|
1137
1220
|
"admin.nav.overview": "Overview",
|
|
1138
1221
|
"admin.nav.members": "Members",
|
|
1139
1222
|
"admin.nav.roles": "Roles & Permissions",
|
|
1140
|
-
"admin.nav.
|
|
1223
|
+
"admin.nav.activityLog": "Activity log",
|
|
1224
|
+
"admin.nav.auditLog": "Audit log",
|
|
1141
1225
|
"admin.nav.workspaces": "Workspaces",
|
|
1142
1226
|
"admin.nav.models": "AI",
|
|
1143
1227
|
"admin.nav.data": "Data Source",
|
|
1144
1228
|
"admin.nav.datasets": "Datasets",
|
|
1145
1229
|
"admin.nav.usage": "Usage",
|
|
1146
|
-
"admin.nav.settings": "
|
|
1230
|
+
"admin.nav.settings": "General",
|
|
1147
1231
|
"admin.navGroup.people": "People",
|
|
1148
|
-
"admin.navGroup.
|
|
1232
|
+
"admin.navGroup.audit": "Audit",
|
|
1233
|
+
"admin.navGroup.access": "Access",
|
|
1149
1234
|
"admin.navGroup.platform": "Platform",
|
|
1150
1235
|
"admin.navGroup.org": "Organization",
|
|
1151
1236
|
"admin.common.search": "Search",
|
|
@@ -1376,6 +1461,7 @@ var en_default = {
|
|
|
1376
1461
|
"admin.overview.kpi.acrossWorkspaces": "across {n} workspaces",
|
|
1377
1462
|
"admin.overview.kpi.pending": "{n} pending",
|
|
1378
1463
|
"admin.overview.kpi.allActive": "All active",
|
|
1464
|
+
"admin.overview.kpi.unavailable": "Unavailable",
|
|
1379
1465
|
"admin.overview.kpi.idle": "{n} idle 30d",
|
|
1380
1466
|
"admin.overview.spendByWorkspace.title": "Spend by workspace",
|
|
1381
1467
|
"admin.overview.spendByWorkspace.empty": "No spend recorded for this period.",
|
|
@@ -1402,6 +1488,7 @@ var en_default = {
|
|
|
1402
1488
|
"admin.members.pageTitle": "Members",
|
|
1403
1489
|
"admin.members.pageDescription": "View and manage members and roles for this workspace.",
|
|
1404
1490
|
"admin.members.addMember": "Add Member",
|
|
1491
|
+
"admin.members.blueprintStewards": "Blueprint Stewards",
|
|
1405
1492
|
"admin.members.addMenuHeader": "Add Member",
|
|
1406
1493
|
"admin.members.createUser": "Create User",
|
|
1407
1494
|
"admin.members.createUserDescription": "Create an account directly",
|
|
@@ -1424,6 +1511,10 @@ var en_default = {
|
|
|
1424
1511
|
"admin.members.addDialog.workspace": "Workspace",
|
|
1425
1512
|
"admin.members.addDialog.workspacePlaceholder": "Select workspace",
|
|
1426
1513
|
"admin.members.addDialog.workspaceHint": "User will be added to the organization but no workspaces. You can add them later.",
|
|
1514
|
+
"admin.members.addDialog.workspacesUnavailable": "Workspaces could not be loaded. Ask an administrator of the organization for access, then reopen this dialog.",
|
|
1515
|
+
"admin.members.addDialog.workspacesLoading": "Loading workspaces\u2026",
|
|
1516
|
+
"admin.apiKeys.mint.workspacesUnavailable": "Workspaces could not be loaded. Ask an administrator of the organization for access, then reload.",
|
|
1517
|
+
"admin.apiKeys.mint.workspacesLoading": "Loading workspaces\u2026",
|
|
1427
1518
|
"admin.members.addDialog.submitting": "Adding\u2026",
|
|
1428
1519
|
"admin.members.addDialog.createSuccess": "{name} added.",
|
|
1429
1520
|
"admin.members.addDialog.createError": "Failed to add member.",
|
|
@@ -1538,6 +1629,9 @@ var en_default = {
|
|
|
1538
1629
|
"admin.imageModel.label": "Image model",
|
|
1539
1630
|
"admin.imageModel.select": "Select a model",
|
|
1540
1631
|
"admin.imageModel.usingDefault": "Using the platform default",
|
|
1632
|
+
"admin.imageModel.providerMissing": "This model needs an API key for {provider}. Add the provider or choose another model.",
|
|
1633
|
+
"admin.imageModel.addProvider": "Add {provider}",
|
|
1634
|
+
"admin.imageModel.noProvider": "None of your providers offers image models. Add OpenRouter, OpenAI, Google (Gemini) or Google Vertex under Providers to choose one.",
|
|
1541
1635
|
"admin.models.copilot.label": "Copilot",
|
|
1542
1636
|
"admin.models.copilot.tooltip": "Show this model in the copilot's model switcher. The default model is picked in Settings \u2192 Copilot.",
|
|
1543
1637
|
"admin.models.search": "Search by name, provider, model ID, or slug\u2026",
|
|
@@ -1547,8 +1641,8 @@ var en_default = {
|
|
|
1547
1641
|
"admin.models.col.provider": "Provider",
|
|
1548
1642
|
"admin.models.col.modelId": "Model ID",
|
|
1549
1643
|
"admin.models.col.slug": "Slug",
|
|
1550
|
-
"admin.models.form.title.add": "Add
|
|
1551
|
-
"admin.models.form.title.edit": "Edit model
|
|
1644
|
+
"admin.models.form.title.add": "Add model",
|
|
1645
|
+
"admin.models.form.title.edit": "Edit model",
|
|
1552
1646
|
"admin.models.form.slug": "Slug",
|
|
1553
1647
|
"admin.models.form.slugPlaceholder": "e.g. claude-sonnet",
|
|
1554
1648
|
"admin.models.form.name": "Name",
|
|
@@ -1571,6 +1665,8 @@ var en_default = {
|
|
|
1571
1665
|
"admin.models.form.reasoning.budget": "Thinking Budget",
|
|
1572
1666
|
"admin.models.form.modelIdManualPlaceholder": "e.g. claude-sonnet-4-6",
|
|
1573
1667
|
"admin.models.form.reasoning.mandatory": "Reasoning is mandatory (cannot be disabled)",
|
|
1668
|
+
"admin.models.form.supportsImageInput": "Accepts images",
|
|
1669
|
+
"admin.models.form.supportsImageInputHint": "Turn off for a text-only model. Agents on it won't be given images or the image viewing tool.",
|
|
1574
1670
|
"admin.models.form.reasoning.supportedEfforts": "Supported efforts",
|
|
1575
1671
|
"admin.models.form.reasoning.defaultEffort": "Default effort",
|
|
1576
1672
|
"admin.models.form.reasoning.defaultBudget": "Default budget (tokens)",
|
|
@@ -1598,12 +1694,29 @@ var en_default = {
|
|
|
1598
1694
|
"admin.ai.providers.heading": "Providers",
|
|
1599
1695
|
"admin.ai.providers.caption": "Credentials are configured via environment variables.",
|
|
1600
1696
|
"admin.ai.providers.subheading": "API keys set here are encrypted at rest and take effect within a minute.",
|
|
1601
|
-
"admin.ai.providers.status.dashboard": "Managed here",
|
|
1602
1697
|
"admin.ai.providers.manage.button": "Manage key",
|
|
1603
|
-
"admin.ai.providers.manage.title": "
|
|
1698
|
+
"admin.ai.providers.manage.title": "{name} credentials",
|
|
1604
1699
|
"admin.ai.providers.manage.description": "The key is encrypted on save and can never be viewed again \u2014 only replaced or cleared.",
|
|
1605
1700
|
"admin.ai.providers.manage.apiKey": "API key",
|
|
1606
1701
|
"admin.ai.providers.manage.baseUrl": "Base URL (optional)",
|
|
1702
|
+
"admin.ai.providers.addMenu.azure": "Azure resource",
|
|
1703
|
+
"admin.ai.providers.addMenu.azureHint": "An endpoint and key from Azure AI Foundry \u2014 one per resource or region",
|
|
1704
|
+
"admin.ai.providers.addMenu.custom": "OpenAI-compatible endpoint",
|
|
1705
|
+
"admin.ai.providers.addMenu.customHint": "A gateway or self-hosted model that speaks the OpenAI API",
|
|
1706
|
+
"admin.ai.providers.azure.addTitle": "Add Azure resource",
|
|
1707
|
+
"admin.ai.providers.azure.description": "Each Azure resource has its own endpoint and key. After adding it, add its models with their deployment names.",
|
|
1708
|
+
"admin.ai.providers.azure.name": "Name",
|
|
1709
|
+
"admin.ai.providers.azure.namePlaceholder": "e.g. eastus2-foundry",
|
|
1710
|
+
"admin.ai.providers.azure.nameHint": `Shown as "Azure (name)" in model lists. Lowercase letters, numbers and dashes; it can't be renamed later.`,
|
|
1711
|
+
"admin.ai.providers.azure.nameTaken": "An Azure resource with this name already exists.",
|
|
1712
|
+
"admin.ai.providers.azure.endpointInvalid": "Paste the full URL, starting with https://",
|
|
1713
|
+
"admin.ai.providers.azure.add": "Add resource",
|
|
1714
|
+
"admin.ai.providers.custom.azureDetected": "This is an Azure endpoint. Azure authenticates and routes requests differently from OpenAI-compatible endpoints, so it needs its own connection.",
|
|
1715
|
+
"admin.ai.providers.custom.useAzure": "Add as Azure resource",
|
|
1716
|
+
"admin.ai.providers.manage.azureEndpoint": "Endpoint",
|
|
1717
|
+
"admin.ai.providers.manage.azureEndpointPlaceholder": "Paste the URL from an Azure API call, e.g. https://my-resource.openai.azure.com/openai/v1",
|
|
1718
|
+
"admin.ai.providers.manage.azureApiVersion": "API version (optional)",
|
|
1719
|
+
"admin.ai.providers.manage.azureApiVersionPlaceholder": "2024-10-21",
|
|
1607
1720
|
"admin.ai.providers.manage.projectId": "GCP project ID",
|
|
1608
1721
|
"admin.ai.providers.manage.location": "Location (e.g. global, asia-southeast2)",
|
|
1609
1722
|
"admin.ai.providers.manage.credentialsJson": "Service-account JSON",
|
|
@@ -1631,8 +1744,8 @@ var en_default = {
|
|
|
1631
1744
|
"admin.ai.providers.custom.remove": "Remove provider",
|
|
1632
1745
|
"admin.ai.models.heading": "Models",
|
|
1633
1746
|
"admin.ai.models.caption": "Models available to agents in this workspace, grouped by provider.",
|
|
1634
|
-
"admin.audit.pageTitle": "
|
|
1635
|
-
"admin.audit.pageDescription": "Showing the latest
|
|
1747
|
+
"admin.audit.pageTitle": "Activity log",
|
|
1748
|
+
"admin.audit.pageDescription": "Showing the latest agent and access activity",
|
|
1636
1749
|
"admin.audit.refresh": "Refresh",
|
|
1637
1750
|
"admin.audit.tab.activity": "Agent activity",
|
|
1638
1751
|
"admin.audit.tab.access": "Access changes",
|
|
@@ -1669,11 +1782,104 @@ var en_default = {
|
|
|
1669
1782
|
"admin.audit.drawer.meta": "Meta",
|
|
1670
1783
|
"admin.audit.drawer.ip": "IP address",
|
|
1671
1784
|
"admin.audit.drawer.userAgent": "User agent",
|
|
1785
|
+
"admin.auditLog.pageTitle": "Audit log",
|
|
1786
|
+
"admin.auditLog.pageDescription": "An immutable record of administrative, access and credential changes in this organization. Newest first.",
|
|
1787
|
+
"admin.auditLog.refresh": "Refresh",
|
|
1788
|
+
"admin.auditLog.export": "Export CSV",
|
|
1789
|
+
"admin.auditLog.exporting": "Preparing export\u2026",
|
|
1790
|
+
"admin.auditLog.exportFailed": "Export failed. Try again.",
|
|
1791
|
+
"admin.auditLog.filter.toolbar": "Filter audit events",
|
|
1792
|
+
"admin.auditLog.filter.allResourceTypes": "All resource types",
|
|
1793
|
+
"admin.auditLog.filter.allVerbs": "All actions",
|
|
1794
|
+
"admin.auditLog.filter.allActions": "All events",
|
|
1795
|
+
"admin.auditLog.filter.allActors": "All actors",
|
|
1796
|
+
"admin.auditLog.filter.search": "Search",
|
|
1797
|
+
"admin.auditLog.filter.noMatches": "No matches",
|
|
1798
|
+
"admin.auditLog.filter.selected": "{label}: {count}",
|
|
1799
|
+
"admin.auditLog.filter.clear": "Clear filters",
|
|
1800
|
+
"admin.auditLog.filter.lastDays": "Last {days} days",
|
|
1801
|
+
"admin.auditLog.filter.customRange": "Custom range",
|
|
1802
|
+
"admin.auditLog.filter.clearDates": "Clear",
|
|
1803
|
+
"admin.auditLog.filter.apply": "Apply",
|
|
1804
|
+
"admin.auditLog.col.when": "Timestamp",
|
|
1805
|
+
"admin.auditLog.col.what": "Event",
|
|
1806
|
+
"admin.auditLog.col.who": "Actor",
|
|
1807
|
+
"admin.auditLog.col.resource": "Resource",
|
|
1808
|
+
"admin.auditLog.col.verb": "Action",
|
|
1809
|
+
"admin.auditLog.col.result": "Outcome",
|
|
1810
|
+
"admin.auditLog.actor.system": "System",
|
|
1811
|
+
"admin.auditLog.resourceType.organization": "Organization",
|
|
1812
|
+
"admin.auditLog.resourceType.member": "Organization Member",
|
|
1813
|
+
"admin.auditLog.resourceType.invitation": "Invitation",
|
|
1814
|
+
"admin.auditLog.resourceType.team": "Team",
|
|
1815
|
+
"admin.auditLog.resourceType.team_member": "Team Member",
|
|
1816
|
+
"admin.auditLog.resourceType.workspace": "Workspace",
|
|
1817
|
+
"admin.auditLog.resourceType.workspace_member": "Workspace Member",
|
|
1818
|
+
"admin.auditLog.resourceType.organization_api_key": "Organization API Key",
|
|
1819
|
+
"admin.auditLog.resourceType.workspace_api_key": "Workspace API Key",
|
|
1820
|
+
"admin.auditLog.resourceType.workspace_secret": "Workspace Secret",
|
|
1821
|
+
"admin.auditLog.resourceType.workspace_secret_dek": "Workspace Encryption Key",
|
|
1822
|
+
"admin.auditLog.resourceType.organization_role": "Organization Role",
|
|
1823
|
+
"admin.auditLog.resourceType.agent": "Agent",
|
|
1824
|
+
"admin.auditLog.resourceType.knowledge_base": "Knowledge Base",
|
|
1825
|
+
"admin.auditLog.resourceType.knowledge_source": "Knowledge Source",
|
|
1826
|
+
"admin.auditLog.resourceType.conversation": "Conversation",
|
|
1827
|
+
"admin.auditLog.resourceType.audit_log_shadow_subject": "Membership Record",
|
|
1828
|
+
"admin.auditLog.resourceType.org_setting": "Organization Setting",
|
|
1829
|
+
"admin.auditLog.resourceType.library_org_entry": "Library Organization Entry",
|
|
1830
|
+
"admin.auditLog.verb.created": "Created",
|
|
1831
|
+
"admin.auditLog.verb.updated": "Updated",
|
|
1832
|
+
"admin.auditLog.verb.deleted": "Deleted",
|
|
1833
|
+
"admin.auditLog.verb.purged": "Purged",
|
|
1834
|
+
"admin.auditLog.verb.invoked": "Invoked",
|
|
1835
|
+
"admin.auditLog.verb.accepted": "Accepted",
|
|
1836
|
+
"admin.auditLog.verb.rejected": "Rejected",
|
|
1837
|
+
"admin.auditLog.verb.granted": "Granted",
|
|
1838
|
+
"admin.auditLog.verb.revoked": "Revoked",
|
|
1839
|
+
"admin.auditLog.verb.published": "Published",
|
|
1840
|
+
"admin.auditLog.verb.rolled_back": "Rolled Back",
|
|
1841
|
+
"admin.auditLog.verb.enabled": "Enabled",
|
|
1842
|
+
"admin.auditLog.verb.disabled": "Disabled",
|
|
1843
|
+
"admin.auditLog.verb.rotated": "Rotated",
|
|
1844
|
+
"admin.auditLog.verb.detected": "Detected",
|
|
1845
|
+
"admin.auditLog.outcome.success": "Success",
|
|
1846
|
+
"admin.auditLog.outcome.failure": "Failure",
|
|
1847
|
+
"admin.auditLog.outcome.denied": "Denied",
|
|
1848
|
+
"admin.auditLog.empty.title": "No audit events",
|
|
1849
|
+
"admin.auditLog.empty.bodyFiltered": "No events match these filters. Widen the date range or clear a filter.",
|
|
1850
|
+
"admin.auditLog.empty.bodyFirstUse": "Changes to members, access, credentials, secrets and configuration are recorded here as they occur.",
|
|
1851
|
+
"admin.auditLog.drawer.title": "Event detail",
|
|
1852
|
+
"admin.auditLog.drawer.groupWhatHappened": "What happened",
|
|
1853
|
+
"admin.auditLog.drawer.groupActor": "Who",
|
|
1854
|
+
"admin.auditLog.drawer.groupTarget": "Target",
|
|
1855
|
+
"admin.auditLog.drawer.groupAuthorization": "Authorization",
|
|
1856
|
+
"admin.auditLog.drawer.groupRecord": "Record",
|
|
1857
|
+
"admin.auditLog.drawer.result": "Result",
|
|
1858
|
+
"admin.auditLog.drawer.resourceId": "Resource ID",
|
|
1859
|
+
"admin.auditLog.drawer.workspaceId": "Workspace ID",
|
|
1860
|
+
"admin.auditLog.drawer.recordNumber": "Record number",
|
|
1861
|
+
"admin.auditLog.drawer.whatChanged": "Changes",
|
|
1862
|
+
"admin.auditLog.drawer.noFieldChanges": "This change recorded no before or after values.",
|
|
1863
|
+
"admin.auditLog.drawer.before": "Before",
|
|
1864
|
+
"admin.auditLog.drawer.after": "After",
|
|
1865
|
+
"admin.auditLog.drawer.context": "Context",
|
|
1866
|
+
"admin.auditLog.drawer.onBehalfOf": "On behalf of",
|
|
1867
|
+
"admin.auditLog.drawer.resourceType": "Resource type",
|
|
1868
|
+
"admin.auditLog.drawer.workspace": "Workspace",
|
|
1869
|
+
"admin.auditLog.drawer.organizationWide": "Whole organization",
|
|
1870
|
+
"admin.auditLog.drawer.permissionChecked": "Permission checked",
|
|
1871
|
+
"admin.auditLog.drawer.authorizedBy": "Authorized by",
|
|
1872
|
+
"admin.auditLog.drawer.reason": "Reason",
|
|
1873
|
+
"admin.auditLog.drawer.ip": "Source IP",
|
|
1874
|
+
"admin.auditLog.drawer.correlationId": "Correlation ID",
|
|
1672
1875
|
"admin.workspaces.pageTitle": "Workspaces",
|
|
1673
1876
|
"admin.workspaces.pageDescription": "View and manage workspaces for this organization.",
|
|
1674
1877
|
"admin.workspaces.create": "Create Workspace",
|
|
1675
1878
|
"admin.workspaces.tabs.active": "Active",
|
|
1676
1879
|
"admin.workspaces.tabs.archived": "Archived",
|
|
1880
|
+
"admin.workspaces.col.archived": "Archived",
|
|
1881
|
+
"admin.workspaces.archivedEmpty.title": "No archived workspaces",
|
|
1882
|
+
"admin.workspaces.archivedEmpty.body": "Workspaces you archive are kept here. You can restore one at any time to put it back on the Active tab.",
|
|
1677
1883
|
"admin.workspaces.search": "Search by name or slug\u2026",
|
|
1678
1884
|
"admin.workspaces.filter": "Filter",
|
|
1679
1885
|
"admin.workspaces.col.name": "Workspace Name",
|
|
@@ -1692,6 +1898,12 @@ var en_default = {
|
|
|
1692
1898
|
"admin.workspaces.archive.title": "Archive workspace '{name}'?",
|
|
1693
1899
|
"admin.workspaces.archive.body": "Members will lose access. Archived workspaces are hidden from switchers but retained for audit.",
|
|
1694
1900
|
"admin.workspaces.archive.confirm": "Archive workspace",
|
|
1901
|
+
"admin.workspaces.restore.action": "Restore workspace",
|
|
1902
|
+
"admin.workspaces.restore.title": "Restore workspace '{name}'?",
|
|
1903
|
+
"admin.workspaces.restore.body": "The workspace returns to the Active tab and to its members' switchers. Everyone who was a member when it was archived gets their access back.",
|
|
1904
|
+
"admin.workspaces.restore.confirm": "Restore workspace",
|
|
1905
|
+
"admin.workspaces.restore.success": "{name} restored.",
|
|
1906
|
+
"admin.workspaces.restore.error": "Failed to restore workspace.",
|
|
1695
1907
|
"admin.workspaces.drawer.admins": "Administrators",
|
|
1696
1908
|
"admin.workspaces.drawer.storage": "Storage",
|
|
1697
1909
|
"admin.settings.pageTitle": "Settings",
|
|
@@ -1824,7 +2036,10 @@ var en_default = {
|
|
|
1824
2036
|
"eval.overview.failureTaxonomySubtitle": "Categories reviewers can tag when marking a trace as Fail.",
|
|
1825
2037
|
"eval.overview.failureTaxonomyLoadError": "Failed to load failure taxonomy.",
|
|
1826
2038
|
"eval.overview.failureTaxonomyEmptyTitle": "No failure taxonomy yet",
|
|
1827
|
-
"eval.overview.failureTaxonomyEmptyDescription": "
|
|
2039
|
+
"eval.overview.failureTaxonomyEmptyDescription": "Reviewers pick a category when they mark an answer as Fail. Add categories below, or start from the starter set.",
|
|
2040
|
+
"eval.overview.categoryAdded": "Added {label}",
|
|
2041
|
+
"eval.overview.addCategory": "Add category",
|
|
2042
|
+
"eval.overview.failureTaxonomyEmptyReadOnly": "Reviewers pick a category when they mark an answer as Fail. Ask an admin to add categories.",
|
|
1828
2043
|
"eval.overview.taxonomyCount": "{count} categories",
|
|
1829
2044
|
"eval.overview.taxonomyMore": "+{count} more",
|
|
1830
2045
|
"eval.overview.retry": "Retry",
|
|
@@ -1852,6 +2067,7 @@ var en_default = {
|
|
|
1852
2067
|
"eval.overview.protocolHint": "\u2014 covers the \u201Cwhy error analysis first\u201D pattern in 5 min.",
|
|
1853
2068
|
"eval.overview.kpiPassRate": "Quality score ({days}d)",
|
|
1854
2069
|
"eval.overview.kpiPassRateHint": "Aggregate pass rate from reviews + judges",
|
|
2070
|
+
"eval.overview.kpiPassRateEmpty": "No reviewer or judge verdicts in the last {days} days yet.",
|
|
1855
2071
|
"eval.overview.kpiCategories": "Categories",
|
|
1856
2072
|
"eval.overview.kpiCategoriesHint": "Failure modes in your taxonomy",
|
|
1857
2073
|
"eval.overview.kpiReviews": "Reviews",
|
|
@@ -1911,16 +2127,31 @@ var en_default = {
|
|
|
1911
2127
|
"eval.overview.driftBannerCta": "Open reviews",
|
|
1912
2128
|
"eval.overview.trendTitle": "Pass rate trend",
|
|
1913
2129
|
"eval.overview.trendSubtitle": "Daily pass rate, last 30 days",
|
|
1914
|
-
"eval.overview.goldenTitle": "Golden set",
|
|
1915
|
-
"eval.overview.goldenSubtitle": "{items} dataset items total",
|
|
1916
|
-
"eval.overview.goldenTarget": "target {target}",
|
|
1917
|
-
"eval.overview.goldenCaptionBelow": "{remaining} more human-certified examples unlock calibration",
|
|
1918
|
-
"eval.overview.goldenCaptionAbove": "Calibration-ready \u2014 keep growing toward a mature golden set",
|
|
1919
2130
|
"eval.overview.impact": "This week: {reviews} reviews \xB7 {examples} golden examples added \xB7 {calibrated} checks calibrated",
|
|
1920
|
-
"eval.trust.panelHeading": "Quality checks",
|
|
1921
|
-
"eval.trust.panelSubtitle": "The default judge panel and how much to trust each check",
|
|
1922
2131
|
"eval.trust.calibrated": "Calibrated",
|
|
1923
|
-
"eval.trust.calibratedPct": "Calibrated \xB7 agrees {pct}%",
|
|
2132
|
+
"eval.trust.calibratedPct": "Calibrated \xB7 agrees at least {pct}%",
|
|
2133
|
+
"eval.trust.failed": "Not calibrated \u2014 disagrees with reviewers",
|
|
2134
|
+
"eval.trust.readiness": "{eligible} of {minSample} gold examples, {fail} fail",
|
|
2135
|
+
"eval.trust.readinessHint": "Calibration needs {minSample} gold examples with at least {minPerClass} pass and {minPerClass} fail",
|
|
2136
|
+
"eval.trust.readinessReady": "Ready to calibrate",
|
|
2137
|
+
"eval.trust.calibrateToastError": "Calibration stopped: {reason}",
|
|
2138
|
+
"eval.judges.title": "Judges",
|
|
2139
|
+
"eval.judges.subtitle": "The judge panel grades live conversations, is calibrated against your gold examples, and is preselected when you start a run.",
|
|
2140
|
+
"eval.judges.editPanel": "Change panel",
|
|
2141
|
+
"eval.judges.cancelEdit": "Cancel",
|
|
2142
|
+
"eval.judges.savePanel": "Save panel",
|
|
2143
|
+
"eval.judges.panelSaved": "Judge panel saved",
|
|
2144
|
+
"eval.judges.panelEmpty": "Choose at least one judge.",
|
|
2145
|
+
"eval.judges.saveFailed": "Could not save. Try again.",
|
|
2146
|
+
"eval.judges.modelLabel": "Judge model",
|
|
2147
|
+
"eval.judges.modelHint": "Independent of your agents' models. Keep it constant so scores stay comparable across agents. Judges cannot score until you choose one.",
|
|
2148
|
+
"eval.judges.modelDefault": "Not set",
|
|
2149
|
+
"eval.judges.modelPlaceholder": "Select a model",
|
|
2150
|
+
"eval.judges.modelSaved": "Judge model saved",
|
|
2151
|
+
"eval.judges.unavailable": "{name} is not in your organization's AI models, so judges cannot run. Choose one of your models, or add its provider in Organization settings > AI.",
|
|
2152
|
+
"eval.judges.save": "Save",
|
|
2153
|
+
"eval.judges.saving": "Saving\u2026",
|
|
2154
|
+
"eval.judges.defaultUnavailable": "Choose a judge model; judges cannot score until one is set. If the list is empty, ask an administrator to add a model, or its provider, in Organization settings > AI.",
|
|
1924
2155
|
"eval.trust.experimental": "Experimental \u2014 not human-verified",
|
|
1925
2156
|
"eval.trust.drifting": "Drifting \u2014 needs reviews",
|
|
1926
2157
|
"eval.trust.calibrate": "Calibrate",
|
|
@@ -1935,9 +2166,18 @@ var en_default = {
|
|
|
1935
2166
|
"eval.datasets.title": "Datasets",
|
|
1936
2167
|
"eval.datasets.subtitle": "Hand-labeled eval items promoted from a trace annotation.",
|
|
1937
2168
|
"eval.datasets.loading": "Loading\u2026",
|
|
1938
|
-
"eval.datasets.loadError": "
|
|
2169
|
+
"eval.datasets.loadError": "Couldn't load datasets. Try again in a moment.",
|
|
1939
2170
|
"eval.datasets.emptyTitle": "No datasets yet",
|
|
1940
|
-
"eval.datasets.emptyDescription": "
|
|
2171
|
+
"eval.datasets.emptyDescription": "A dataset holds the questions you test your agent on. Create one, import items from a CSV, or save reviewed answers from the review inbox.",
|
|
2172
|
+
"eval.datasets.openInbox": "Review items in the inbox",
|
|
2173
|
+
"eval.datasets.createFailed": "Couldn't create the dataset. Try again.",
|
|
2174
|
+
"eval.datasets.created": "Created {name}",
|
|
2175
|
+
"eval.datasets.descriptionLabel": "Description (optional)",
|
|
2176
|
+
"eval.datasets.namePlaceholder": "e.g. Shipment questions",
|
|
2177
|
+
"eval.datasets.nameLabel": "Name",
|
|
2178
|
+
"eval.datasets.createDescription": "Name the dataset. Add items afterwards by importing a CSV or by saving reviewed answers from the review inbox.",
|
|
2179
|
+
"eval.datasets.createTitle": "Create dataset",
|
|
2180
|
+
"eval.datasets.create": "Create dataset",
|
|
1941
2181
|
"eval.datasets.columnName": "Name",
|
|
1942
2182
|
"eval.datasets.columnDescription": "Description",
|
|
1943
2183
|
"eval.datasets.openDedicated": "Open full page",
|
|
@@ -2039,6 +2279,7 @@ var en_default = {
|
|
|
2039
2279
|
"eval.categoryPicker.loading": "Loading\u2026",
|
|
2040
2280
|
"eval.categoryPicker.createError": "Failed to create category",
|
|
2041
2281
|
"eval.categoryPicker.noCategories": "No categories yet.",
|
|
2282
|
+
"eval.categoryPicker.noCategoriesAskAdmin": "No failure categories yet. Ask an admin to add them.",
|
|
2042
2283
|
"eval.categoryPicker.add": "Add",
|
|
2043
2284
|
"eval.categoryPicker.draftPlaceholder": "e.g. wrong tool, hallucinated citation\u2026",
|
|
2044
2285
|
"eval.categoryPicker.save": "Save",
|
|
@@ -2116,6 +2357,7 @@ var en_default = {
|
|
|
2116
2357
|
"eval.scorerRun.labelHelpfulness": "Helpfulness",
|
|
2117
2358
|
"eval.scorerRun.labelSafety": "Safety",
|
|
2118
2359
|
"eval.scorerRun.toastSuccess": "{label}: {verdict}",
|
|
2360
|
+
"eval.scorerRun.toastNotApplicable": "{label}: nothing to check on this message",
|
|
2119
2361
|
"eval.scorerRun.verdictDone": "done",
|
|
2120
2362
|
"eval.scorerRun.judgeFailed": "{label} judge failed",
|
|
2121
2363
|
"eval.scorerRun.judging": "Judging\u2026",
|
|
@@ -2125,6 +2367,7 @@ var en_default = {
|
|
|
2125
2367
|
"eval.scorerSummary.userThumbsUp": "{count} user thumbs-up",
|
|
2126
2368
|
"eval.scorerSummary.userThumbsDown": "{count} user thumbs-down",
|
|
2127
2369
|
"eval.scorerSummary.judgeVerdict": "Judge {scorerId}: {verdict}",
|
|
2370
|
+
"eval.scorerSummary.reviewerVerdict": "Another reviewer: {verdict}",
|
|
2128
2371
|
"eval.span.attributes": "Attributes",
|
|
2129
2372
|
"eval.span.promptLabel": "Prompt:",
|
|
2130
2373
|
"eval.span.prompt": "Prompt",
|
|
@@ -2271,9 +2514,13 @@ var en_default = {
|
|
|
2271
2514
|
"admin.data.sourceWizard.summary.submitFailed": "The Source could not be saved. Try again.",
|
|
2272
2515
|
"admin.data.sourceWizard.validation.connectorRequired": "Choose a Source Type to continue.",
|
|
2273
2516
|
"admin.data.source.field.sourceType": "Source Type",
|
|
2274
|
-
"admin.data.
|
|
2275
|
-
"admin.data.
|
|
2276
|
-
"admin.data.
|
|
2517
|
+
"admin.data.list.column.name": "Name",
|
|
2518
|
+
"admin.data.list.column.connector": "Connector",
|
|
2519
|
+
"admin.data.list.column.endpoint": "Endpoint",
|
|
2520
|
+
"admin.data.list.column.tables": "Tables",
|
|
2521
|
+
"admin.data.list.column.lastTest": "Last test",
|
|
2522
|
+
"admin.data.list.column.modified": "Modified",
|
|
2523
|
+
"admin.data.list.column.author": "Author",
|
|
2277
2524
|
"admin.data.sourceWizard.validation.displayNameRequired": "Enter a name for this Source.",
|
|
2278
2525
|
"admin.data.sourceWizard.validation.connectionRequired": "Enter the required PostgreSQL connection values.",
|
|
2279
2526
|
"admin.data.sourceWizard.validation.postgresUrl": "Enter a valid PostgreSQL URL with a username, password, host, and database.",
|
|
@@ -2339,6 +2586,10 @@ var en_default = {
|
|
|
2339
2586
|
"admin.datasets.list.pagination.previous": "Previous",
|
|
2340
2587
|
"admin.datasets.list.pagination.next": "Next",
|
|
2341
2588
|
"admin.datasets.list.searchPlaceholder": "Search datasets\u2026",
|
|
2589
|
+
"admin.datasets.list.filter.label": "Filter by status",
|
|
2590
|
+
"admin.datasets.list.filter.all": "All",
|
|
2591
|
+
"admin.datasets.list.filter.active": "Active",
|
|
2592
|
+
"admin.datasets.list.filter.archived": "Archived",
|
|
2342
2593
|
"admin.datasets.list.searchLabel": "Search Datasets",
|
|
2343
2594
|
"admin.datasets.list.noSearchResults": "No datasets match your search.",
|
|
2344
2595
|
"admin.datasets.create.action": "Create Dataset",
|
|
@@ -2401,7 +2652,7 @@ var en_default = {
|
|
|
2401
2652
|
"admin.datasets.mode.virtual": "Live",
|
|
2402
2653
|
"admin.datasets.mode.managed": "Managed",
|
|
2403
2654
|
"admin.datasets.status.active": "Active",
|
|
2404
|
-
"admin.datasets.status.disabled": "
|
|
2655
|
+
"admin.datasets.status.disabled": "Archived",
|
|
2405
2656
|
"admin.datasets.detail.back": "Back to Datasets",
|
|
2406
2657
|
"admin.datasets.detail.loading": "Loading Dataset\u2026",
|
|
2407
2658
|
"admin.datasets.detail.retry": "Try again",
|
|
@@ -2418,6 +2669,31 @@ var en_default = {
|
|
|
2418
2669
|
"admin.datasets.detail.refresh.published": "Refreshed \u2014 a new snapshot was published.",
|
|
2419
2670
|
"admin.datasets.detail.refresh.unchanged": "Already up to date \u2014 no changes to publish.",
|
|
2420
2671
|
"admin.datasets.detail.refresh.error": "Refresh failed. Check the Source, then try again.",
|
|
2672
|
+
"admin.datasets.detail.lifecycle.archiveAction": "Archive",
|
|
2673
|
+
"admin.datasets.detail.lifecycle.archiveTitle": "Archive this Dataset?",
|
|
2674
|
+
"admin.datasets.detail.lifecycle.archiveDescription": "It stops serving rows and keeps everything it holds. You can restore it at any time.",
|
|
2675
|
+
"admin.datasets.detail.lifecycle.archiveConfirm": "Archive",
|
|
2676
|
+
"admin.datasets.detail.lifecycle.archived": "Dataset archived.",
|
|
2677
|
+
"admin.datasets.detail.lifecycle.archiveError": "The Dataset could not be archived. Try again.",
|
|
2678
|
+
"admin.datasets.detail.lifecycle.restoreAction": "Restore",
|
|
2679
|
+
"admin.datasets.detail.lifecycle.restoreTitle": "Restore this Dataset?",
|
|
2680
|
+
"admin.datasets.detail.lifecycle.restoreDescription": "It returns to service with the same columns, key and rows it had when you archived it.",
|
|
2681
|
+
"admin.datasets.detail.lifecycle.restoreConfirm": "Restore",
|
|
2682
|
+
"admin.datasets.detail.lifecycle.restored": "Dataset restored.",
|
|
2683
|
+
"admin.datasets.detail.lifecycle.restoreError": "The Dataset could not be restored. Try again.",
|
|
2684
|
+
"admin.datasets.detail.lifecycle.deleteAction": "Permanent delete",
|
|
2685
|
+
"admin.datasets.detail.lifecycle.deleteTitle": "Permanently delete this Dataset?",
|
|
2686
|
+
"admin.datasets.detail.lifecycle.deleteDescription": "This destroys its revision history, every published snapshot and any rows Sebati holds for it. It cannot be undone.",
|
|
2687
|
+
"admin.datasets.detail.lifecycle.deleteConfirm": "Permanently delete",
|
|
2688
|
+
"admin.datasets.detail.lifecycle.deleteConfirmPhrase": "Type {phrase} to confirm",
|
|
2689
|
+
"admin.datasets.detail.lifecycle.deleted": "Dataset deleted.",
|
|
2690
|
+
"admin.datasets.detail.lifecycle.deleteError": "The Dataset could not be deleted. Try again.",
|
|
2691
|
+
"admin.datasets.detail.lifecycle.inUse.title": "'{name}' is still in use",
|
|
2692
|
+
"admin.datasets.detail.lifecycle.inUse.body": "This Dataset can't be archived while your Blueprint reads it \u2014 archiving it would stop these definitions returning rows. Open each one, bind it to a different Dataset or remove it, then archive this Dataset.",
|
|
2693
|
+
"admin.datasets.detail.lifecycle.inUse.open": "Open",
|
|
2694
|
+
"admin.datasets.detail.lifecycle.inUse.noLink": "No link",
|
|
2695
|
+
"admin.datasets.detail.lifecycle.inUse.objectType": "Object type",
|
|
2696
|
+
"admin.datasets.detail.lifecycle.inUse.linkType": "Relationship",
|
|
2421
2697
|
"admin.datasets.detail.noDescription": "No description",
|
|
2422
2698
|
"admin.datasets.detail.relationKind.table": "Table",
|
|
2423
2699
|
"admin.datasets.detail.relationKind.view": "View",
|
|
@@ -2444,7 +2720,8 @@ var en_default = {
|
|
|
2444
2720
|
"admin.datasets.detail.revisions.error": "Could not load the revision history.",
|
|
2445
2721
|
"admin.datasets.detail.revisions.managedLocator": "Managed custody",
|
|
2446
2722
|
"admin.datasets.rows.title": "Rows",
|
|
2447
|
-
"admin.datasets.rows.description": "Read live from the Source. Nothing on this page is stored by the platform.",
|
|
2723
|
+
"admin.datasets.rows.description.live": "Read live from the Source. Nothing on this page is stored by the platform.",
|
|
2724
|
+
"admin.datasets.rows.description.managed": "Read from the governed copy this Dataset keeps. It changes only when the Dataset is refreshed or a new revision is published.",
|
|
2448
2725
|
"admin.datasets.rows.readAt": "Read at {time}",
|
|
2449
2726
|
"admin.datasets.rows.loading": "Loading rows\u2026",
|
|
2450
2727
|
"admin.datasets.rows.retry": "Try again",
|
|
@@ -2453,21 +2730,21 @@ var en_default = {
|
|
|
2453
2730
|
"admin.datasets.rows.empty.title": "No rows to show",
|
|
2454
2731
|
"admin.datasets.rows.empty.body": "This Dataset returned no rows for this page.",
|
|
2455
2732
|
"admin.datasets.rows.error.title": "Rows could not be read",
|
|
2456
|
-
"admin.datasets.rows.error.body": "The live read was refused, or the Source is not currently readable. Check the Source connection, then try again.",
|
|
2733
|
+
"admin.datasets.rows.error.body.live": "The live read was refused, or the Source is not currently readable. Check the Source connection, then try again.",
|
|
2734
|
+
"admin.datasets.rows.error.body.managed": "The read was refused, or this Dataset's copy could not be read. Try again, and refresh the Dataset if it keeps failing.",
|
|
2457
2735
|
"admin.datasets.rows.pagination.label": "Row pages",
|
|
2458
2736
|
"admin.datasets.rows.pagination.previous": "Previous",
|
|
2459
2737
|
"admin.datasets.rows.pagination.next": "Next",
|
|
2460
2738
|
"admin.datasets.rows.viaSourceRevision": "via Source revision {revision}",
|
|
2739
|
+
"admin.datasets.rows.compartmented.title": "These records are restricted by security markings",
|
|
2740
|
+
"admin.datasets.rows.compartmented.body": "An object in Blueprint restricts these records with security markings, so each reader sees only the records they hold every marking of. This page reads the Dataset underneath that object, where the restriction does not apply, so it is refused. Open the object in Blueprint to read the records you can see.",
|
|
2461
2741
|
"admin.datasets.rows.authorityMoved.title": "Source authority changed",
|
|
2462
2742
|
"admin.datasets.rows.authorityMoved.body": "The Source behind this revision now points at a different authority (host, database, role, or TLS mode). Reads through this contract are refused; register a new Dataset revision against the current Source to continue. The revision history below records what changed.",
|
|
2463
2743
|
"admin.datasets.rows.publishedAt": "Published as of {time}",
|
|
2464
2744
|
"admin.datasets.managed.title": "Rows are not available yet",
|
|
2465
2745
|
"admin.datasets.managed.body": "Managed Datasets store their own rows. That storage is not built yet, so there is nothing to preview here.",
|
|
2466
2746
|
"admin.models.form.kindEmbeddingDetected": "Detected as an embedding model \u2014 it powers knowledge, memory, and semantic search, and won't appear in chat model pickers.",
|
|
2467
|
-
"admin.ai.providers.status.organization": "Managed by your organization",
|
|
2468
2747
|
"admin.nav.apiKeys": "API Keys",
|
|
2469
|
-
"admin.apiKeys.pageTitle": "API keys",
|
|
2470
|
-
"admin.apiKeys.pageDescription": "Organization keys for the CLI and other machine callers",
|
|
2471
2748
|
"admin.apiKeys.empty.title": "No API keys yet",
|
|
2472
2749
|
"admin.apiKeys.empty.description": "Create one to let the CLI author this organization's Blueprint",
|
|
2473
2750
|
"admin.apiKeys.expiry.days7": "7 days",
|
|
@@ -2476,6 +2753,15 @@ var en_default = {
|
|
|
2476
2753
|
"admin.apiKeys.expiry.days365": "365 days",
|
|
2477
2754
|
"admin.apiKeys.audit.empty.title": "No activity yet",
|
|
2478
2755
|
"eval.inbox.title": "Review inbox ({count})",
|
|
2756
|
+
"eval.inbox.clearFilters": "Clear filters",
|
|
2757
|
+
"eval.inbox.filteredEmpty": "Nothing is waiting for review with these filters.",
|
|
2758
|
+
"eval.inbox.sourceOption.workflow": "Workflows",
|
|
2759
|
+
"eval.inbox.sourceOption.automation": "Functions",
|
|
2760
|
+
"eval.inbox.sourceOption.chat": "Chat",
|
|
2761
|
+
"eval.inbox.allSources": "All sources",
|
|
2762
|
+
"eval.inbox.filterSource": "Source",
|
|
2763
|
+
"eval.inbox.allAgents": "All agents",
|
|
2764
|
+
"eval.inbox.filterAgent": "Agent",
|
|
2479
2765
|
"eval.inbox.queueHeading": "Queue",
|
|
2480
2766
|
"eval.inbox.loading": "Loading review queue\u2026",
|
|
2481
2767
|
"eval.inbox.emptyTitle": "All caught up",
|
|
@@ -2502,21 +2788,28 @@ var en_default = {
|
|
|
2502
2788
|
"eval.inbox.reasonPhrase.checkFailed": "Automated check failed",
|
|
2503
2789
|
"eval.inbox.reasonPhrase.calibration": "Calibration review",
|
|
2504
2790
|
"eval.inbox.reasonPhrase.sample": "Routine sample",
|
|
2505
|
-
"eval.inbox.
|
|
2791
|
+
"eval.inbox.userCategory": "User picked: {category}",
|
|
2792
|
+
"eval.inbox.source.workflow": "From a workflow",
|
|
2793
|
+
"eval.inbox.source.automation": "From a function",
|
|
2794
|
+
"eval.inbox.source.chat": "From chat",
|
|
2795
|
+
"eval.inbox.goldenHint": "A Fail with a correction, or a Pass with G, is saved as a gold example",
|
|
2506
2796
|
"eval.reviews.allReviews": "All reviews ({count})",
|
|
2507
2797
|
"eval.reviews.surfaceInbox": "Inbox ({count})",
|
|
2508
2798
|
"eval.reviews.surfaceLabel": "Review surface",
|
|
2509
2799
|
"eval.reviews.backToInbox": "Back to inbox ({count})",
|
|
2510
2800
|
"eval.inbox.skip": "Skip",
|
|
2801
|
+
"eval.inbox.readOnlyHint": "You can read this item, but your role can't record verdicts.",
|
|
2511
2802
|
"eval.inbox.skipTitle": "Skip this item (Esc)",
|
|
2512
2803
|
"eval.inbox.skipConfirmTitle": "Skip this item?",
|
|
2513
2804
|
"eval.inbox.skipConfirmBody": "It leaves the review queue without a verdict and won't come back. Pass or Fail it instead if you can judge it.",
|
|
2514
2805
|
"eval.inbox.skipConfirmCancel": "Cancel",
|
|
2515
2806
|
"eval.inbox.skipFailed": "Could not skip the item.",
|
|
2516
|
-
"eval.inbox.savedPromoted": "Saved \xB7 added
|
|
2517
|
-
"eval.inbox.
|
|
2807
|
+
"eval.inbox.savedPromoted": "Saved \xB7 added as a gold example",
|
|
2808
|
+
"eval.inbox.savedAdded": "Saved \xB7 added to {datasetName}",
|
|
2809
|
+
"eval.inbox.promoteFailed": "Saved, but adding the gold example failed.",
|
|
2518
2810
|
"eval.inbox.keyboardHint": "P pass \xB7 F fail \xB7 Esc skip \xB7 \u2318/Ctrl+Enter submit",
|
|
2519
2811
|
"eval.inbox.hintPass": "pass",
|
|
2812
|
+
"eval.inbox.hintPassAsExample": "pass + gold example",
|
|
2520
2813
|
"eval.inbox.hintFail": "fail",
|
|
2521
2814
|
"eval.inbox.hintSkip": "skip",
|
|
2522
2815
|
"eval.inbox.hintSubmit": "submit",
|
|
@@ -2553,11 +2846,25 @@ var en_default = {
|
|
|
2553
2846
|
"eval.runs.passCount": "{count} pass",
|
|
2554
2847
|
"eval.runs.failCount": "{count} fail",
|
|
2555
2848
|
"eval.runs.errorCount": "{count} error",
|
|
2556
|
-
"eval.runs.gradedOf": "{graded} of {total} graded",
|
|
2557
2849
|
"eval.runs.produced": "What the agent answered",
|
|
2558
2850
|
"eval.runs.itemError": "Error",
|
|
2559
2851
|
"eval.runs.itemQueued": "Queued",
|
|
2560
|
-
"eval.runs.
|
|
2852
|
+
"eval.runs.itemRunning": "Running",
|
|
2853
|
+
"eval.runs.itemSkipped": "Skipped",
|
|
2854
|
+
"eval.runs.notGraded": "Not graded",
|
|
2855
|
+
"eval.runs.progress": "{done} of {total} finished",
|
|
2856
|
+
"eval.runs.cost": "Cost {cost}",
|
|
2857
|
+
"eval.runs.duration": "Took {duration}",
|
|
2858
|
+
"eval.runs.attempt": "Attempt {number}",
|
|
2859
|
+
"eval.runs.attemptsPassed": "{passes} of {graded} attempts passed",
|
|
2860
|
+
"eval.runs.cancel": "Cancel run",
|
|
2861
|
+
"eval.runs.cancelledToast": "Run cancelled",
|
|
2862
|
+
"eval.runs.cancelFailed": "Could not cancel the run",
|
|
2863
|
+
"eval.runs.status.queued": "Queued",
|
|
2864
|
+
"eval.runs.status.running": "Running",
|
|
2865
|
+
"eval.runs.status.completed": "Completed",
|
|
2866
|
+
"eval.runs.status.failed": "Failed",
|
|
2867
|
+
"eval.runs.status.cancelled": "Cancelled",
|
|
2561
2868
|
"eval.runs.rerun": "Re-run",
|
|
2562
2869
|
"eval.runs.rerunItem": "Re-run this item",
|
|
2563
2870
|
"eval.runs.columnInput": "Input",
|
|
@@ -2617,6 +2924,7 @@ var en_default = {
|
|
|
2617
2924
|
"eval.reviews.addFailed": "Could not add this review to the dataset",
|
|
2618
2925
|
"eval.runs.expected": "What the reviewer said it should have been",
|
|
2619
2926
|
"eval.runs.viewSourceTrace": "View the conversation this came from",
|
|
2927
|
+
"eval.runs.notRun": "Not run",
|
|
2620
2928
|
"eval.overview.recentRuns": "Recent runs",
|
|
2621
2929
|
"eval.overview.recentRunsSubtitle": "How the agent scored against a dataset.",
|
|
2622
2930
|
"eval.overview.recentRunsEmpty": "No runs yet. Open a dataset and run it to see how the agent scores.",
|
|
@@ -2778,6 +3086,11 @@ var en_default = {
|
|
|
2778
3086
|
"desktopAccess.agent.unnamed": "The Agent",
|
|
2779
3087
|
"desktopAccess.operation.generic": "a local operation",
|
|
2780
3088
|
"desktopAccess.chip.revision": "rev {rev}",
|
|
3089
|
+
"chat.workflowWrite.created": "Workflow created \xB7 draft v{version}",
|
|
3090
|
+
"chat.workflowWrite.added": "Draft v{version} saved",
|
|
3091
|
+
"chat.workflowWrite.updated": "Draft v{version} updated",
|
|
3092
|
+
"chat.workflowWrite.changed": "Steps added or changed: {count}",
|
|
3093
|
+
"chat.workflowWrite.open": "Open in editor",
|
|
2781
3094
|
"desktopAccess.toast.grantRequested": "{agent} is asking for access on your computer",
|
|
2782
3095
|
"desktopAccess.toast.approvalRequested": "{agent} needs your approval for a desktop operation",
|
|
2783
3096
|
"desktopAccess.toast.waitingDevice": "Waiting for {device} to reconnect",
|
|
@@ -3331,26 +3644,12 @@ var en_default = {
|
|
|
3331
3644
|
"agentMode.routines.runs.status.waiting_approval": "Needs approval",
|
|
3332
3645
|
"agentMode.routines.runs.status.paused_takeover": "Paused for takeover",
|
|
3333
3646
|
"admin.usageTiers.title": "Usage tiers",
|
|
3334
|
-
"admin.usageTiers.subtitle": "How many credits each group of people gets before their limit is reached. Nothing here does anything until Usage limits is switched on in Settings.",
|
|
3335
3647
|
"admin.usageTiers.newTier": "New tier",
|
|
3336
3648
|
"admin.usageTiers.empty": "No tiers yet. Until one exists, everyone is unlimited.",
|
|
3337
|
-
"admin.usageTiers.windows.title": "When limits reset",
|
|
3338
|
-
"admin.usageTiers.windows.primary": "Resets every",
|
|
3339
|
-
"admin.usageTiers.windows.timezone": "in",
|
|
3340
|
-
"admin.usageTiers.windows.burst": "short-window cap",
|
|
3341
|
-
"admin.usageTiers.windows.noBurst": "no short-window cap",
|
|
3342
3649
|
"admin.usageTiers.card.default": "Default",
|
|
3343
|
-
"admin.usageTiers.card.creditsPerWindow": "credits per window",
|
|
3344
|
-
"admin.usageTiers.card.burst": "Burst",
|
|
3345
|
-
"admin.usageTiers.card.onExhaust": "At the limit",
|
|
3346
|
-
"admin.usageTiers.dryRun.title": "If these limits had been switched on",
|
|
3347
|
-
"admin.usageTiers.dryRun.stopped": "would have been stopped",
|
|
3348
|
-
"admin.usageTiers.dryRun.warned": "would have been warned",
|
|
3349
|
-
"admin.usageTiers.dryRun.unaffected": "unaffected",
|
|
3350
3650
|
"admin.usageTiers.dryRun.user": "User",
|
|
3351
3651
|
"admin.usageTiers.dryRun.tier": "Tier",
|
|
3352
3652
|
"admin.usageTiers.dryRun.firstHit": "First hit",
|
|
3353
|
-
"admin.usageTiers.dryRun.over": "Used",
|
|
3354
3653
|
"admin.usageTiers.dryRun.excluded": "{n} usage rows could not be measured and are excluded. Percentiles describe only what remains.",
|
|
3355
3654
|
"admin.usageTiers.edit.title": "Edit tier",
|
|
3356
3655
|
"admin.usageTiers.edit.name": "Name",
|
|
@@ -3372,7 +3671,6 @@ var en_default = {
|
|
|
3372
3671
|
"admin.usageTiers.windows.burstLabel": "Short-window cap",
|
|
3373
3672
|
"admin.usageTiers.windows.burstHelp": "ISO duration, max 24h (e.g. PT5H). Leave blank for none.",
|
|
3374
3673
|
"admin.usageTiers.windows.useLocal": "Use this browser\u2019s zone ({tz})",
|
|
3375
|
-
"admin.usageTiers.windows.utcHint": "Windows reset at 00:00 UTC \u2014 mid-working-day in {tz}. Set a time zone to match where people actually work.",
|
|
3376
3674
|
"admin.usageTiers.windows.changeWarning": "Applies immediately. Shortening a window starts a fresh allowance for everyone; adding a cap can stop anyone already over it on their next message.",
|
|
3377
3675
|
"admin.usageTiers.card.exhaustSoft": "keeps working (warn only)",
|
|
3378
3676
|
"admin.usageTiers.card.exhaustBlock": "can't chat until it resets",
|
|
@@ -3396,20 +3694,35 @@ var en_default = {
|
|
|
3396
3694
|
"chat.usageBanner.inHours": "in {n}h",
|
|
3397
3695
|
"chat.usageBanner.view": "View usage",
|
|
3398
3696
|
"settings.myUsage": "Usage",
|
|
3399
|
-
"settings.myUsage.
|
|
3400
|
-
"settings.myUsage.
|
|
3401
|
-
"settings.myUsage.
|
|
3402
|
-
"settings.myUsage.
|
|
3403
|
-
"settings.myUsage.
|
|
3404
|
-
"settings.myUsage.
|
|
3405
|
-
"settings.myUsage.
|
|
3406
|
-
"settings.myUsage.
|
|
3407
|
-
"settings.myUsage.
|
|
3408
|
-
"settings.myUsage.
|
|
3409
|
-
"settings.myUsage.
|
|
3410
|
-
"settings.myUsage.
|
|
3411
|
-
"settings.myUsage.
|
|
3412
|
-
"settings.myUsage.
|
|
3697
|
+
"settings.myUsage.subtitle": "Your own allowance and when it comes back. Limits are set by your organization, not per person.",
|
|
3698
|
+
"settings.myUsage.tier.label": "Your tier",
|
|
3699
|
+
"settings.myUsage.tier.blocks": "When it is spent, messages stop until your limit resets",
|
|
3700
|
+
"settings.myUsage.tier.downgrades": "When it is spent, messages fall back to a smaller model until your limit resets",
|
|
3701
|
+
"settings.myUsage.tier.compare": "Compare tiers",
|
|
3702
|
+
"settings.myUsage.remaining.label": "What's left",
|
|
3703
|
+
"settings.myUsage.remaining.messages": "About {n} more messages",
|
|
3704
|
+
"settings.myUsage.remaining.credits": "{left} of {limit} credits remaining this period",
|
|
3705
|
+
"settings.myUsage.remaining.noEstimate": "Not enough history here yet to say how many messages that is",
|
|
3706
|
+
"settings.myUsage.warn.title": "You'll be warned before it runs out",
|
|
3707
|
+
"settings.myUsage.warn.description": "A notice appears in chat once you pass the threshold",
|
|
3708
|
+
"settings.myUsage.warn.threshold": "{n}% used",
|
|
3709
|
+
"settings.myUsage.limits.general": "General usage limits",
|
|
3710
|
+
"settings.myUsage.limits.short": "Short-window limits",
|
|
3711
|
+
"settings.myUsage.limits.shortDescription": "A rolling cap on top of the longer one, so a single busy afternoon cannot spend the whole period.",
|
|
3712
|
+
"settings.myUsage.limit.left": "{n}% left",
|
|
3713
|
+
"settings.myUsage.limit.resets": "Resets {when}",
|
|
3714
|
+
"settings.myUsage.limit.recovers": "Recovers from {when}",
|
|
3715
|
+
"settings.myUsage.window.monthly": "Monthly usage limit",
|
|
3716
|
+
"settings.myUsage.window.weekly": "Weekly usage limit",
|
|
3717
|
+
"settings.myUsage.window.daily": "Daily usage limit",
|
|
3718
|
+
"settings.myUsage.window.days": "{n} day usage limit",
|
|
3719
|
+
"settings.myUsage.window.hours": "{n} hour usage limit",
|
|
3720
|
+
"settings.myUsage.window.minutes": "{n} minute usage limit",
|
|
3721
|
+
"settings.myUsage.window.generic": "Usage limit",
|
|
3722
|
+
"settings.myUsage.spent.blocked": "You have used your allowance for this period. New messages will not send until it resets on {when}.",
|
|
3723
|
+
"settings.myUsage.spent.downgraded": "You have used your allowance for this period. Messages fall back to a smaller model until it resets on {when}.",
|
|
3724
|
+
"settings.myUsage.unmetered.title": "No limit applies to your account",
|
|
3725
|
+
"settings.myUsage.unmetered.description": "Your organization is not rationing usage, so there is nothing to spend down and nothing to reset.",
|
|
3413
3726
|
"admin.usageTiers.edit.creditsEstimate": "About {messages} messages per {period}, based on what this organization actually uses (1 credit \u2248 {n} messages).",
|
|
3414
3727
|
"admin.usageTiers.edit.creditsRate": "In this organization 1 credit is about {n} messages, measured over {sample} recent messages.",
|
|
3415
3728
|
"admin.usageTiers.edit.creditsNoData": "Not enough usage measured yet to say what this is worth in messages. Come back once people have been chatting for a while.",
|
|
@@ -3424,7 +3737,6 @@ var en_default = {
|
|
|
3424
3737
|
"admin.members.col.tier": "Usage tier",
|
|
3425
3738
|
"admin.usageTiers.assign.moved": "Assign people to tiers in Members \u2014 each row has a Usage tier column.",
|
|
3426
3739
|
"admin.usageTiers.assign.movedWithDefault": "Assign people to tiers in Members \u2014 each row has a Usage tier column. Anyone not assigned gets {tier}.",
|
|
3427
|
-
"settings.myUsage.downgrades": "Once you use it all, messages move to a cheaper model until it resets.",
|
|
3428
3740
|
"chat.usageBanner.overDowngrade": "You're out of credits \u2014 messages are on a cheaper model",
|
|
3429
3741
|
"admin.models.form.price": "Price per 1M tokens",
|
|
3430
3742
|
"admin.models.form.priceExplain": "How model pricing works",
|
|
@@ -3433,6 +3745,14 @@ var en_default = {
|
|
|
3433
3745
|
"admin.models.form.priceCacheWriteLabel": "Cache write",
|
|
3434
3746
|
"admin.models.form.priceCacheReadLabel": "Cache read",
|
|
3435
3747
|
"admin.models.form.priceFooter": "In US dollars. Leave blank for a model with a published price \u2014 it is looked up automatically.",
|
|
3748
|
+
"admin.models.form.azureDeployment": "Deployment",
|
|
3749
|
+
"admin.models.form.azureDeploymentPlaceholder": "e.g. gpt-5.6-luna",
|
|
3750
|
+
"admin.models.form.azureDeploymentHelp": `The name the model was given when it was deployed in Azure \u2014 the "model" value in your team's Azure API calls. The endpoint and key are set once under Providers.`,
|
|
3751
|
+
"admin.models.form.azureDeploymentEndpointPasted": `That's the endpoint, not a deployment \u2014 it belongs under Providers \u2192 Azure. Enter the deployment name here (the "model" value in the API call).`,
|
|
3752
|
+
"admin.models.form.azureUpstreamModel": "Underlying model",
|
|
3753
|
+
"admin.models.form.azureUpstreamModelHelp": "The OpenAI model this deployment runs. Filled in automatically when the deployment is named after a model; its published price and context window are used.",
|
|
3754
|
+
"admin.models.form.azurePriceHint": "Leave blank to price at the underlying model's list price. Enter prices if you pay less than list (an enterprise discount) or run on provisioned throughput (PTU).",
|
|
3755
|
+
"admin.models.form.azureNeedsPricing": "Pick the underlying model, or enter all four prices, to save an Azure model.",
|
|
3436
3756
|
"admin.models.form.priceHelp.what": "Usage is measured in credits, and a credit is a fixed amount of money\u2019s worth of model use. So a model has to have a price before anyone\u2019s usage of it can be counted.",
|
|
3437
3757
|
"admin.models.form.priceHelp.blankTitle": "Leave blank \u2014 looked up for you",
|
|
3438
3758
|
"admin.models.form.priceHelp.blankBody": "A model with a published price is priced from the vendor\u2019s own figures, kept current automatically. Nothing to type.",
|
|
@@ -3440,13 +3760,930 @@ var en_default = {
|
|
|
3440
3760
|
"admin.models.form.priceHelp.setBody": "Nothing publishes a price for a model you run yourself, so state what a million tokens costs you to serve. All four fields, or none: leaving output blank would read as zero and price an expensive model as nearly free.",
|
|
3441
3761
|
"admin.models.form.priceHelp.setExample": "input 2.00 \xB7 output 10.00\ncache write 2.50 \xB7 cache read 0.20",
|
|
3442
3762
|
"admin.models.form.priceHelp.free": "Enter 0 in all four to make the model free \u2014 it will never use anyone\u2019s allowance.",
|
|
3763
|
+
"admin.models.form.section.details": "Model details",
|
|
3764
|
+
"admin.models.form.section.detailsHint": "How this model appears to people and agents.",
|
|
3765
|
+
"admin.models.form.section.reasoningHint": "How much the model thinks before it answers.",
|
|
3766
|
+
"admin.models.form.section.priceHint": "What a million tokens costs, for usage limits.",
|
|
3767
|
+
"admin.models.form.reasoning.style": "Style",
|
|
3768
|
+
"admin.models.form.reasoning.alwaysOn": "Always on",
|
|
3769
|
+
"admin.models.form.reasoning.alwaysOnHint": "Agents can\u2019t turn reasoning off.",
|
|
3770
|
+
"admin.models.form.price.listLabel": "List price",
|
|
3771
|
+
"admin.models.form.catalog.loadingProviders": "Loading {providers}\u2026",
|
|
3772
|
+
"admin.models.form.catalog.noMatch.titleIn": "No {provider} model matches \u201C{query}\u201D",
|
|
3773
|
+
"admin.models.form.catalog.noMatch.title": "No model matches \u201C{query}\u201D",
|
|
3774
|
+
"admin.models.form.catalog.noMatch.elsewhereOne": "{provider} has 1 match.",
|
|
3775
|
+
"admin.models.form.catalog.noMatch.elsewhereMany": "{provider} has {count} matches.",
|
|
3776
|
+
"admin.models.form.catalog.noMatch.byId": "A model the catalog doesn\u2019t list yet can still be added by its ID.",
|
|
3777
|
+
"admin.models.form.catalog.noMatch.allText": "Check the spelling, or choose a provider to add a model the catalog doesn\u2019t list by its ID.",
|
|
3778
|
+
"admin.models.form.catalog.noMatch.inline": "No catalog model matches \u201C{query}\u201D. Add it by name:",
|
|
3779
|
+
"admin.models.form.catalog.searchAll": "Search all providers",
|
|
3780
|
+
"admin.models.form.catalog.clearSearch": "Clear search",
|
|
3781
|
+
"admin.models.form.catalog.enterId": "Enter a model ID",
|
|
3782
|
+
"admin.models.form.catalog.failed.title": "{provider}\u2019s models didn\u2019t load",
|
|
3783
|
+
"admin.models.form.catalog.failed.text": "The provider didn\u2019t answer. Your other providers are unaffected.",
|
|
3784
|
+
"admin.models.form.catalog.failed.inline": "{provider}\u2019s models didn\u2019t load.",
|
|
3785
|
+
"admin.models.form.catalog.failed.retry": "Try again",
|
|
3786
|
+
"admin.models.form.catalog.failed.mark": "Didn\u2019t load",
|
|
3787
|
+
"admin.models.form.catalog.providerEmpty.title": "{provider} doesn\u2019t list any models",
|
|
3788
|
+
"admin.models.form.catalog.providerEmpty.text": "Add one by its model ID instead.",
|
|
3789
|
+
"admin.models.form.noProviders.title": "Connect a provider to add models",
|
|
3790
|
+
"admin.models.form.noProviders.text": "Models come from the providers your organization has an API key for \u2014 Anthropic, OpenAI, OpenRouter, Azure or your own OpenAI-compatible endpoint.",
|
|
3791
|
+
"admin.models.form.noProviders.action": "Add provider",
|
|
3792
|
+
"admin.models.form.catalog.search": "Search models by name or ID",
|
|
3793
|
+
"admin.models.form.catalog.all": "All",
|
|
3794
|
+
"admin.models.form.catalog.added": "Added",
|
|
3795
|
+
"admin.models.form.catalog.contextShort": "{value} ctx",
|
|
3796
|
+
"admin.models.form.catalog.contextTitle": "Context window",
|
|
3797
|
+
"admin.models.form.catalog.priceTitle": "List price per 1M tokens \u2014 input / output",
|
|
3798
|
+
"admin.models.form.catalog.image": "Image",
|
|
3799
|
+
"admin.models.form.catalog.embedding": "Embedding",
|
|
3800
|
+
"admin.models.form.catalog.azureHint": "Enter a deployment name",
|
|
3801
|
+
"admin.models.form.catalog.customHint": "Enter a model ID",
|
|
3802
|
+
"admin.models.form.catalog.azureTyped": "Azure deployment \u201C{id}\u201D",
|
|
3803
|
+
"admin.models.form.catalog.customTyped": "{provider} model \u201C{id}\u201D",
|
|
3804
|
+
"admin.models.form.catalog.useId": "Use \u201C{id}\u201D as the model ID",
|
|
3805
|
+
"admin.models.form.catalog.useIdHint": "Not in the {provider} catalog yet",
|
|
3806
|
+
"admin.models.form.review.back": "Back to catalog",
|
|
3807
|
+
"admin.models.form.review.change": "Change",
|
|
3808
|
+
"admin.models.form.review.azureSubtitle": "Azure deployment",
|
|
3809
|
+
"admin.models.form.review.context": "{value} context",
|
|
3810
|
+
"admin.models.form.review.modelId": "Model ID",
|
|
3811
|
+
"admin.models.form.review.modelIdHint": "Exactly as the endpoint expects it.",
|
|
3812
|
+
"admin.models.form.review.slugDerived": "From the name \xB7 used by agents and the API.",
|
|
3813
|
+
"admin.models.form.review.slugHint": "Used by agents and the API.",
|
|
3814
|
+
"admin.models.form.review.slugLocked": "The slug can\u2019t change once agents use it.",
|
|
3815
|
+
"admin.models.form.review.descriptionPlaceholder": "Optional",
|
|
3816
|
+
"admin.models.form.reasoning.label": "Reasoning",
|
|
3817
|
+
"admin.models.form.reasoning.off": "Off",
|
|
3818
|
+
"admin.models.form.reasoning.effortOption": "Effort",
|
|
3819
|
+
"admin.models.form.reasoning.budgetOption": "Budget",
|
|
3820
|
+
"admin.models.form.reasoning.suggested": "Suggested by the catalog.",
|
|
3821
|
+
"admin.models.form.reasoning.table.level": "Level",
|
|
3822
|
+
"admin.models.form.reasoning.table.offered": "Offered",
|
|
3823
|
+
"admin.models.form.reasoning.defaultLabel": "Default",
|
|
3824
|
+
"admin.models.form.reasoning.budgetLabel": "Thinking budget",
|
|
3825
|
+
"admin.models.form.reasoning.tokens": "tokens",
|
|
3826
|
+
"admin.models.form.price.label": "Price",
|
|
3827
|
+
"admin.models.form.price.list": "{input} in \xB7 {output} out",
|
|
3828
|
+
"admin.models.form.price.setCustom": "Customize",
|
|
3829
|
+
"admin.models.form.price.useList": "Use list price",
|
|
3830
|
+
"admin.models.form.price.customHint": "USD per 1M tokens. Overrides the list price \u2014 for example an enterprise discount. 0 in all four makes the model free.",
|
|
3831
|
+
"admin.models.form.price.unknownHint": "USD per 1M tokens. No list price was found for this model \u2014 enter what it costs you, or leave blank to look it up again on save. 0 in all four makes it free.",
|
|
3832
|
+
"admin.models.form.price.selfHostedHint": "USD per 1M tokens. Nothing publishes a price for a model you run yourself \u2014 enter what it costs you to serve, all four or none. 0 in all four makes it free.",
|
|
3833
|
+
"admin.models.form.images.label": "Images",
|
|
3834
|
+
"admin.models.form.problem.model": "Choose a model",
|
|
3835
|
+
"admin.models.form.problem.deployment": "Enter the deployment name",
|
|
3836
|
+
"admin.models.form.problem.name": "Give the model a name",
|
|
3837
|
+
"admin.models.form.problem.slug": "Add a slug",
|
|
3838
|
+
"admin.models.form.problem.slugTaken": "\u201C{slug}\u201D is already used by {name}",
|
|
3839
|
+
"admin.models.form.problem.efforts": "Pick at least one effort level",
|
|
3840
|
+
"admin.models.form.problem.pricePartial": "Fill in all four prices, or leave them all blank",
|
|
3841
|
+
"admin.models.form.problem.priceInvalid": "Prices must be numbers, 0 or more",
|
|
3842
|
+
"admin.models.form.submit.add": "Add model",
|
|
3843
|
+
"admin.models.form.submit.edit": "Save changes",
|
|
3443
3844
|
"admin.usageTiers.edit.level.small": "Small model",
|
|
3444
3845
|
"admin.usageTiers.edit.level.medium": "Medium model",
|
|
3445
3846
|
"admin.usageTiers.edit.level.large": "Large model",
|
|
3446
|
-
"admin.usageTiers.edit.buysProjected": "* Projected \u2014 this organization has no model in that size yet."
|
|
3847
|
+
"admin.usageTiers.edit.buysProjected": "* Projected \u2014 this organization has no model in that size yet.",
|
|
3848
|
+
"platformNav.quickAccess": "Quick access",
|
|
3849
|
+
"platformNav.filterAll": "All",
|
|
3850
|
+
"platformNav.platformApps": "Platform Applications",
|
|
3851
|
+
"platformNav.fronteraApps": "Applications",
|
|
3852
|
+
"platformNav.reorderInstructions": "Press Space to pick up an application. Use arrow keys to move it within its group, Space to drop, or Escape to cancel.",
|
|
3853
|
+
"platformNav.reorderStart": "Picked up {name}.",
|
|
3854
|
+
"platformNav.reorderPosition": "{name}, position {position} of {count}.",
|
|
3855
|
+
"platformNav.reorderEnd": "Dropped {name}.",
|
|
3856
|
+
"platformNav.reorderCancel": "Reordering {name} cancelled.",
|
|
3857
|
+
"platformNav.applications": "Applications",
|
|
3858
|
+
"platformNav.catalogDescription": "Search and open an application.",
|
|
3859
|
+
"platformNav.search": "Search applications\u2026",
|
|
3860
|
+
"platformNav.resolvingWorkspace": "Finding your workspace\u2026",
|
|
3861
|
+
"platformNav.noWorkspace": "No workspace is available to you, so no applications can open.",
|
|
3862
|
+
"platformNav.goToOrganization": "Go to Organization Home",
|
|
3863
|
+
"platformNav.loading": "Loading applications\u2026",
|
|
3864
|
+
"platformNav.loadError": "Some applications could not be loaded.",
|
|
3865
|
+
"platformNav.retry": "Retry",
|
|
3866
|
+
"platformNav.empty": "No applications are available in this workspace.",
|
|
3867
|
+
"platformNav.noMatches": "No applications match your search.",
|
|
3868
|
+
"platformNav.applicationsIntro": "Open an application assigned to you in this workspace.",
|
|
3869
|
+
"platformNav.deniedNotice": "You don't have access to that page.",
|
|
3870
|
+
"platformNav.backToApplications": "Back to Applications",
|
|
3871
|
+
"platformNav.noneAssigned": "No applications have been assigned to you. Ask your administrator for access.",
|
|
3872
|
+
"platformNav.accessError": "Your access to this workspace could not be confirmed.",
|
|
3873
|
+
"platformNav.pin": "Pin",
|
|
3874
|
+
"platformNav.unpin": "Unpin",
|
|
3875
|
+
"platformNav.closeOthers": "Close other apps",
|
|
3876
|
+
"platformNav.closeBelow": "Close apps below",
|
|
3877
|
+
"platformNav.close": "Close",
|
|
3878
|
+
"platformNav.openStatus": "Open",
|
|
3879
|
+
"platformNav.activeStatus": "Active",
|
|
3880
|
+
"platformNav.pinned": "Pinned",
|
|
3881
|
+
"platformNav.openApps": "Open applications",
|
|
3882
|
+
"platformNav.expand": "Expand platform navigation",
|
|
3883
|
+
"platformNav.collapse": "Collapse platform navigation",
|
|
3884
|
+
"platformNav.navigation": "Platform navigation",
|
|
3885
|
+
"platformNav.appMenu": "Options for {name}",
|
|
3886
|
+
"platformNav.skip": "Skip to content",
|
|
3887
|
+
"platformNav.description.chat": "Work with agents in conversation.",
|
|
3888
|
+
"platformNav.description.agents": "Configure, equip, and manage agents.",
|
|
3889
|
+
"platformNav.description.workflows": "Design processes and follow their runs.",
|
|
3890
|
+
"platformNav.description.functions": "Build and run reusable functions.",
|
|
3891
|
+
"platformNav.description.blueprint": "Explore and model your business data.",
|
|
3892
|
+
"platformNav.description.apps": "Build, publish, and manage your apps.",
|
|
3893
|
+
"platformNav.description.console": "Review metrics, traces, and evaluations.",
|
|
3894
|
+
"platformNav.description.forge": "Develop in your connected workspace.",
|
|
3895
|
+
"platformNav.description.home": "Return to your workspace.",
|
|
3896
|
+
"platformNav.allApplications": "All applications",
|
|
3897
|
+
"platformNav.filterApplications": "Filter applications",
|
|
3898
|
+
"platformNav.noPins": "Pin an application to keep it in your sidebar.",
|
|
3899
|
+
"platformNav.noOpenApps": "Applications you open will appear here.",
|
|
3900
|
+
"platformNav.clear": "Clear",
|
|
3901
|
+
"platformNav.clearSearch": "Clear application search",
|
|
3902
|
+
"platformNav.resultCount": "Applications found: {count}",
|
|
3903
|
+
"platformNav.closeLauncher": "Close applications",
|
|
3904
|
+
"platformNav.leaveTitle": "Save changes before leaving?",
|
|
3905
|
+
"platformNav.leaveDescription": "These applications have unsaved changes.",
|
|
3906
|
+
"platformNav.unknownChanges": "Some applications cannot report unsaved changes. Return to them to check your work, or discard their current session.",
|
|
3907
|
+
"platformNav.appConnectionInterrupted": "Connection interrupted. Your current app is still open. You can retry with Reload app.",
|
|
3908
|
+
"platformNav.appNavigationUnsupported": "This app cannot change views without reloading. Your current view is still open.",
|
|
3909
|
+
"platformNav.appNavigationTimeout": "The app did not confirm the requested view. Your current session is still open.",
|
|
3910
|
+
"platformNav.keepCurrentView": "Keep current view",
|
|
3911
|
+
"platformNav.reloadApp": "Reload app",
|
|
3912
|
+
"platformNav.shortcutsTitle": "Keyboard shortcuts",
|
|
3913
|
+
"platformNav.shortcutsDescription": "Shortcuts available in the current context.",
|
|
3914
|
+
"platformNav.noShortcuts": "No shortcuts are available here.",
|
|
3915
|
+
"platformNav.applicationSequences": "Switch applications: press G, then the indicated letter.",
|
|
3916
|
+
"platformNav.cancel": "Cancel",
|
|
3917
|
+
"platformNav.discardChanges": "Discard changes",
|
|
3918
|
+
"platformNav.saveAndContinue": "Save and continue",
|
|
3919
|
+
"platformNav.saving": "Saving\u2026",
|
|
3920
|
+
"platformNav.saveFailed": "Changes could not be saved.",
|
|
3921
|
+
"platformNav.workflowDraft": "{name} \xB7 Draft v{version}",
|
|
3922
|
+
"platformNav.draftLoading": "The workflow is still loading. Try again when it is ready.",
|
|
3923
|
+
"platformNav.draftChanged": "The draft changed while saving. Review the latest changes and try again.",
|
|
3924
|
+
"platformNav.agentUpdating": "This agent is still being updated. Wait for it to finish, then try again.",
|
|
3925
|
+
"platformNav.agentRevisionMissing": "Reopen this agent to load its draft revision before saving.",
|
|
3926
|
+
"platformNav.agentSaveFailed": "Failed to save agent draft. Your local edits are preserved.",
|
|
3927
|
+
"admin.usageTiers.section.subtitle": "One credit allowance per person, per window. People are assigned to tiers in Members.",
|
|
3928
|
+
"admin.usageTiers.rules.summary": "Allowances run per {window}, {tz}",
|
|
3929
|
+
"admin.usageTiers.rules.burst": "burst checked over a rolling {len}",
|
|
3930
|
+
"admin.usageTiers.rules.noBurst": "no burst window",
|
|
3931
|
+
"admin.usageTiers.rules.edit": "Edit rules",
|
|
3932
|
+
"admin.usageTiers.rules.dialogTitle": "When allowances reset",
|
|
3933
|
+
"admin.usageTiers.rules.dialogDescription": "Shared by every tier, so the allowances can be compared with each other.",
|
|
3934
|
+
"admin.usageTiers.rules.tzShort": "00:00 UTC is mid-working-day in {tz}",
|
|
3935
|
+
"admin.usageTiers.table.tier": "Tier",
|
|
3936
|
+
"admin.usageTiers.table.assigned": "Assigned",
|
|
3937
|
+
"admin.usageTiers.table.assignedHelp": "People with an explicit assignment. Anyone unassigned falls to the default tier, so the default's real reach is larger than its count.",
|
|
3938
|
+
"admin.usageTiers.table.allowance": "Allowance",
|
|
3939
|
+
"admin.usageTiers.table.allowanceHelp": "Credits granted once per window. The line beneath is what that buys on this organization's own measured usage.",
|
|
3940
|
+
"admin.usageTiers.table.burst": "Burst",
|
|
3941
|
+
"admin.usageTiers.table.warnAt": "Warn at",
|
|
3942
|
+
"admin.usageTiers.table.onExhaust": "At the limit",
|
|
3943
|
+
"admin.usageTiers.table.buys": "\u2248 {n} typical messages",
|
|
3944
|
+
"admin.usageTiers.table.plusUnassigned": "+ everyone unassigned",
|
|
3945
|
+
"admin.usageTiers.table.actions": "Tier actions",
|
|
3946
|
+
"admin.usageTiers.delete.title": "Delete {tier}?",
|
|
3947
|
+
"admin.usageTiers.delete.body": "Anyone assigned to it falls back to the default tier on their next message. This cannot be undone.",
|
|
3948
|
+
"admin.usageTiers.dryRun.bannerStopped": "{n} of {total} people would have been stopped by these allowances last month, and {warned} warned.",
|
|
3949
|
+
"admin.usageTiers.dryRun.bannerWarned": "{warned} of {total} people would have been warned last month. None would have been stopped.",
|
|
3950
|
+
"admin.usageTiers.dryRun.bannerClear": "All clear",
|
|
3951
|
+
"admin.usageTiers.dryRun.bannerClearBody": "No one would have been stopped or warned by these allowances last month.",
|
|
3952
|
+
"admin.usageTiers.dryRun.review": "Review",
|
|
3953
|
+
"admin.usageTiers.dryRun.dialogTitle": "Would have been stopped",
|
|
3954
|
+
"admin.usageTiers.dryRun.replayed": "Replayed over {from} \u2013 {to}, {tz}. The usage is real; the allowances are the ones set here.",
|
|
3955
|
+
"admin.usageTiers.dryRun.usedOfAllowed": "Used / allowed",
|
|
3956
|
+
"admin.usageTiers.dryRun.raiseTier": "Raise {tier}",
|
|
3957
|
+
"admin.usageTiers.dryRun.warnedNotListed": "{warned} more people would have been warned but not stopped. The dry run reports that as a count only, so they cannot be listed yet.",
|
|
3958
|
+
"chatApps.create.title": "New app",
|
|
3959
|
+
"chatApps.create.choose": "Choose what kind of app to create.",
|
|
3960
|
+
"chatApps.create.chat.title": "Chat App",
|
|
3961
|
+
"chatApps.create.chat.description": "Configure a hosted conversation using Frontera Agents.",
|
|
3962
|
+
"chatApps.create.chat.hint": "A focused conversation around one or more of your Agents, with its own audience, features and history.",
|
|
3963
|
+
"chatApps.create.code.title": "Custom App",
|
|
3964
|
+
"chatApps.create.code.description": "Build a tailored operational interface with the Frontera SDK.",
|
|
3965
|
+
"chatApps.create.accent": "Accent",
|
|
3966
|
+
"chatApps.create.back": "Back",
|
|
3967
|
+
"chatApps.preview.badge": "Draft preview",
|
|
3968
|
+
"chatApps.preview.liveVersion": "Your audience has version {version}",
|
|
3969
|
+
"chatApps.preview.notPublished": "Not published yet",
|
|
3970
|
+
"chatApps.preview.saving": "Saving changes\u2026",
|
|
3971
|
+
"chatApps.preview.unsaved": "Unsaved changes",
|
|
3972
|
+
"chatApps.preview.saveFailed": "Changes not saved",
|
|
3973
|
+
"chatApps.state.noVersion.title": "This app is not published yet",
|
|
3974
|
+
"chatApps.state.noVersion.detail": "Its author has not published a version. Once they do, it will open here.",
|
|
3975
|
+
"chatApps.state.denied.title": "You can't open this app",
|
|
3976
|
+
"chatApps.state.denied.detail": "Your access may have been removed, or the app is disabled.",
|
|
3977
|
+
"chatApps.state.error.title": "Can't open this app",
|
|
3978
|
+
"chatApps.state.error.detail": "Something went wrong while loading it.",
|
|
3979
|
+
"chatApps.state.retry": "Try again",
|
|
3980
|
+
"chatApps.state.emptyRoster": "None of this app's Agents are available to you right now.",
|
|
3981
|
+
"chatApps.sidebar.open": "Open navigation",
|
|
3982
|
+
"chatApps.sidebar.noConversations": "No conversations yet.",
|
|
3983
|
+
"chatApps.sidebar.loadError": "Couldn't load conversations.",
|
|
3984
|
+
"chatApps.newSession.suggestions": "Suggested prompts",
|
|
3985
|
+
"chatApps.newSession.failed": "Couldn't start the conversation",
|
|
3986
|
+
"chatApps.editor.back": "Back to apps",
|
|
3987
|
+
"chatApps.editor.openLive": "Open app",
|
|
3988
|
+
"chatApps.editor.publish": "Publish",
|
|
3989
|
+
"chatApps.editor.publishing": "Publishing\u2026",
|
|
3990
|
+
"chatApps.editor.published": "Version {version} is live",
|
|
3991
|
+
"chatApps.editor.publishBlocked": "Fix the problems below before publishing",
|
|
3992
|
+
"chatApps.editor.saving": "Saving\u2026",
|
|
3993
|
+
"chatApps.editor.saved": "Draft saved",
|
|
3994
|
+
"chatApps.editor.saveFailed": "Couldn't save the draft",
|
|
3995
|
+
"chatApps.editor.unsaved": "Unsaved changes",
|
|
3996
|
+
"chatApps.editor.live": "Live: version {version}",
|
|
3997
|
+
"chatApps.editor.notPublished": "Not published",
|
|
3998
|
+
"chatApps.editor.tabs.overview": "Overview",
|
|
3999
|
+
"chatApps.editor.tabs.experience": "Experience",
|
|
4000
|
+
"chatApps.editor.tabs.agents": "Agents",
|
|
4001
|
+
"chatApps.editor.tabs.access": "Access",
|
|
4002
|
+
"chatApps.editor.tabs.distribution": "Distribution",
|
|
4003
|
+
"chatApps.editor.tabs.versions": "Versions",
|
|
4004
|
+
"chatApps.editor.tabs.preview": "Preview",
|
|
4005
|
+
"chatApps.editor.findings": "Before you publish",
|
|
4006
|
+
"chatApps.editor.overview.identity": "Identity",
|
|
4007
|
+
"chatApps.editor.overview.identityHint": "Name, description and icon are shared with the launcher and Home.",
|
|
4008
|
+
"chatApps.editor.overview.edit": "Edit details",
|
|
4009
|
+
"chatApps.editor.overview.status": "Status",
|
|
4010
|
+
"chatApps.editor.overview.accent": "Accent",
|
|
4011
|
+
"chatApps.editor.overview.noAccent": "None",
|
|
4012
|
+
"chatApps.editor.experience.welcomeTitle": "Welcome title",
|
|
4013
|
+
"chatApps.editor.experience.welcomeMessage": "Welcome message",
|
|
4014
|
+
"chatApps.editor.experience.prompts": "Suggested prompts",
|
|
4015
|
+
"chatApps.editor.experience.promptsHint": "One per line. Shown on the welcome view; up to 8.",
|
|
4016
|
+
"chatApps.editor.experience.context": "App context",
|
|
4017
|
+
"chatApps.editor.experience.contextHint": "Describes the situation and audience the Agent is used in. Supplements the Agent's instructions; never replaces them.",
|
|
4018
|
+
"chatApps.editor.experience.features": "Features",
|
|
4019
|
+
"chatApps.editor.experience.featuresHint": "Requests, not grants: a feature only appears where the Agent, the person's permissions and policy also allow it.",
|
|
4020
|
+
"chatApps.editor.feature.fileUpload": "File upload",
|
|
4021
|
+
"chatApps.editor.feature.webBrowsing": "Web browsing",
|
|
4022
|
+
"chatApps.editor.feature.voice": "Voice",
|
|
4023
|
+
"chatApps.editor.feature.artifacts": "Images and artifacts",
|
|
4024
|
+
"chatApps.editor.feature.canvas": "Canvas and rich text",
|
|
4025
|
+
"chatApps.editor.feature.followUps": "Follow-up suggestions",
|
|
4026
|
+
"chatApps.editor.feature.workDetails": "Work details and progress",
|
|
4027
|
+
"chatApps.editor.feature.overview": "Conversation overview",
|
|
4028
|
+
"chatApps.editor.feature.fork": "Fork conversation",
|
|
4029
|
+
"chatApps.editor.feature.share": "Share",
|
|
4030
|
+
"chatApps.editor.feature.export": "Export",
|
|
4031
|
+
"chatApps.editor.feature.schedule": "Schedule work",
|
|
4032
|
+
"chatApps.editor.feature.labels": "Labels",
|
|
4033
|
+
"chatApps.editor.feature.feedback": "Feedback",
|
|
4034
|
+
"chatApps.editor.feature.humanHandoff": "Human handoff",
|
|
4035
|
+
"chatApps.editor.conversation.title": "Conversations",
|
|
4036
|
+
"chatApps.editor.conversation.multipleSessions": "Multiple conversations",
|
|
4037
|
+
"chatApps.editor.conversation.multipleSessionsHint": "Off keeps one conversation per person.",
|
|
4038
|
+
"chatApps.editor.conversation.history": "Show history",
|
|
4039
|
+
"chatApps.editor.conversation.allowClear": "People can clear their history",
|
|
4040
|
+
"chatApps.editor.conversation.approvalMode": "Default approval mode",
|
|
4041
|
+
"chatApps.editor.conversation.approvalModeHint": "Never wider than the person, the Agent or the workspace permits.",
|
|
4042
|
+
"chatApps.editor.memory.title": "Memory",
|
|
4043
|
+
"chatApps.editor.memory.enabled": "Long-term memory",
|
|
4044
|
+
"chatApps.editor.memory.enabledHint": "Memory in this app is separate from every other app, even with the same Agent.",
|
|
4045
|
+
"chatApps.editor.memory.userCanInspect": "People can inspect their memory",
|
|
4046
|
+
"chatApps.editor.memory.userCanClear": "People can clear their memory",
|
|
4047
|
+
"chatApps.editor.agents.roster": "Roster",
|
|
4048
|
+
"chatApps.editor.agents.rosterHint": "The app references Agents; it never redefines them. Each is pinned to its published version when you publish.",
|
|
4049
|
+
"chatApps.editor.agents.mode": "Roster mode",
|
|
4050
|
+
"chatApps.editor.agents.single": "Single Agent",
|
|
4051
|
+
"chatApps.editor.agents.multiple": "Multiple Agents",
|
|
4052
|
+
"chatApps.editor.agents.add": "Add Agent",
|
|
4053
|
+
"chatApps.editor.agents.pick": "Pick an Agent",
|
|
4054
|
+
"chatApps.editor.agents.default": "Default",
|
|
4055
|
+
"chatApps.editor.agents.makeDefault": "Make default",
|
|
4056
|
+
"chatApps.editor.agents.remove": "Remove",
|
|
4057
|
+
"chatApps.editor.agents.label": "Label in this app",
|
|
4058
|
+
"chatApps.editor.agents.description": "Description in this app",
|
|
4059
|
+
"chatApps.editor.agents.version": "Published version {version}",
|
|
4060
|
+
"chatApps.editor.agents.unpublished": "No published version",
|
|
4061
|
+
"chatApps.editor.agents.agentModeOffered": "Offers Agent mode",
|
|
4062
|
+
"chatApps.editor.agents.empty": "No Agents yet. Add at least one.",
|
|
4063
|
+
"chatApps.editor.agents.allowSwitching": "People can choose an Agent",
|
|
4064
|
+
"chatApps.editor.agents.allowMentions": "@Agent mentions",
|
|
4065
|
+
"chatApps.editor.agents.agentMode": "Agent mode",
|
|
4066
|
+
"chatApps.editor.agents.agentModeHint": "The persistent conversation, for roster Agents that offer it.",
|
|
4067
|
+
"chatApps.editor.access.title": "Audience",
|
|
4068
|
+
"chatApps.editor.access.hint": "Live: changes take effect on the next message, without a publish. A rollback never restores removed access.",
|
|
4069
|
+
"chatApps.editor.access.workspace": "All workspace members",
|
|
4070
|
+
"chatApps.editor.access.users": "Selected people",
|
|
4071
|
+
"chatApps.editor.access.addUser": "Add a person",
|
|
4072
|
+
"chatApps.editor.access.nobody": "Nobody can open this app yet.",
|
|
4073
|
+
"chatApps.editor.access.save": "Save access",
|
|
4074
|
+
"chatApps.editor.access.saved": "Access updated",
|
|
4075
|
+
"chatApps.editor.access.external": "External audiences, guest and public access arrive with standalone distribution.",
|
|
4076
|
+
"chatApps.editor.distribution.platform": "Available inside Frontera",
|
|
4077
|
+
"chatApps.editor.distribution.platformHint": "Off takes the app out of the launcher and refuses its next message \u2014 a live kill switch, not a version.",
|
|
4078
|
+
"chatApps.editor.distribution.later": "Standalone URL, custom domain and widget follow in later phases.",
|
|
4079
|
+
"chatApps.editor.versions.hint": "Publishing creates an immutable version and moves the live pointer. Promoting an earlier version is the rollback.",
|
|
4080
|
+
"chatApps.editor.versions.manage": "Manage versions",
|
|
4081
|
+
"chatApps.editor.versions.empty": "Nothing published yet.",
|
|
4082
|
+
"chatApps.editor.versions.live": "Live",
|
|
4083
|
+
"chatApps.builtin.redirect": "This is the built-in Chat. It is not configured here \u2014 opening Chat\u2026",
|
|
4084
|
+
"chatApps.editor.navLabel": "App sections",
|
|
4085
|
+
"chatApps.editor.nav.configure": "Configure",
|
|
4086
|
+
"chatApps.editor.nav.deploy": "Deploy",
|
|
4087
|
+
"chatApps.editor.nav.test": "Test",
|
|
4088
|
+
"chatApps.editor.nav.hasErrors": "Next step here",
|
|
4089
|
+
"chatApps.editor.section.overview": "What this app is, and where it stands.",
|
|
4090
|
+
"chatApps.editor.section.experience": "What people see and can do inside the app.",
|
|
4091
|
+
"chatApps.editor.section.agents": "Which Agents answer here, and how.",
|
|
4092
|
+
"chatApps.editor.section.access": "Who can open the app. Changes apply immediately.",
|
|
4093
|
+
"chatApps.editor.section.distribution": "Where the app is reachable. Changes apply immediately.",
|
|
4094
|
+
"chatApps.editor.section.versions": "Every published version, and which one is live.",
|
|
4095
|
+
"chatApps.editor.section.preview": "Try the draft before publishing it.",
|
|
4096
|
+
"chatApps.editor.overview.name": "Name",
|
|
4097
|
+
"chatApps.editor.overview.description": "Description",
|
|
4098
|
+
"chatApps.editor.overview.descriptionHint": "One line under the name in the launcher and on Home.",
|
|
4099
|
+
"chatApps.editor.overview.icon": "Icon",
|
|
4100
|
+
"chatApps.editor.overview.iconHint": "A Frontera icon for the launcher, dock and cards.",
|
|
4101
|
+
"chatApps.editor.overview.pickIcon": "Pick",
|
|
4102
|
+
"chatApps.editor.overview.accentHint": "Colours the composer and links inside the app. Published with the next version.",
|
|
4103
|
+
"chatApps.editor.overview.statusHint": "Publishing creates an immutable version; people always open the live one.",
|
|
4104
|
+
"chatApps.editor.overview.liveSince": "Published {when}",
|
|
4105
|
+
"chatApps.editor.overview.notPublishedHint": "Nobody can open the app until a version is published.",
|
|
4106
|
+
"chatApps.editor.overview.draft": "Draft",
|
|
4107
|
+
"chatApps.editor.overview.address": "Address",
|
|
4108
|
+
"chatApps.editor.experience.welcome": "Welcome",
|
|
4109
|
+
"chatApps.editor.experience.welcomeHint": "The first thing a person sees before their first message.",
|
|
4110
|
+
"chatApps.editor.experience.welcomeTitlePlaceholder": "How can we help today?",
|
|
4111
|
+
"chatApps.editor.experience.welcomeMessagePlaceholder": "A sentence or two about what this assistant is for.",
|
|
4112
|
+
"chatApps.editor.experience.promptsPlaceholder": "Where is my order?\nHow do I reset my password?",
|
|
4113
|
+
"chatApps.editor.experience.contextLabel": "Situation and audience",
|
|
4114
|
+
"chatApps.editor.experience.contextPlaceholder": "You are helping customers of Acme's online store. Be concise; escalate billing disputes to a person.",
|
|
4115
|
+
"chatApps.editor.feature.fileUpload.hint": "Attach files to a message.",
|
|
4116
|
+
"chatApps.editor.feature.webBrowsing.hint": "Let the Agent read the web when it needs to.",
|
|
4117
|
+
"chatApps.editor.feature.voice.hint": "Talk instead of type.",
|
|
4118
|
+
"chatApps.editor.feature.artifacts.hint": "Images, documents and other outputs the Agent produces.",
|
|
4119
|
+
"chatApps.editor.feature.canvas.hint": "Editable documents and rich formatting in replies.",
|
|
4120
|
+
"chatApps.editor.feature.followUps.hint": "Suggested next questions after each reply.",
|
|
4121
|
+
"chatApps.editor.feature.workDetails.hint": "Show the steps the Agent takes while it works.",
|
|
4122
|
+
"chatApps.editor.feature.overview.hint": "A summary panel of what a conversation covered.",
|
|
4123
|
+
"chatApps.editor.feature.fork.hint": "Branch a conversation from any message.",
|
|
4124
|
+
"chatApps.editor.feature.share.hint": "Share a conversation by link.",
|
|
4125
|
+
"chatApps.editor.feature.export.hint": "Download a conversation as Markdown, JSON or PDF.",
|
|
4126
|
+
"chatApps.editor.feature.schedule.hint": "Turn a request into scheduled work.",
|
|
4127
|
+
"chatApps.editor.feature.labels.hint": "Organise conversations with labels.",
|
|
4128
|
+
"chatApps.editor.feature.feedback.hint": "Rate replies and say what was wrong.",
|
|
4129
|
+
"chatApps.editor.feature.humanHandoff.hint": "Hand the conversation to a person. Routing arrives in a later phase.",
|
|
4130
|
+
"chatApps.editor.conversation.hint": "How conversations start, persist and get approved.",
|
|
4131
|
+
"chatApps.editor.conversation.historyHint": "Off hides the conversation list; people still return to the current one.",
|
|
4132
|
+
"chatApps.editor.conversation.allowClearHint": "Deleting a conversation or clearing the Agent conversation.",
|
|
4133
|
+
"chatApps.editor.conversation.mode.ask": "Ask",
|
|
4134
|
+
"chatApps.editor.conversation.mode.auto": "Auto",
|
|
4135
|
+
"chatApps.editor.conversation.mode.full": "Full",
|
|
4136
|
+
"chatApps.editor.memory.enabledRowHint": "Off means nothing new is remembered; existing memory stays put.",
|
|
4137
|
+
"chatApps.editor.agents.moveUp": "Move up",
|
|
4138
|
+
"chatApps.editor.agents.moveDown": "Move down",
|
|
4139
|
+
"chatApps.editor.agents.behaviour": "Behaviour",
|
|
4140
|
+
"chatApps.editor.agents.behaviourHint": "What people can do with the roster. Nothing here grants an Agent more than it already allows.",
|
|
4141
|
+
"chatApps.editor.agents.allowSwitchingHint": "Pick a different roster Agent when starting a conversation.",
|
|
4142
|
+
"chatApps.editor.agents.allowMentionsHint": "Consult another roster Agent from inside an Agent conversation.",
|
|
4143
|
+
"chatApps.editor.access.workspaceHint": "Everyone in this workspace, now and later.",
|
|
4144
|
+
"chatApps.editor.distribution.hint": "The same published app, available in more places.",
|
|
4145
|
+
"chatApps.editor.distribution.standalone": "Standalone URL",
|
|
4146
|
+
"chatApps.editor.distribution.standaloneHint": "A Frontera-hosted address outside the platform shell, with sign-in.",
|
|
4147
|
+
"chatApps.editor.distribution.widget": "Embedded widget",
|
|
4148
|
+
"chatApps.editor.distribution.widgetHint": "Drop the app into another site, with allowed origins.",
|
|
4149
|
+
"chatApps.editor.distribution.soon": "Later phase",
|
|
4150
|
+
"chatApps.editor.findings.blocking": "Before it can go live",
|
|
4151
|
+
"chatApps.editor.findings.warnings": "A few things worth a look",
|
|
4152
|
+
"chatApps.editor.fix.addAgent": "Add an Agent",
|
|
4153
|
+
"chatApps.editor.fix.agents": "Review Agents",
|
|
4154
|
+
"chatApps.editor.fix.experience": "Review Experience",
|
|
4155
|
+
"chatApps.editor.notPublishedTip": "Draft \u2014 not published yet. Publish to make it available to its audience.",
|
|
4156
|
+
"chatApps.editor.setup.roster.title": "Choose who answers",
|
|
4157
|
+
"chatApps.editor.setup.roster.description": "Pick one or more of your Agents. They keep their own instructions, tools and knowledge \u2014 this app only decides how they appear and who can reach them.",
|
|
4158
|
+
"chatApps.editor.setup.generic.title": "One more thing before it goes live",
|
|
4159
|
+
"chatApps.editor.setup.preview.agentA": "Support Agent",
|
|
4160
|
+
"chatApps.editor.setup.preview.roleA": "Answers routine questions",
|
|
4161
|
+
"chatApps.editor.setup.preview.agentB": "Billing Agent",
|
|
4162
|
+
"chatApps.editor.setup.preview.roleB": "Invoices and refunds",
|
|
4163
|
+
"chatApps.editor.agents.search": "Search Agents",
|
|
4164
|
+
"chatApps.editor.agents.loading": "Loading Agents\u2026",
|
|
4165
|
+
"chatApps.editor.agents.noResults": "No Agents match.",
|
|
4166
|
+
"chatApps.editor.agents.onRoster": "On the roster",
|
|
4167
|
+
"chatApps.editor.agents.addToRoster": "Add to roster",
|
|
4168
|
+
"chatApps.editor.agents.noDescription": "No description.",
|
|
4169
|
+
"chatApps.editor.agents.unpublishedHint": "Publish this Agent in the Console before publishing the app; the roster pins to a published version.",
|
|
4170
|
+
"chatApps.editor.agents.selectHint": "Pick an Agent on the left to see what it does.",
|
|
4171
|
+
"chatApps.editor.agents.modeHint": "One Agent answers everything, or people pick from several.",
|
|
4172
|
+
"chatApps.editor.agents.customize": "Customize",
|
|
4173
|
+
"chatApps.editor.agents.customizeHint": "Only how this Agent appears in this app. Its name, instructions and tools are unchanged.",
|
|
4174
|
+
"chatApps.editor.agents.actions": "Actions for {name}",
|
|
4175
|
+
"chatApps.editor.agents.removeFromRoster": "Remove from roster",
|
|
4176
|
+
"chatApps.editor.agents.preview.expand": "Read all",
|
|
4177
|
+
"chatApps.editor.agents.preview.collapse": "Show less",
|
|
4178
|
+
"chatApps.editor.agents.preview.noInstructions": "This Agent has no instructions yet.",
|
|
4179
|
+
"chatApps.editor.agents.preview.noSkills": "No skills bound.",
|
|
4180
|
+
"appNavigation.apps": "Apps",
|
|
4181
|
+
"appNavigation.location": "Application location",
|
|
4182
|
+
"appNavigation.parents": "Parent pages",
|
|
4183
|
+
"appNavigation.sections": "Application sections",
|
|
4184
|
+
"appNavigation.overview": "Overview",
|
|
4185
|
+
"appNavigation.build": "Build",
|
|
4186
|
+
"appNavigation.versions": "Versions",
|
|
4187
|
+
"appNavigation.open": "Open app",
|
|
4188
|
+
"appNavigation.settings": "Settings",
|
|
4189
|
+
"appNavigation.search": "Search apps",
|
|
4190
|
+
"appNavigation.archived": "Show archived",
|
|
4191
|
+
"appNavigation.new": "New app",
|
|
4192
|
+
"appNavigation.unpublished": "Not published",
|
|
4193
|
+
"appNavigation.live": "Live",
|
|
4194
|
+
"appNavigation.description": "Description",
|
|
4195
|
+
"appNavigation.address": "Address",
|
|
4196
|
+
"appNavigation.setAddress": "Set custom address",
|
|
4197
|
+
"appNavigation.changeAddress": "Change",
|
|
4198
|
+
"appNavigation.currentVersion": "Live version",
|
|
4199
|
+
"appNavigation.created": "Version created",
|
|
4200
|
+
"appNavigation.source": "Source",
|
|
4201
|
+
"appNavigation.emptySearch": "No apps match your search",
|
|
4202
|
+
"appNavigation.retry": "Retry",
|
|
4203
|
+
"appNavigation.backResults": "Back to results",
|
|
4204
|
+
"appNavigation.exitPreview": "Exit preview",
|
|
4205
|
+
"appNavigation.loading": "Loading\u2026",
|
|
4206
|
+
"appNavigation.manage": "Manage app",
|
|
4207
|
+
"appNavigation.buildApp": "Build app",
|
|
4208
|
+
"appNavigation.noVersion": "Build and publish a version to make this app available.",
|
|
4209
|
+
"appNavigation.status": "Status",
|
|
4210
|
+
"appNavigation.updated": "Updated {time}",
|
|
4211
|
+
"appNavigation.noApps": "No apps yet",
|
|
4212
|
+
"appNavigation.noAppsDescription": "Create an app for your workspace.",
|
|
4213
|
+
"appNavigation.openWorkflow": "Open workflow",
|
|
4214
|
+
"appNavigation.runs": "Runs",
|
|
4215
|
+
"appNavigation.workflows": "Workflows",
|
|
4216
|
+
"appNavigation.hideArchived": "Hide archived",
|
|
4217
|
+
"appNavigation.archivedStatus": "Archived",
|
|
4218
|
+
"appNavigation.preview": "Preview",
|
|
4219
|
+
"appNavigation.notLive": "Not live",
|
|
4220
|
+
"documentation.title": "Documentation",
|
|
4221
|
+
"documentation.browse": "Browse guides",
|
|
4222
|
+
"documentation.search": "Search documentation",
|
|
4223
|
+
"documentation.searchPlaceholder": "Search by task or product term",
|
|
4224
|
+
"documentation.searchHint": "Type at least two characters to search titles, headings and content.",
|
|
4225
|
+
"documentation.searchEmpty": "No matching guides. Try the task or the product term.",
|
|
4226
|
+
"documentation.onThisPage": "On this page",
|
|
4227
|
+
"documentation.related": "Related guides",
|
|
4228
|
+
"documentation.requires": "Requires",
|
|
4229
|
+
"documentation.platform": "Platform",
|
|
4230
|
+
"documentation.reviewed": "Reviewed",
|
|
4231
|
+
"documentation.revision": "Documentation revision",
|
|
4232
|
+
"documentation.downloadMarkdown": "Download Markdown",
|
|
4233
|
+
"documentation.exportPage": "Export this guide",
|
|
4234
|
+
"documentation.downloadFailed": "The download is unavailable. Reload this guide and try again.",
|
|
4235
|
+
"documentation.loading": "Loading documentation",
|
|
4236
|
+
"documentation.retry": "Try again",
|
|
4237
|
+
"documentation.reload": "Reload",
|
|
4238
|
+
"documentation.selectOrganization": "Select an organization to read its documentation.",
|
|
4239
|
+
"documentation.unavailable": "This guide is unavailable for your access or installed version.",
|
|
4240
|
+
"documentation.serviceUnavailable": "Documentation is not available for this release. Ask an administrator to install a compatible documentation bundle.",
|
|
4241
|
+
"documentation.changed": "Documentation was updated. Reload to read the current revision.",
|
|
4242
|
+
"documentation.error": "Documentation could not be loaded. Check your connection and try again.",
|
|
4243
|
+
"documentation.helpForPage": "Help for this page",
|
|
4244
|
+
"documentation.availability.released": "Released",
|
|
4245
|
+
"documentation.availability.conditional": "Conditional",
|
|
4246
|
+
"documentation.availability.proposed": "Proposed",
|
|
4247
|
+
"documentation.availability.historical": "Historical",
|
|
4248
|
+
"documentation.group.start": "Getting Started",
|
|
4249
|
+
"documentation.group.platform": "Platform",
|
|
4250
|
+
"documentation.group.chat": "Chat",
|
|
4251
|
+
"documentation.group.agents": "Agents",
|
|
4252
|
+
"documentation.group.resources": "Resources",
|
|
4253
|
+
"documentation.group.blueprint": "Blueprint",
|
|
4254
|
+
"documentation.group.apps": "Apps",
|
|
4255
|
+
"documentation.group.workflows": "Workflows",
|
|
4256
|
+
"documentation.group.control": "Control",
|
|
4257
|
+
"documentation.group.settings": "Settings",
|
|
4258
|
+
"documentation.group.integrate": "Integrate",
|
|
4259
|
+
"documentation.group.operate": "Operate",
|
|
4260
|
+
"documentation.group.delivery": "Delivery",
|
|
4261
|
+
"documentation.group.adoption": "Adoption",
|
|
4262
|
+
"documentation.group.help": "Help",
|
|
4263
|
+
"documentation.group.releases": "Releases",
|
|
4264
|
+
"documentation.group.templates": "Templates",
|
|
4265
|
+
"documentation.group.internal": "Internal",
|
|
4266
|
+
"documentation.section": "Section",
|
|
4267
|
+
"documentation.pager": "Previous and next guide",
|
|
4268
|
+
"documentation.previous": "Previous",
|
|
4269
|
+
"documentation.next": "Next",
|
|
4270
|
+
"documentation.copy": "Copy",
|
|
4271
|
+
"documentation.copied": "Copied",
|
|
4272
|
+
"documentation.browseByArea": "Browse by area",
|
|
4273
|
+
"documentation.guideCount": "{count} guides",
|
|
4274
|
+
"documentation.searchNavigate": "to navigate",
|
|
4275
|
+
"documentation.searchOpen": "to open",
|
|
4276
|
+
"documentation.searchClose": "to close",
|
|
4277
|
+
"documentation.imageUnavailable": "Image unavailable",
|
|
4278
|
+
"documentation.expandImage": "Open full size",
|
|
4279
|
+
"documentation.copyAnchor": "Copy link to this section",
|
|
4280
|
+
"documentation.noHeadings": "No sections on this page",
|
|
4281
|
+
"documentation.closeNav": "Close guides",
|
|
4282
|
+
"documentation.groupDescription.platform": "An introduction to Frontera, its concepts and navigation, with practical next steps for your work.",
|
|
4283
|
+
"documentation.groupDescription.chat": "Work with Agents in Chat: sessions, files and outputs, schedules, computers, memory and approvals.",
|
|
4284
|
+
"documentation.groupDescription.agents": "Define, configure, test, release and invoke Agents.",
|
|
4285
|
+
"documentation.groupDescription.resources": "Knowledge, Skills, Plugins, channels, models, packages and memory scopes.",
|
|
4286
|
+
"documentation.groupDescription.blueprint": "Your shared model of the organization: managed and connected data, object types, links, metrics and access.",
|
|
4287
|
+
"documentation.groupDescription.apps": "Build, secure, release and troubleshoot AI-native Frontera Apps.",
|
|
4288
|
+
"documentation.groupDescription.workflows": "Coordinate triggers, steps, Agents, Functions, reviews and recovery.",
|
|
4289
|
+
"documentation.groupDescription.control": "Authority, approvals, runs and traces, evaluations, usage and data boundaries.",
|
|
4290
|
+
"documentation.groupDescription.settings": "Organizations, workspaces, roles, credentials, branding and preferences.",
|
|
4291
|
+
"documentation.groupDescription.integrate": "APIs, credentials, CLI, MCP, agent guidance and events.",
|
|
4292
|
+
"documentation.groupDescription.operate": "Prerequisites, installation, configuration, upgrades, backup, monitoring and support access.",
|
|
4293
|
+
"documentation.groupDescription.delivery": "How a deployment engagement runs, from the first responsibility to rollout.",
|
|
4294
|
+
"documentation.groupDescription.adoption": "Ownership, measurement and expanding to further responsibilities.",
|
|
4295
|
+
"documentation.groupDescription.help": "The documentation reader, sign-in problems and known limitations.",
|
|
4296
|
+
"documentation.groupDescription.releases": "Reviewed changes per release, compatibility and migration notes.",
|
|
4297
|
+
"documentation.groupDescription.templates": "Sanitized templates for deployment-specific documentation.",
|
|
4298
|
+
"documentation.groupDescription.internal": "Engineering, architecture and documentation-operation references for contributors.",
|
|
4299
|
+
"documentation.groupDescription.start": "Where to begin.",
|
|
4300
|
+
"documentation.explore": "Explore the documentation",
|
|
4301
|
+
"documentation.explore.capabilities": "Capabilities",
|
|
4302
|
+
"documentation.explore.reference": "Delivery & reference",
|
|
4303
|
+
"eval.agentQuality.title": "Quality",
|
|
4304
|
+
"eval.agentQuality.description": "How this agent's answers are reviewed and tested.",
|
|
4305
|
+
"eval.agentQuality.pendingLabel": "Waiting for review",
|
|
4306
|
+
"eval.agentQuality.openInbox": "Open reviews",
|
|
4307
|
+
"eval.agentQuality.passRateLabel": "Pass rate (7 days)",
|
|
4308
|
+
"eval.agentQuality.passRateHint": "From {count} reviewer and judge verdicts",
|
|
4309
|
+
"eval.agentQuality.passRateEmpty": "No reviewer or judge verdicts in 7 days",
|
|
4310
|
+
"eval.agentQuality.lastDraftLabel": "Last Test draft",
|
|
4311
|
+
"eval.agentQuality.lastDraftValue": "{pass} of {total} passed",
|
|
4312
|
+
"eval.agentQuality.lastDraftHint": "Draft {revision} on {dataset}",
|
|
4313
|
+
"eval.agentQuality.lastDraftEmpty": "No Test draft yet",
|
|
4314
|
+
"eval.agentQuality.openRun": "Open run",
|
|
4315
|
+
"eval.agentQuality.regressionLabel": "Regression dataset",
|
|
4316
|
+
"eval.agentQuality.regressionHint": "Test draft and the publish review start from this dataset.",
|
|
4317
|
+
"eval.agentQuality.regressionNone": "None",
|
|
4318
|
+
"eval.agentQuality.regressionSaved": "Regression dataset saved",
|
|
4319
|
+
"eval.agentQuality.regressionFailed": "Couldn't save the regression dataset.",
|
|
4320
|
+
"eval.release.title": "Test before publishing",
|
|
4321
|
+
"eval.release.subtitle": "Compare this draft with the live version on the same questions. This is advice; you can still publish.",
|
|
4322
|
+
"eval.release.runTestDraft": "Run Test draft",
|
|
4323
|
+
"eval.release.loading": "Checking for test results\u2026",
|
|
4324
|
+
"eval.release.unavailable": "Test results aren't available for this draft.",
|
|
4325
|
+
"eval.release.untested": "Draft {revision} hasn't been tested yet.",
|
|
4326
|
+
"eval.release.noRegressionDataset": "Set a regression dataset in this agent's Quality section so every draft is tested on the same questions.",
|
|
4327
|
+
"eval.release.testedOn": "Tested on {dataset}",
|
|
4328
|
+
"eval.release.running": "Test draft is running on {dataset}.",
|
|
4329
|
+
"eval.release.stopped": "The last Test draft on {dataset} ended as {status}.",
|
|
4330
|
+
"eval.release.draftResult": "The draft passed {pass} of {total} on {dataset}.",
|
|
4331
|
+
"eval.release.noBaseline": "There is no finished run of the live version on {dataset} to compare with.",
|
|
4332
|
+
"eval.release.draftRate": "Draft {pct}",
|
|
4333
|
+
"eval.release.liveRate": "Live {pct}",
|
|
4334
|
+
"eval.release.notEnoughItems": "Not enough items to detect a regression. Test more items to be confident.",
|
|
4335
|
+
"eval.release.openRun": "Open run",
|
|
4336
|
+
"eval.release.openComparison": "Open comparison",
|
|
4337
|
+
"eval.release.ack": "I understand, publish anyway",
|
|
4338
|
+
"eval.release.ackReason.loading": "Test results are still loading.",
|
|
4339
|
+
"eval.release.ackReason.unavailable": "Test results aren't available for this draft.",
|
|
4340
|
+
"eval.release.ackReason.untested": "This draft hasn't been tested.",
|
|
4341
|
+
"eval.release.ackReason.running": "The Test draft for this draft is still running.",
|
|
4342
|
+
"eval.release.ackReason.stopped": "The last Test draft didn't finish.",
|
|
4343
|
+
"eval.release.ackReason.no-baseline": "There is no finished live run to compare this draft with.",
|
|
4344
|
+
"eval.release.ackReason.comparing": "The comparison is still loading.",
|
|
4345
|
+
"eval.release.ackReason.undetectable": "The test had too few changed items to detect a regression.",
|
|
4346
|
+
"eval.release.ackReason.regression": "The test shows a significant regression against the live version.",
|
|
4347
|
+
"eval.release.ackReason.stale-baseline": "The live run tested an earlier version, so this comparison may not match what is live now.",
|
|
4348
|
+
"eval.release.staleBaseline": "The live run tested an earlier version. Run the live version on {dataset} again to compare with what is live now.",
|
|
4349
|
+
"chatApps.editor.distribution.standaloneEditable": "People can open this app directly at this address. They sign in with their Frontera account. Names are shared across every organization on this installation.",
|
|
4350
|
+
"chatApps.editor.distribution.standaloneLocked": "Ask a workspace administrator to turn on Short App addresses in workspace settings.",
|
|
4351
|
+
"chatApps.editor.distribution.standaloneReadOnly": "People can open this app directly at this address. They sign in with their Frontera account.",
|
|
4352
|
+
"chatApps.editor.distribution.standaloneRename": "If you change it, the old address keeps redirecting here.",
|
|
4353
|
+
"chatApps.editor.distribution.standaloneUnavailable": "Not available on this installation",
|
|
4354
|
+
"orgHome.workspaces": "Workspaces",
|
|
4355
|
+
"orgHome.searchWorkspaces": "Search workspaces\u2026",
|
|
4356
|
+
"orgHome.manageBlueprint": "Manage Blueprint",
|
|
4357
|
+
"orgHome.created": "Created {date}",
|
|
4358
|
+
"orgHome.lastOpened": "Last opened",
|
|
4359
|
+
"orgHome.sortLabel": "Sort workspaces",
|
|
4360
|
+
"orgHome.sort.recent": "Last opened first",
|
|
4361
|
+
"orgHome.sort.name": "Sorted by name",
|
|
4362
|
+
"orgHome.enterWorkspace": "Open {name}",
|
|
4363
|
+
"orgHome.noWorkspaces": "No workspaces are available to you.",
|
|
4364
|
+
"orgHome.noWorkspacesHint": "Create a workspace to get started, or ask an administrator for access.",
|
|
4365
|
+
"orgHome.noMatches": "No workspaces match your search.",
|
|
4366
|
+
"orgHome.loadError": "Workspaces could not be loaded.",
|
|
4367
|
+
"orgHome.banner.objects.customer": "Customer",
|
|
4368
|
+
"orgHome.banner.objects.account": "Account",
|
|
4369
|
+
"orgHome.banner.objects.order": "Order",
|
|
4370
|
+
"orgHome.firstWorkspace": "Start with a workspace",
|
|
4371
|
+
"orgHome.firstWorkspaceHint": "Give your work a home. Create a workspace for a team or a process, then add the people and applications that belong there.",
|
|
4372
|
+
"orgHome.requestAccessHint": "Ask your organization administrator to add you to a workspace. You can still explore the shared resources available to you here.",
|
|
4373
|
+
"orgHome.clearSearch": "Clear search",
|
|
4374
|
+
"orgHome.empty.title": "Model your organization",
|
|
4375
|
+
"orgHome.empty.description": "Define the objects, relations and metrics your teams work with once. Every workspace and Agent then shares the same model.",
|
|
4376
|
+
"orgHome.empty.waiting": "No objects are available to you yet. They appear here once a Blueprint steward adds them to the shared model.",
|
|
4377
|
+
"orgHome.empty.start": "Add your first object",
|
|
4378
|
+
"blueprint.modelPreview": "Model diagram",
|
|
4379
|
+
"blueprint.moreObjects": "+{count} more",
|
|
4380
|
+
"platformScope.loading": "Opening Frontera\u2026",
|
|
4381
|
+
"platformScope.slow": "This is taking longer than expected.",
|
|
4382
|
+
"platformScope.reload": "Reload",
|
|
4383
|
+
"platformScope.error": "Could not load your organizations and workspaces.",
|
|
4384
|
+
"platformScope.unavailable": "This organization or workspace is unavailable, or you do not have access.",
|
|
4385
|
+
"platformScope.organizationHome": "Open Organization Home",
|
|
4386
|
+
"admin.common.back": "Back",
|
|
4387
|
+
"admin.ai.providers.manage.addTitle": "Add {name}",
|
|
4388
|
+
"admin.ai.providers.manage.required": "Enter this value.",
|
|
4389
|
+
"admin.ai.providers.manage.credentialsJsonInvalid": "Paste the whole service-account JSON file, including client_email and private_key.",
|
|
4390
|
+
"admin.ai.providers.manage.nothingToSave": "Enter a new value to replace the saved one.",
|
|
4391
|
+
"admin.ai.providers.manage.saved": "{name} saved",
|
|
4392
|
+
"admin.ai.providers.manage.cleared": "{name} key removed",
|
|
4393
|
+
"admin.ai.providers.custom.removed": "Provider removed",
|
|
4394
|
+
"admin.ai.providers.picker.title": "Add provider",
|
|
4395
|
+
"admin.ai.providers.picker.description": "Choose the service your organization's AI runs on. You'll enter its key or connection details next.",
|
|
4396
|
+
"admin.ai.providers.picker.added": "Added",
|
|
4397
|
+
"admin.ai.providers.picker.manage": "Manage {name}",
|
|
4398
|
+
"admin.ai.providers.kinds.anthropic": "Claude models with an Anthropic API key",
|
|
4399
|
+
"admin.ai.providers.kinds.openai": "GPT models with an OpenAI API key",
|
|
4400
|
+
"admin.ai.providers.kinds.google": "Gemini models with a Google AI Studio API key",
|
|
4401
|
+
"admin.ai.providers.kinds.vertex": "Gemini models through your Google Cloud project",
|
|
4402
|
+
"admin.ai.providers.kinds.vertexAnthropic": "Claude models through your Google Cloud project",
|
|
4403
|
+
"admin.ai.providers.kinds.openrouter": "Models from many vendors with one OpenRouter key",
|
|
4404
|
+
"admin.ai.providers.kinds.elevenlabs": "Voice mode and transcription of audio files",
|
|
4405
|
+
"admin.ai.providers.empty.title": "No AI provider yet",
|
|
4406
|
+
"admin.ai.providers.empty.body": "Agents, chat and Copilot can't use AI until your organization adds a provider. You'll need an API key or connection details from that provider.",
|
|
4407
|
+
"admin.ai.providers.loadError": "Couldn't load providers.",
|
|
4408
|
+
"admin.ai.providers.rowActions": "Actions for {name}",
|
|
4409
|
+
"appNavigation.access": "Access",
|
|
4410
|
+
"appAccess.hint": "Who may open this app. Applies on the next request; promoting an older version never restores removed access.",
|
|
4411
|
+
"appAccess.everyone": "Everyone who can open apps",
|
|
4412
|
+
"appAccess.everyoneHint": "Anyone in this workspace whose role can open applications. Turn off to name people.",
|
|
4413
|
+
"appAccess.selected": "Selected people",
|
|
4414
|
+
"appAccess.nobodyYet": "Nobody selected yet \u2014 name at least one person, or turn the switch back on.",
|
|
4415
|
+
"appAccess.platformOnly": "Only people who build apps in this workspace can open it. Turn the switch on for everyone, or name people.",
|
|
4416
|
+
"appAccess.nobodyNamed": "Name at least one person, or let everyone who can open apps use it.",
|
|
4417
|
+
"appAccess.addPerson": "Add a person",
|
|
4418
|
+
"appAccess.save": "Save access",
|
|
4419
|
+
"appAccess.saving": "Saving\u2026",
|
|
4420
|
+
"appAccess.saved": "Access updated",
|
|
4421
|
+
"appAccess.saveFailed": "Failed to update access",
|
|
4422
|
+
"appAccess.loadFailed": "Access could not be loaded.",
|
|
4423
|
+
"appAccess.loading": "Loading access",
|
|
4424
|
+
"appNavigation.external": "External hosting",
|
|
4425
|
+
"appExternal.hint": "Host this app on your own infrastructure. Its people sign in with your identity provider and read only the data their roles allow. Changes apply on the next request.",
|
|
4426
|
+
"appExternal.platformHint": "This app is hosted in Frontera. Turn on external hosting and add an allowed origin to set up sign-in, roles, App keys and App users.",
|
|
4427
|
+
"appExternal.needsWrite": "Only people who can edit this App can see or change its external hosting. Ask one of them for access.",
|
|
4428
|
+
"appExternal.saving": "Saving\u2026",
|
|
4429
|
+
"appExternal.cancel": "Cancel",
|
|
4430
|
+
"appExternal.delete": "Delete",
|
|
4431
|
+
"appExternal.edit": "Edit",
|
|
4432
|
+
"appExternal.done": "Done",
|
|
4433
|
+
"appExternal.never": "Never",
|
|
4434
|
+
"appExternal.optional": "Optional",
|
|
4435
|
+
"appExternal.explainer.title": "Where the values come from: claims and properties",
|
|
4436
|
+
"appExternal.explainer.tokenTitle": "Claims \u2014 from the login token",
|
|
4437
|
+
"appExternal.explainer.tokenBody": "When someone signs in, your company login (Keycloak, Entra, Okta, Google\u2026) sends a token. Each line in it is a claim. Your login system's admins decide what it contains.",
|
|
4438
|
+
"appExternal.explainer.tokenUsedBy": "Read by Admission, Match claim, attributes taken from a claim, and each role's Who gets this role. Ask your IT team which claims they send.",
|
|
4439
|
+
"appExternal.explainer.recordTitle": "Properties \u2014 from their record in your data",
|
|
4440
|
+
"appExternal.explainer.recordBody": "The Business link finds the record that represents the person, e.g. their Employee row in Blueprint. Each field of it is a property.",
|
|
4441
|
+
"appExternal.explainer.recordUsedBy": "Read by Match property and attributes taken from a property. Example: Match claim employee_id finds the record whose employeeId property is the same, then city \u2190 property cityName gives Tangerang.",
|
|
4442
|
+
"appExternal.users.roleChoices": "Roles for this person",
|
|
4443
|
+
"appExternal.help.roleChoices": "For each role: From login \u2014 the role follows its Who gets this role conditions (e.g. their groups). Always give \u2014 they have it even if no condition matches, e.g. a temporary supervisor. Never give \u2014 they don't have it even if a condition matches. Takes effect on their next request.",
|
|
4444
|
+
"appExternal.users.noRolesYet": "This App has no roles yet. Add one under Roles.",
|
|
4445
|
+
"appExternal.users.roleChoiceFor": "Role {role} for this person",
|
|
4446
|
+
"appExternal.users.choiceLogin": "From login",
|
|
4447
|
+
"appExternal.users.choiceAdd": "Always give",
|
|
4448
|
+
"appExternal.users.choiceRemove": "Never give",
|
|
4449
|
+
"appExternal.help.audiences": "Who can sign in to this App, and with which login system. There are two kinds of people, each with its own login system and rules, so one kind can never sign in as the other.",
|
|
4450
|
+
"appExternal.help.audience.operator": "Your organisation's staff, e.g. relationship managers or support agents. They sign in with the company's staff login (Microsoft, Okta\u2026) and usually see their own book, branch or team.",
|
|
4451
|
+
"appExternal.help.audience.customer": "Your organisation's own customers, e.g. account holders using a self-service portal. They sign in with your customer login and see only their own records. Leave it unset if the App is for staff only.",
|
|
4452
|
+
"appExternal.help.appKeys": "Only needed when your App's own SERVER does the sign-in, instead of the browser \u2014 e.g. when the company login is reachable only from your backend. The server sends the key with the person's login token. The key proves which App is asking; it never proves who the person is. Keep it on the server, never in browser code.",
|
|
4453
|
+
"appExternal.help.appUsers": "People who have signed in to this App. They are not Frontera members. Disable someone to cut their access on their next request, or adjust their roles for one person.",
|
|
4454
|
+
"appExternal.help.roles": "Who gets each role, and what it can see. Each role lists the sign-in conditions that give it, and which record types \u2014 and which of their rows \u2014 its people can see. With no role, a person sees nothing.",
|
|
4455
|
+
"appExternal.roles.addAllTypes": "All types, every row ({count})",
|
|
4456
|
+
"appExternal.help.addAllTypes": "Adds 'every row' for each record type this App's workspace can read, one line per type, and keeps the rules you already wrote. Useful for early testing or a trusted admin role.\nRecord types added to Blueprint later are NOT included automatically \u2014 add them when you want this role to see them.",
|
|
4457
|
+
"appExternal.help.kind.match": "Rows where a field equals a value about the person.\nExample: Support ticket \xB7 City equals their city \u2192 Lidya (city Tangerang) sees only Tangerang tickets.\nA person without that value sees none of these rows.",
|
|
4458
|
+
"appExternal.help.kind.via": "Rows linked to records the person can already see, through a link.\nExample: Delivery \xB7 through shipmentDelivery \u2192 they see the deliveries of the shipments they can see.\nThe linked type needs its own rule, or nothing is reachable through it.",
|
|
4459
|
+
"appExternal.help.kind.all": "Every row of this type, for everyone with the role.\nUse it for shared reference data, like product categories \u2014 never as a shortcut for data that belongs to someone.",
|
|
4460
|
+
"appExternal.help.hosted": "Turn this on when your team serves the App from its own web address instead of Frontera. Its people then sign in with your company login, not a Frontera account.",
|
|
4461
|
+
"appExternal.help.origins": "The exact web addresses the App runs on, e.g. https://support.acme.com. Frontera answers the App only from these addresses. No path, just scheme, host and port.",
|
|
4462
|
+
"appExternal.help.enabled": "Turn off to stop everyone in this audience from signing in, without deleting the setup.",
|
|
4463
|
+
"appExternal.help.issuer": "The web address of your company login system. Enter it and choose Check \u2014 the rest fills in.\nExamples:\n\u2022 Keycloak: https://login.acme.com/realms/acme\n\u2022 Microsoft Entra: https://login.microsoftonline.com/<tenant id>/v2.0\n\u2022 Google: https://accounts.google.com\n\u2022 Okta: https://acme.okta.com",
|
|
4464
|
+
"appExternal.help.jwksUri": "Where the login system publishes its signing keys. Leave empty \u2014 Check finds it. Only needed for a login system that publishes no settings.",
|
|
4465
|
+
"appExternal.help.requiredAudience": "Which app a sign-in must be issued for \u2014 the client ID your login system gives this App. Tokens issued for your other apps are refused.\nExamples:\n\u2022 Keycloak / Okta: the client ID you created, e.g. shipments-console\n\u2022 Microsoft Entra: the Application (client) ID, e.g. 0f3a9c2e-\u2026\n\u2022 Google: the OAuth client ID, e.g. 1234-abc.apps.googleusercontent.com",
|
|
4466
|
+
"appExternal.help.subjectClaim": "The part of the login token that uniquely identifies a person. Keep 'sub' \u2014 every login system sends it.\nExample: sub = f3a9-\u2026 (Keycloak), 0001x\u2026 (Entra), 1098\u2026 (Google).",
|
|
4467
|
+
"appExternal.help.algorithms": "How your login system signs its tokens. Check fills this in; you rarely need to change it.",
|
|
4468
|
+
"appExternal.help.admission": "Who may sign in at all. Leave empty to let in everyone your login system signs in for this App.\nExamples:\n\u2022 Only a staff group: claim groups \xB7 values rm-users\n\u2022 Only company Google accounts: claim hd \xB7 values acme.com\n\u2022 Only certain people: claim email \xB7 values lidya@acme.com, ayu@acme.com",
|
|
4469
|
+
"appExternal.help.admissionClaim": "Which part of the login token to check.\nExamples: groups (Keycloak, Okta, Entra), hd \u2014 company domain (Google Workspace), email (any login system).",
|
|
4470
|
+
"appExternal.help.admissionValues": "Allowed values, separated by commas. Someone matching none of them is refused.\nExamples: rm-users, rm-supervisor \xB7 acme.com \xB7 lidya@acme.com\nMicrosoft Entra sends groups as ID codes by default, e.g. 8f3c1a2b-\u2026, unless your IT team sets it to send names.",
|
|
4471
|
+
"appExternal.help.businessLink": "Which record in your data is this person? Linking lets roles show 'their own' records.\nExamples:\n\u2022 Employee \xB7 claim employee_id \u2192 property employeeId\n\u2022 Employee \xB7 claim email \u2192 property email (Google, or when there is no employee ID)",
|
|
4472
|
+
"appExternal.help.linkObjectType": "The kind of record that represents the people who sign in, e.g. Employee.",
|
|
4473
|
+
"appExternal.help.matchClaim": "The part of the login token that holds the person's ID.\nExamples: employee_id (Keycloak / Okta custom attribute), employeeid or onPremisesSamAccountName (Entra, when configured), email (Google or any login system).",
|
|
4474
|
+
"appExternal.help.matchProperty": "The field in your records holding the same value as that claim.\nExamples: employeeId, email. Exactly one record must match at a person's first sign-in.",
|
|
4475
|
+
"appExternal.help.attributes": "Named values about each person that roles compare against. Take them from the login token or from their linked record.\nExamples:\n\u2022 city \u2190 property cityName (from their Employee record)\n\u2022 region \u2190 property regionId\n\u2022 team \u2190 claim team (from the login token)\nA role then says e.g. Support ticket \xB7 City equals their city.",
|
|
4476
|
+
"appExternal.help.roleName": "A short name for the role, e.g. branch or supervisor. Who gets this role, below, decides who holds it.",
|
|
4477
|
+
"appExternal.help.roleDescription": "What this role is for, in your own words. Only admins see it.",
|
|
4478
|
+
"appExternal.help.roleScope": `Which records people with this role can see: one rule per record type. A type not listed is hidden from them. Rules:
|
|
4479
|
+
\u2022 match \u2014 rows where a field equals the person's attribute: {"match":{"property":"cityName","attribute":"city"}}
|
|
4480
|
+
\u2022 via \u2014 rows linked to what they can already see: {"via":"shipmentDelivery"}
|
|
4481
|
+
\u2022 all \u2014 every row: {"all":true}
|
|
4482
|
+
\u2022 any \u2014 either of several rules: {"any":[rule, rule]}
|
|
4483
|
+
Use Add a rule to build them from lists.`,
|
|
4484
|
+
"appExternal.help.ruleBuilder": "Pick a record type and which of its rows the role sees: rows whose field equals the person's attribute (e.g. City = their city), rows linked to what they can already see, or every row.",
|
|
4485
|
+
"appExternal.help.keyName": "A name so you recognise the key later, e.g. 'backend production'. The key lets your App's server do the sign-in exchange.",
|
|
4486
|
+
"appExternal.choose": "Choose\u2026",
|
|
4487
|
+
"appExternal.loadingTypes": "Loading types\u2026",
|
|
4488
|
+
"appExternal.audiences.check": "Check",
|
|
4489
|
+
"appExternal.audiences.checking": "Checking\u2026",
|
|
4490
|
+
"appExternal.audiences.issuerFound": "Found the identity provider. Its keys are read automatically. Signing algorithms: {algorithms}.",
|
|
4491
|
+
"appExternal.audiences.issuerNotFound": "No identity provider answered at that address.",
|
|
4492
|
+
"appExternal.audiences.noLink": "No business link",
|
|
4493
|
+
"appExternal.audiences.needsLink": "Set a business link first",
|
|
4494
|
+
"appExternal.roles.builderTitle": "Add a rule",
|
|
4495
|
+
"appExternal.roles.pickType": "Object type\u2026",
|
|
4496
|
+
"appExternal.roles.ruleKind": "Which rows",
|
|
4497
|
+
"appExternal.roles.kindMatch": "Rows where",
|
|
4498
|
+
"appExternal.roles.kindVia": "Rows linked to what they can see, through",
|
|
4499
|
+
"appExternal.roles.kindAll": "Every row",
|
|
4500
|
+
"appExternal.roles.property": "Property",
|
|
4501
|
+
"appExternal.roles.pickProperty": "Property\u2026",
|
|
4502
|
+
"appExternal.roles.equalsMy": "equals their",
|
|
4503
|
+
"appExternal.roles.attribute": "Attribute",
|
|
4504
|
+
"appExternal.roles.pickAttribute": "Attribute\u2026",
|
|
4505
|
+
"appExternal.roles.noAttributes": "Define attributes on an audience first",
|
|
4506
|
+
"appExternal.roles.link": "Link",
|
|
4507
|
+
"appExternal.roles.pickLink": "Link\u2026",
|
|
4508
|
+
"appExternal.roles.noLinks": "This type has no links",
|
|
4509
|
+
"appExternal.roles.addRule": "Add",
|
|
4510
|
+
"appExternal.hosting.title": "Hosting",
|
|
4511
|
+
"appExternal.hosting.external": "Hosted outside Frontera",
|
|
4512
|
+
"appExternal.hosting.externalHint": "Your team serves the app from its own address and calls Frontera from the browser or its own server.",
|
|
4513
|
+
"appExternal.hosting.origins": "Allowed origins",
|
|
4514
|
+
"appExternal.hosting.originsHint": "The exact web addresses the app runs on, such as https://rm.example.com \u2014 no path. Requests from any other origin are refused.",
|
|
4515
|
+
"appExternal.hosting.noOrigins": "No origins yet.",
|
|
4516
|
+
"appExternal.hosting.originLabel": "Allowed origin {n}",
|
|
4517
|
+
"appExternal.hosting.addOrigin": "Add origin",
|
|
4518
|
+
"appExternal.hosting.removeOrigin": "Remove {origin}",
|
|
4519
|
+
"appExternal.hosting.originInvalid": "Enter each origin as scheme and host only, for example https://rm.example.com.",
|
|
4520
|
+
"appExternal.hosting.originRequired": "Add at least one allowed origin to host this app outside Frontera.",
|
|
4521
|
+
"appExternal.hosting.save": "Save hosting",
|
|
4522
|
+
"appExternal.hosting.saved": "Hosting updated",
|
|
4523
|
+
"appExternal.hosting.saveFailed": "Failed to update hosting",
|
|
4524
|
+
"appExternal.hosting.loading": "Loading hosting",
|
|
4525
|
+
"appExternal.hosting.loadFailed": "Hosting settings could not be loaded.",
|
|
4526
|
+
"appExternal.keys.title": "App keys",
|
|
4527
|
+
"appExternal.keys.hint": "An App key lets your app's server exchange a signed-in person's token for Frontera access. Keep it on the server; never ship it to a browser.",
|
|
4528
|
+
"appExternal.keys.create": "Create key",
|
|
4529
|
+
"appExternal.keys.creating": "Creating\u2026",
|
|
4530
|
+
"appExternal.keys.createTitle": "Create App key",
|
|
4531
|
+
"appExternal.keys.createDescription": "Name the key after the server or environment that will use it.",
|
|
4532
|
+
"appExternal.keys.name": "Name",
|
|
4533
|
+
"appExternal.keys.namePlaceholder": "Production backend",
|
|
4534
|
+
"appExternal.keys.nameRequired": "Name is required",
|
|
4535
|
+
"appExternal.keys.createFailed": "Failed to create App key",
|
|
4536
|
+
"appExternal.keys.createdTitle": "Copy your App key",
|
|
4537
|
+
"appExternal.keys.createdDescription": "Store it in your server's secret manager now.",
|
|
4538
|
+
"appExternal.keys.secret": "App key",
|
|
4539
|
+
"appExternal.keys.copy": "Copy key",
|
|
4540
|
+
"appExternal.keys.copied": "Key copied",
|
|
4541
|
+
"appExternal.keys.copyFailed": "Could not copy the key. Select it and copy it manually.",
|
|
4542
|
+
"appExternal.keys.onceWarning": "This key won't be shown again. If you lose it, revoke it and create a new one.",
|
|
4543
|
+
"appExternal.keys.empty": "No App keys yet.",
|
|
4544
|
+
"appExternal.keys.createdAt": "Created {time}",
|
|
4545
|
+
"appExternal.keys.lastUsed": "Last used {time}",
|
|
4546
|
+
"appExternal.keys.revokedBadge": "Revoked",
|
|
4547
|
+
"appExternal.keys.revoke": "Revoke",
|
|
4548
|
+
"appExternal.keys.revokeTitle": "Revoke {name}?",
|
|
4549
|
+
"appExternal.keys.revokeDescription": "Servers using this key stop being able to sign people in straight away. This can't be undone.",
|
|
4550
|
+
"appExternal.keys.revoked": "App key revoked",
|
|
4551
|
+
"appExternal.keys.revokeFailed": "Failed to revoke App key",
|
|
4552
|
+
"appExternal.keys.loading": "Loading App keys",
|
|
4553
|
+
"appExternal.keys.loadFailed": "App keys could not be loaded.",
|
|
4554
|
+
"appExternal.roles.title": "Roles",
|
|
4555
|
+
"appExternal.roles.hint": "Business roles for this app: who gets each one, and the data it may read.",
|
|
4556
|
+
"appExternal.roles.add": "Add role",
|
|
4557
|
+
"appExternal.roles.addTitle": "Add role",
|
|
4558
|
+
"appExternal.roles.editTitle": "Edit role",
|
|
4559
|
+
"appExternal.roles.dialogDescription": "Say who gets this role at sign-in, and which records of each object type they may read.",
|
|
4560
|
+
"appExternal.roles.whoTitle": "Who gets this role",
|
|
4561
|
+
"appExternal.roles.whoHint": "At sign-in, a person gets this role when any condition matches their login token.",
|
|
4562
|
+
"appExternal.roles.whoNone": "No conditions: nobody gets this role at sign-in. Give it to people one by one under App users.",
|
|
4563
|
+
"appExternal.roles.conditionAudience": "Signs in as",
|
|
4564
|
+
"appExternal.roles.conditionClaim": "Claim",
|
|
4565
|
+
"appExternal.roles.conditionContains": "contains",
|
|
4566
|
+
"appExternal.roles.addCondition": "Add condition",
|
|
4567
|
+
"appExternal.roles.removeCondition": "Remove condition",
|
|
4568
|
+
"appExternal.roles.conditionIncomplete": "Each condition needs a claim and a value.",
|
|
4569
|
+
"appExternal.help.roleWho": "Who gets this role, read from the login token at sign-in. Each condition: people signing in as [Operator/Customer] whose [claim] contains [value]. Any match gives the role; a person can hold several roles.\nExamples:\n\u2022 Operator \xB7 groups contains rm-supervisor\n\u2022 Operator \xB7 hd contains acme.com (Google: everyone in the company)\n\u2022 Operator \xB7 email contains ayu@acme.com (one person)\nNo conditions? Give the role per person under App users. A change here signs everyone in again.",
|
|
4570
|
+
"appExternal.roles.name": "Name",
|
|
4571
|
+
"appExternal.roles.nameHint": "Lowercase letters, numbers, hyphens and underscores, starting with a letter. The name can't be changed later.",
|
|
4572
|
+
"appExternal.roles.nameInvalid": "Use lowercase letters, numbers, hyphens or underscores, starting with a letter.",
|
|
4573
|
+
"appExternal.roles.description": "Description",
|
|
4574
|
+
"appExternal.roles.scope": "Data scope (JSON)",
|
|
4575
|
+
"appExternal.roles.scopeHint": 'Keyed by object type. Each rule is {"all": true}, {"match": {"property", "attribute"}}, {"via": "<link>"} or {"any": [rules]}. Object types left out are not readable.',
|
|
4576
|
+
"appExternal.roles.scopeRequired": "Enter a data scope.",
|
|
4577
|
+
"appExternal.roles.scopeInvalidJson": "The data scope is not valid JSON.",
|
|
4578
|
+
"appExternal.roles.scopeNotObject": "The data scope must be a JSON object keyed by object type.",
|
|
4579
|
+
"appExternal.roles.scopeSummary": "Reads: {types}",
|
|
4580
|
+
"appExternal.roles.whoSummary": "Given to: {conditions}",
|
|
4581
|
+
"appExternal.roles.whoSummaryNone": "Given per person only",
|
|
4582
|
+
"appExternal.roles.scopeNone": "Reads no data",
|
|
4583
|
+
"appExternal.roles.save": "Save role",
|
|
4584
|
+
"appExternal.roles.saved": "Role saved",
|
|
4585
|
+
"appExternal.roles.saveFailed": "Failed to save role",
|
|
4586
|
+
"appExternal.roles.empty": "No roles yet. Nobody can read data until they hold a role.",
|
|
4587
|
+
"appExternal.roles.deleteTitle": "Delete role {name}?",
|
|
4588
|
+
"appExternal.roles.deleteDescription": "People who hold only this role lose access to its data on their next request.",
|
|
4589
|
+
"appExternal.roles.deleted": "Role deleted",
|
|
4590
|
+
"appExternal.roles.deleteFailed": "Failed to delete role",
|
|
4591
|
+
"appExternal.roles.loading": "Loading roles",
|
|
4592
|
+
"appExternal.roles.loadFailed": "Roles could not be loaded.",
|
|
4593
|
+
"appExternal.audiences.title": "Audiences",
|
|
4594
|
+
"appExternal.audiences.hint": "Who may sign in, and with which identity provider: Operator for your staff, Customer for the people your app serves.",
|
|
4595
|
+
"appExternal.audiences.operator": "Operator",
|
|
4596
|
+
"appExternal.audiences.customer": "Customer",
|
|
4597
|
+
"appExternal.audiences.operatorNotSet": "Not set up. Staff can't sign in yet.",
|
|
4598
|
+
"appExternal.audiences.customerNotSet": "Not set up. Customers can't sign in.",
|
|
4599
|
+
"appExternal.audiences.summary": "{issuer} \xB7 audience {audience}",
|
|
4600
|
+
"appExternal.audiences.status.enabled": "Enabled",
|
|
4601
|
+
"appExternal.audiences.status.disabled": "Disabled",
|
|
4602
|
+
"appExternal.audiences.setUp": "Set up",
|
|
4603
|
+
"appExternal.audiences.remove": "Remove",
|
|
4604
|
+
"appExternal.audiences.deleteTitle": "Remove sign-in for {audience}?",
|
|
4605
|
+
"appExternal.audiences.deleteDescription": "Nobody in this audience can sign in until it is set up again.",
|
|
4606
|
+
"appExternal.audiences.deleted": "Sign-in settings removed",
|
|
4607
|
+
"appExternal.audiences.deleteFailed": "Failed to remove sign-in settings",
|
|
4608
|
+
"appExternal.audiences.dialogTitle": "Sign-in for {audience}",
|
|
4609
|
+
"appExternal.audiences.dialogDescription": "Frontera accepts a token from this identity provider only when its issuer, audience and signature match.",
|
|
4610
|
+
"appExternal.audiences.enabled": "Enabled",
|
|
4611
|
+
"appExternal.audiences.enabledHint": "Turn off to stop new sign-ins without losing these settings.",
|
|
4612
|
+
"appExternal.audiences.providerSection": "Identity provider",
|
|
4613
|
+
"appExternal.audiences.issuer": "Issuer",
|
|
4614
|
+
"appExternal.audiences.issuerHint": "The issuer URL in the provider's tokens. Its signing keys are found from the provider's discovery document.",
|
|
4615
|
+
"appExternal.audiences.jwksUri": "JWKS URI",
|
|
4616
|
+
"appExternal.audiences.jwksUriHint": "Only needed when the provider doesn't publish a discovery document.",
|
|
4617
|
+
"appExternal.audiences.requiredAudience": "Required audience",
|
|
4618
|
+
"appExternal.audiences.subjectClaim": "Subject claim",
|
|
4619
|
+
"appExternal.audiences.algorithms": "Algorithms",
|
|
4620
|
+
"appExternal.audiences.admissionSection": "Admission",
|
|
4621
|
+
"appExternal.audiences.admissionHint": "Optional. Admit only people whose claim contains one of these values.",
|
|
4622
|
+
"appExternal.audiences.claim": "Claim",
|
|
4623
|
+
"appExternal.audiences.admissionValues": "Any of (comma-separated)",
|
|
4624
|
+
"appExternal.audiences.value": "Value",
|
|
4625
|
+
"appExternal.audiences.linkSection": "Business link",
|
|
4626
|
+
"appExternal.audiences.linkHint": "Optional. Link each person to exactly one record, matched on a claim. Sign-in is refused when no record or several match.",
|
|
4627
|
+
"appExternal.audiences.objectType": "Object type",
|
|
4628
|
+
"appExternal.audiences.matchClaim": "Match claim",
|
|
4629
|
+
"appExternal.audiences.matchProperty": "Match property",
|
|
4630
|
+
"appExternal.audiences.attributesSection": "Attributes",
|
|
4631
|
+
"appExternal.audiences.attributesHint": "Values data scopes can match on, taken from a token claim or from the linked record.",
|
|
4632
|
+
"appExternal.audiences.attributeName": "Attribute name",
|
|
4633
|
+
"appExternal.audiences.attributeSource": "Source",
|
|
4634
|
+
"appExternal.audiences.sourceClaim": "Claim",
|
|
4635
|
+
"appExternal.audiences.sourceProperty": "Property",
|
|
4636
|
+
"appExternal.audiences.addAttribute": "Add attribute",
|
|
4637
|
+
"appExternal.audiences.removeAttribute": "Remove attribute",
|
|
4638
|
+
"appExternal.audiences.issuerRequired": "Issuer is required.",
|
|
4639
|
+
"appExternal.audiences.requiredAudienceRequired": "Required audience is required.",
|
|
4640
|
+
"appExternal.audiences.algorithmRequired": "Choose at least one signing algorithm.",
|
|
4641
|
+
"appExternal.audiences.admissionIncomplete": "Admission needs both a claim and at least one value, or neither.",
|
|
4642
|
+
"appExternal.audiences.linkIncomplete": "A business link needs an object type, a match claim and a match property, or none of them.",
|
|
4643
|
+
"appExternal.audiences.attributeNameInvalid": "Attribute names start with a letter and use only letters, numbers and underscores.",
|
|
4644
|
+
"appExternal.audiences.attributeIncomplete": "Each attribute needs a claim or property.",
|
|
4645
|
+
"appExternal.audiences.attributeDuplicate": "Each attribute name can be used once.",
|
|
4646
|
+
"appExternal.audiences.save": "Save sign-in",
|
|
4647
|
+
"appExternal.audiences.saved": "Sign-in settings saved",
|
|
4648
|
+
"appExternal.audiences.saveFailed": "Failed to save sign-in settings",
|
|
4649
|
+
"appExternal.audiences.loading": "Loading sign-in settings",
|
|
4650
|
+
"appExternal.audiences.loadFailed": "Sign-in settings could not be loaded.",
|
|
4651
|
+
"appExternal.users.title": "App users",
|
|
4652
|
+
"appExternal.users.empty": "No App users yet. People appear here after they first sign in to the app.",
|
|
4653
|
+
"appExternal.users.person": "Person",
|
|
4654
|
+
"appExternal.users.audience": "Audience",
|
|
4655
|
+
"appExternal.users.linked": "Linked record",
|
|
4656
|
+
"appExternal.users.statusColumn": "Status",
|
|
4657
|
+
"appExternal.users.lastSeen": "Last seen",
|
|
4658
|
+
"appExternal.users.actions": "Actions",
|
|
4659
|
+
"appExternal.users.overrides": "Role overrides",
|
|
4660
|
+
"appExternal.users.status.active": "Active",
|
|
4661
|
+
"appExternal.users.status.disabled": "Disabled",
|
|
4662
|
+
"appExternal.users.editRoles": "Role overrides",
|
|
4663
|
+
"appExternal.users.disable": "Disable",
|
|
4664
|
+
"appExternal.users.enable": "Enable",
|
|
4665
|
+
"appExternal.users.disableTitle": "Disable {name}?",
|
|
4666
|
+
"appExternal.users.disableDescription": "They lose access on their next request, even if your identity provider still signs them in. You can enable them again.",
|
|
4667
|
+
"appExternal.users.disabled": "App user disabled",
|
|
4668
|
+
"appExternal.users.enabled": "App user enabled",
|
|
4669
|
+
"appExternal.users.updateFailed": "Failed to update App user",
|
|
4670
|
+
"appExternal.users.rolesTitle": "Role overrides for {name}",
|
|
4671
|
+
"appExternal.users.rolesDescription": "Adjust what sign-in rules give this person. Applies on their next request.",
|
|
4672
|
+
"appExternal.users.saveRoles": "Save roles",
|
|
4673
|
+
"appExternal.users.rolesSaved": "Roles updated",
|
|
4674
|
+
"appExternal.users.loading": "Loading App users",
|
|
4675
|
+
"appExternal.users.loadFailed": "App users could not be loaded.",
|
|
4676
|
+
"appsGallery.builtin": "Built in",
|
|
4677
|
+
"appsGallery.builtinChatDescription": "Work with the Agents assigned to you.",
|
|
4678
|
+
"appsGallery.openChat": "Open Chat",
|
|
4679
|
+
"appsGallery.manageAccess": "Manage access",
|
|
4680
|
+
"admin.members.addDialog.workspaceRole": "Role in this workspace",
|
|
4681
|
+
"admin.members.addDialog.workspaceRoleHint": "Decides what they may do in this workspace. Their organization role still applies outside it.",
|
|
4682
|
+
"admin.members.addDialog.businessUser": "Business user",
|
|
4683
|
+
"admin.members.addDialog.businessUserHint": "They can open the applications assigned to them here and nothing else \u2014 no Blueprint, Agents, Workflows, Functions, Apps management or Console. Assign Chat and any Apps afterwards."
|
|
3447
4684
|
};
|
|
3448
4685
|
|
|
3449
|
-
// src/
|
|
4686
|
+
// ../platform-kit/src/ui/i18n/locales/id.json
|
|
3450
4687
|
var id_default = {
|
|
3451
4688
|
"console.agents.title": "Agen",
|
|
3452
4689
|
"console.agents.subtitle": "Bangun dan kelola agen yang menjalankan pekerjaan di ruang kerja ini.",
|
|
@@ -3483,6 +4720,10 @@ var id_default = {
|
|
|
3483
4720
|
"console.agents.counts.plugins.many": "{count} plugin",
|
|
3484
4721
|
"console.agents.counts.knowledge.one": "1 basis pengetahuan",
|
|
3485
4722
|
"console.agents.counts.knowledge.many": "{count} basis pengetahuan",
|
|
4723
|
+
"agents.detail.navigation.capabilities": "Identitas & kapabilitas",
|
|
4724
|
+
"agents.detail.navigation.settings": "Pengaturan",
|
|
4725
|
+
"agents.detail.navigation.test": "Chat pengujian",
|
|
4726
|
+
"agents.detail.sidebar.back": "Kembali ke semua Agen",
|
|
3486
4727
|
"console.agents.installedFromPacks.title": "{noun} Terpasang",
|
|
3487
4728
|
"console.agents.installedFromPacks.fromPacks": "dari Packs",
|
|
3488
4729
|
"chat.input.warning": "Agen AI dapat membuat kesalahan. Silakan cek kembali sebelum menggunakan.",
|
|
@@ -3530,11 +4771,17 @@ var id_default = {
|
|
|
3530
4771
|
"common.previous7Days": "7 Hari Terakhir",
|
|
3531
4772
|
"common.older": "Lebih Lama",
|
|
3532
4773
|
"console.sidebar.inbox": "Kotak masuk",
|
|
3533
|
-
"console.sidebar.workflows": "Alur
|
|
4774
|
+
"console.sidebar.workflows": "Alur kerja",
|
|
3534
4775
|
"console.sidebar.library": "Perpustakaan Agen",
|
|
3535
4776
|
"console.library.noMatches.title": "Tidak ada entri yang cocok",
|
|
4777
|
+
"console.library.loadError": "Gagal memuat Perpustakaan Agen.",
|
|
3536
4778
|
"console.library.detail.install": "Mulai dari agen ini",
|
|
3537
4779
|
"console.library.detail.installing": "Membuat draf Anda...",
|
|
4780
|
+
"console.library.detail.confirm.title": "Mulai dari {name}?",
|
|
4781
|
+
"console.library.detail.confirm.body": "Ini membuat draf agen di workspace ini dan memasang {count} skill yang dibutuhkan.",
|
|
4782
|
+
"console.library.detail.confirm.bodyNoSkills": "Ini membuat draf agen di workspace ini.",
|
|
4783
|
+
"console.library.detail.confirm.setup": "{count} langkah penyiapan wajib masih belum selesai.",
|
|
4784
|
+
"console.library.detail.confirm.cta": "Buat draf",
|
|
3538
4785
|
"console.library.detail.openAgent": "Buka agen",
|
|
3539
4786
|
"console.library.detail.addAnother": "Mulai satu lagi",
|
|
3540
4787
|
"console.library.detail.includedSkills": "Skill yang disertakan",
|
|
@@ -3618,6 +4865,7 @@ var id_default = {
|
|
|
3618
4865
|
"console.sidebar.builder": "Agent Builder",
|
|
3619
4866
|
"appSwitcher.openMenu": "Ganti aplikasi",
|
|
3620
4867
|
"appSwitcher.home": "Beranda",
|
|
4868
|
+
"appSwitcher.organization": "Beranda Organisasi",
|
|
3621
4869
|
"appSwitcher.homeSubtitle": "Sekilas ruang kerja Anda",
|
|
3622
4870
|
"appSwitcher.chat": "Obrolan",
|
|
3623
4871
|
"appSwitcher.chatSubtitle": "Percakapan, perpustakaan, dan otomatisasi",
|
|
@@ -3625,10 +4873,15 @@ var id_default = {
|
|
|
3625
4873
|
"appSwitcher.appsSubtitle": "Aplikasi operasional untuk kasus penggunaan Anda",
|
|
3626
4874
|
"appSwitcher.console": "Konsol",
|
|
3627
4875
|
"appSwitcher.consoleSubtitle": "Kelola agen, otomatisasi, dan lapisan konteks",
|
|
3628
|
-
"appSwitcher.admin": "
|
|
3629
|
-
"appSwitcher.adminSubtitle": "Anggota, peran,
|
|
4876
|
+
"appSwitcher.admin": "Pengaturan organisasi",
|
|
4877
|
+
"appSwitcher.adminSubtitle": "Anggota, peran, akses, dan administrasi bersama",
|
|
3630
4878
|
"appSwitcher.forge": "Forge",
|
|
3631
4879
|
"appSwitcher.forgeSubtitle": "Bangun bersama agen di mesin Anda",
|
|
4880
|
+
"home.startDescription": "Ruang kerja Anda, siap digunakan.",
|
|
4881
|
+
"home.noDeployedApps": "Aplikasi yang sudah diterapkan akan muncul di sini.",
|
|
4882
|
+
"home.appsEmpty.title": "Belum ada aplikasi yang diterapkan",
|
|
4883
|
+
"home.appsEmpty.description": "Aplikasi akan muncul di sini setelah diterapkan.",
|
|
4884
|
+
"home.appsEmpty.cta": "Buka Apps",
|
|
3632
4885
|
"home.subtitle": "Semua isi ruang kerja ini, sekali klik",
|
|
3633
4886
|
"home.searchPlaceholder": "Cari agen, apps, case\u2026",
|
|
3634
4887
|
"home.searchEmpty": "Tidak ada hasil.",
|
|
@@ -3637,6 +4890,10 @@ var id_default = {
|
|
|
3637
4890
|
"home.sections.cases": "Case",
|
|
3638
4891
|
"home.sections.apps": "Apps",
|
|
3639
4892
|
"home.sections.blueprint": "Blueprint",
|
|
4893
|
+
"home.noAvailableAgents": "Belum ada agen yang tersedia untuk percakapan di ruang kerja ini.",
|
|
4894
|
+
"home.agentsEmpty.title": "Belum ada agen yang tersedia",
|
|
4895
|
+
"home.agentsEmpty.create": "Buat agen",
|
|
4896
|
+
"home.agentsEmpty.description": "Setelah tim Anda menyediakan agen di ruang kerja ini, Anda dapat memulai percakapan di sini.",
|
|
3640
4897
|
"home.viewAll": "Lihat semua",
|
|
3641
4898
|
"home.emptyAgents": "Belum ada agen. Buat agen pertama Anda di Konsol.",
|
|
3642
4899
|
"home.emptyAgentsCta": "Buat agen",
|
|
@@ -3644,16 +4901,69 @@ var id_default = {
|
|
|
3644
4901
|
"home.emptyCasesCta": "Buat case",
|
|
3645
4902
|
"home.emptyApps": "Belum ada app. Rakit satu dari agen, case, dan Blueprint Anda.",
|
|
3646
4903
|
"home.emptyAppsCta": "Buka Apps",
|
|
4904
|
+
"home.welcome": "Selamat datang di Frontera",
|
|
4905
|
+
"home.attention.title": "Perlu perhatian",
|
|
4906
|
+
"home.attention.approvals.one": "1 persetujuan menunggu tinjauan Anda",
|
|
4907
|
+
"home.attention.approvals.many": "{count} persetujuan menunggu tinjauan Anda",
|
|
4908
|
+
"home.attention.review": "Tinjau",
|
|
4909
|
+
"home.banner.title": "Tugaskan agen untuk bekerja",
|
|
4910
|
+
"home.banner.description": "Mulai dari agen yang sudah ditinjau di library, beri alat dan pengetahuan yang dibutuhkan, dan tetap libatkan manusia di setiap keputusan penting.",
|
|
4911
|
+
"home.banner.cta": "Jelajahi agen",
|
|
4912
|
+
"home.banner.agentName": "Agen operasional",
|
|
4913
|
+
"home.banner.task": "Rekonsiliasi pembayaran kemarin",
|
|
4914
|
+
"home.banner.stepRecords": "Membaca Records",
|
|
4915
|
+
"home.banner.stepExceptions": "Menandai 3 pengecualian",
|
|
4916
|
+
"home.banner.stepApproval": "Menunggu persetujuan",
|
|
4917
|
+
"home.banner.approve": "Setujui",
|
|
4918
|
+
"home.banner.chatQuestion": "Faktur mana yang belum cocok?",
|
|
4919
|
+
"home.banner.chatAnswer": "Tiga dari minggu lalu. Saya sudah menyiapkan tindak lanjut untuk Anda tinjau.",
|
|
4920
|
+
"home.banner.chatPlaceholder": "Tanyakan apa saja\u2026",
|
|
4921
|
+
"home.banner.roles.accountsPayable.name": "Spesialis Utang Usaha",
|
|
4922
|
+
"home.banner.roles.accountsPayable.summary": "Cocokkan faktur dengan pesanan pembelian",
|
|
4923
|
+
"home.banner.roles.loanProcessor.name": "Pemroses Pinjaman",
|
|
4924
|
+
"home.banner.roles.loanProcessor.summary": "Periksa pengajuan terhadap kebijakan",
|
|
4925
|
+
"home.banner.roles.customerService.name": "Petugas Layanan Pelanggan",
|
|
4926
|
+
"home.banner.roles.customerService.summary": "Selesaikan pertanyaan rutin",
|
|
4927
|
+
"home.banner.roles.dataQuality.name": "Analis Kualitas Data",
|
|
4928
|
+
"home.banner.roles.dataQuality.summary": "Profilkan dataset terhadap aturan yang disepakati",
|
|
4929
|
+
"home.banner.trigger": "File pembayaran baru masuk",
|
|
4930
|
+
"home.banner.agentStep": "Cocokkan dengan Records",
|
|
4931
|
+
"home.banner.approvalStep": "Persetujuan keuangan",
|
|
4932
|
+
"home.banner.documentation.title": "Pelajari Frontera",
|
|
4933
|
+
"home.banner.documentation.description": "Temukan kemampuan Frontera. Kenali platform, Agen, dan informasi yang menghubungkan semuanya.",
|
|
4934
|
+
"home.banner.documentation.cta": "Mulai belajar",
|
|
4935
|
+
"home.banner.documentation.previewTitle": "Mulai dari sini",
|
|
4936
|
+
"home.banner.documentation.topic.platform": "Jelajahi platform",
|
|
4937
|
+
"home.banner.documentation.topic.agents": "Kenali Agen Anda",
|
|
4938
|
+
"home.banner.documentation.topic.workflows": "Buat workflow pertama Anda",
|
|
4939
|
+
"home.banner.chat.title": "Bekerja dengan agen di Chat",
|
|
4940
|
+
"home.banner.chat.description": "Ajukan pertanyaan, serahkan tugas, dan tinjau hasil kerja agen dalam satu percakapan.",
|
|
4941
|
+
"home.banner.chat.cta": "Buka Chat",
|
|
4942
|
+
"home.banner.workflows.title": "Otomatiskan workflow",
|
|
4943
|
+
"home.banner.workflows.description": "Jadikan proses berulang sebagai workflow: agen mengerjakan langkahnya, manusia menyetujui yang penting.",
|
|
4944
|
+
"home.banner.workflows.cta": "Buka Workflows",
|
|
3647
4945
|
"home.statusLive": "Live",
|
|
3648
4946
|
"home.statusDraft": "Draf",
|
|
3649
4947
|
"home.composer.work": "Kerja",
|
|
3650
4948
|
"home.composer.build": "Bangun",
|
|
4949
|
+
"blueprint.sidebar.saved": "Tampilan tersimpan",
|
|
4950
|
+
"blueprint.sidebar.home": "Beranda",
|
|
4951
|
+
"blueprint.sidebar.exploreSection": "Jelajah",
|
|
4952
|
+
"blueprint.sidebar.manage": "Kelola",
|
|
4953
|
+
"blueprint.sidebar.accessControl": "Kontrol akses",
|
|
4954
|
+
"blueprint.sidebar.releasesSection": "Rilis",
|
|
4955
|
+
"blueprint.sidebar.addToBlueprint": "Objek baru",
|
|
4956
|
+
"blueprint.sidebar.draft": "Draf",
|
|
3651
4957
|
"blueprint.sidebar.explore": "Jelajahi",
|
|
4958
|
+
"blueprint.scope.openOrganization": "Buka Blueprint organisasi",
|
|
4959
|
+
"blueprint.scope.organizationTitle": "Kelola di Blueprint organisasi",
|
|
4960
|
+
"blueprint.scope.organizationHint": "Konfigurasi data, akses, dan rilis dikelola di Blueprint organisasi.",
|
|
4961
|
+
"blueprint.scope.backToWorkspace": "Kembali ke Blueprint ruang kerja",
|
|
4962
|
+
"blueprint.sidebar.sharedScope": "Dibagikan di {name}",
|
|
4963
|
+
"blueprint.sidebar.governance": "Tata kelola",
|
|
3652
4964
|
"blueprint.sidebar.model": "Model",
|
|
3653
|
-
"blueprint.sidebar.resources": "Sumber Daya",
|
|
3654
|
-
"blueprint.sidebar.overview": "Overview",
|
|
3655
4965
|
"blueprint.sidebar.objectSets": "Kumpulan objek",
|
|
3656
|
-
"blueprint.sidebar.objects": "
|
|
4966
|
+
"blueprint.sidebar.objects": "Objek",
|
|
3657
4967
|
"blueprint.sidebar.fields": "Field",
|
|
3658
4968
|
"blueprint.fieldsTabs.label": "Bagian field",
|
|
3659
4969
|
"blueprint.fieldsTabs.registry": "Registri field",
|
|
@@ -3719,6 +5029,13 @@ var id_default = {
|
|
|
3719
5029
|
"console.home.noAgents.title": "Belum ada agen di workspace ini",
|
|
3720
5030
|
"console.home.noAgents.description": "Buat agen untuk mulai menggunakan otomatisasi, pengetahuan, dan lainnya.",
|
|
3721
5031
|
"console.home.noAgents.cta": "Buat Agen",
|
|
5032
|
+
"workspaceSettings.nav.general": "Umum",
|
|
5033
|
+
"workspaceSettings.nav.members": "Anggota",
|
|
5034
|
+
"workspaceSettings.nav.groups": "Grup",
|
|
5035
|
+
"workspaceSettings.nav.applications": "Aplikasi",
|
|
5036
|
+
"workspaceSettings.nav.secrets": "Rahasia",
|
|
5037
|
+
"workspaceSettings.nav.oauth": "Klien OAuth",
|
|
5038
|
+
"workspaceSettings.nav.apikeys": "Kunci API",
|
|
3722
5039
|
"workspaceSettings.agents.installFromCatalog": "Pasang dari katalog",
|
|
3723
5040
|
"workspaceSettings.agents.selectPlaceholder": "Pilih agen\u2026",
|
|
3724
5041
|
"workspaceSettings.agents.install": "Pasang",
|
|
@@ -3832,7 +5149,6 @@ var id_default = {
|
|
|
3832
5149
|
"console.skillTest.showAnswers": "Tampilkan jawaban",
|
|
3833
5150
|
"console.skillTest.hideAnswers": "Sembunyikan jawaban",
|
|
3834
5151
|
"console.skillTest.viewFullComparison": "Lihat perbandingan lengkap",
|
|
3835
|
-
"console.skillTest.abandoned": "Tidak ada hasil dalam tiga menit, jadi panel ini berhenti menunggu. Buka perbandingan lengkap untuk melihat apakah run-nya masih berjalan, atau jalankan tes lagi.",
|
|
3836
5152
|
"console.skillTest.orphanRun": "Sisi pertama sudah dimulai sebelum ini gagal, dan masih berjalan sebagai {run}.",
|
|
3837
5153
|
"console.skillTest.orphanRunLink": "Buka run itu",
|
|
3838
5154
|
"console.skillTest.testChanges": "Uji perubahan",
|
|
@@ -3859,11 +5175,10 @@ var id_default = {
|
|
|
3859
5175
|
"sidebar.openSessions": "Buka obrolan",
|
|
3860
5176
|
"sidebar.settings": "Pengaturan",
|
|
3861
5177
|
"sidebar.search": "Cari",
|
|
3862
|
-
"breadcrumb.applications": "Aplikasi",
|
|
3863
5178
|
"breadcrumb.switchWorkspace": "Ganti workspace",
|
|
3864
|
-
"breadcrumb.switchSurface": "Ganti aplikasi",
|
|
3865
5179
|
"breadcrumb.switchSection": "Ganti bagian",
|
|
3866
5180
|
"sidebar.pinned": "Disematkan",
|
|
5181
|
+
"sidebar.recents": "Terbaru",
|
|
3867
5182
|
"sidebar.agents": "Agen",
|
|
3868
5183
|
"sidebar.agents.working": "Bekerja",
|
|
3869
5184
|
"sidebar.agents.queued": "Antre",
|
|
@@ -4127,6 +5442,7 @@ var id_default = {
|
|
|
4127
5442
|
"sidebar.scheduled": "Terjadwal",
|
|
4128
5443
|
"userMenu.openMenu": "Buka menu akun",
|
|
4129
5444
|
"userMenu.signOut": "Keluar",
|
|
5445
|
+
"userMenu.organizationSettings": "Pengaturan organisasi",
|
|
4130
5446
|
"userMenu.theme": "Tema",
|
|
4131
5447
|
"userMenu.themeSystem": "Sistem",
|
|
4132
5448
|
"userMenu.themeLight": "Terang",
|
|
@@ -4311,6 +5627,8 @@ var id_default = {
|
|
|
4311
5627
|
"chat.desktop.skipThisStep": "Lewati langkah ini",
|
|
4312
5628
|
"chat.desktop.imDoneContinue": "Saya selesai, lanjutkan",
|
|
4313
5629
|
"chat.sidePanel.toggle": "Alihkan panel samping",
|
|
5630
|
+
"chat.sidePanel.openWindow": "Buka tampilan samping",
|
|
5631
|
+
"chat.sidePanel.closeWindow": "Tutup tampilan samping",
|
|
4314
5632
|
"chat.builderSidebar.expand": "Tampilkan panel builder",
|
|
4315
5633
|
"chat.builderSidebar.collapse": "Sembunyikan panel builder",
|
|
4316
5634
|
"chat.minimap.ariaLabel": "Kerangka percakapan",
|
|
@@ -4447,6 +5765,8 @@ var id_default = {
|
|
|
4447
5765
|
"shell.newSession": "Sesi Baru",
|
|
4448
5766
|
"shell.openMenu": "Buka menu",
|
|
4449
5767
|
"shell.selectAgent": "Pilih agen",
|
|
5768
|
+
"shell.empty.noAssignedAgentsTitle": "Belum ada Agent yang ditetapkan untuk Anda di Chat.",
|
|
5769
|
+
"shell.empty.noAssignedAgentsAsk": "Hubungi administrator Anda.",
|
|
4450
5770
|
"shell.selectAgentDescription": "Pilih agen untuk memulai sesi baru.",
|
|
4451
5771
|
"shell.greeting.morning": "Selamat pagi",
|
|
4452
5772
|
"shell.greeting.afternoon": "Selamat siang",
|
|
@@ -4562,15 +5882,17 @@ var id_default = {
|
|
|
4562
5882
|
"admin.nav.overview": "Ringkasan",
|
|
4563
5883
|
"admin.nav.members": "Anggota",
|
|
4564
5884
|
"admin.nav.roles": "Peran & Izin",
|
|
4565
|
-
"admin.nav.
|
|
5885
|
+
"admin.nav.activityLog": "Log aktivitas",
|
|
5886
|
+
"admin.nav.auditLog": "Log audit",
|
|
4566
5887
|
"admin.nav.workspaces": "Workspace",
|
|
4567
5888
|
"admin.nav.models": "AI",
|
|
4568
5889
|
"admin.nav.data": "Sumber Data",
|
|
4569
5890
|
"admin.nav.datasets": "Dataset",
|
|
4570
5891
|
"admin.nav.usage": "Penggunaan",
|
|
4571
|
-
"admin.nav.settings": "
|
|
5892
|
+
"admin.nav.settings": "Umum",
|
|
4572
5893
|
"admin.navGroup.people": "Orang",
|
|
4573
|
-
"admin.navGroup.
|
|
5894
|
+
"admin.navGroup.audit": "Audit",
|
|
5895
|
+
"admin.navGroup.access": "Akses",
|
|
4574
5896
|
"admin.navGroup.platform": "Platform",
|
|
4575
5897
|
"admin.navGroup.org": "Organisasi",
|
|
4576
5898
|
"admin.common.search": "Cari",
|
|
@@ -4801,6 +6123,7 @@ var id_default = {
|
|
|
4801
6123
|
"admin.overview.kpi.acrossWorkspaces": "di {n} workspace",
|
|
4802
6124
|
"admin.overview.kpi.pending": "{n} tertunda",
|
|
4803
6125
|
"admin.overview.kpi.allActive": "Semua aktif",
|
|
6126
|
+
"admin.overview.kpi.unavailable": "Tidak tersedia",
|
|
4804
6127
|
"admin.overview.kpi.idle": "{n} tidak terpakai 30h",
|
|
4805
6128
|
"admin.overview.spendByWorkspace.title": "Biaya per workspace",
|
|
4806
6129
|
"admin.overview.spendByWorkspace.empty": "Belum ada biaya pada periode ini.",
|
|
@@ -4827,6 +6150,7 @@ var id_default = {
|
|
|
4827
6150
|
"admin.members.pageTitle": "Anggota",
|
|
4828
6151
|
"admin.members.pageDescription": "Lihat dan kelola anggota serta peran untuk ruang kerja ini.",
|
|
4829
6152
|
"admin.members.addMember": "Tambah Anggota",
|
|
6153
|
+
"admin.members.blueprintStewards": "Steward Blueprint",
|
|
4830
6154
|
"admin.members.addMenuHeader": "Tambah Anggota",
|
|
4831
6155
|
"admin.members.createUser": "Buat Pengguna",
|
|
4832
6156
|
"admin.members.createUserDescription": "Buat akun secara langsung",
|
|
@@ -4849,6 +6173,10 @@ var id_default = {
|
|
|
4849
6173
|
"admin.members.addDialog.workspace": "Ruang Kerja",
|
|
4850
6174
|
"admin.members.addDialog.workspacePlaceholder": "Pilih ruang kerja",
|
|
4851
6175
|
"admin.members.addDialog.workspaceHint": "Pengguna akan ditambahkan ke organisasi namun tanpa ruang kerja. Anda dapat menambahkan nanti.",
|
|
6176
|
+
"admin.members.addDialog.workspacesUnavailable": "Workspace tidak dapat dimuat. Minta akses kepada administrator organisasi, lalu buka kembali dialog ini.",
|
|
6177
|
+
"admin.members.addDialog.workspacesLoading": "Memuat workspace\u2026",
|
|
6178
|
+
"admin.apiKeys.mint.workspacesUnavailable": "Workspace tidak dapat dimuat. Minta akses kepada administrator organisasi, lalu muat ulang.",
|
|
6179
|
+
"admin.apiKeys.mint.workspacesLoading": "Memuat workspace\u2026",
|
|
4852
6180
|
"admin.members.addDialog.submitting": "Menambahkan\u2026",
|
|
4853
6181
|
"admin.members.addDialog.createSuccess": "{name} ditambahkan.",
|
|
4854
6182
|
"admin.members.addDialog.createError": "Gagal menambahkan anggota.",
|
|
@@ -4963,6 +6291,9 @@ var id_default = {
|
|
|
4963
6291
|
"admin.imageModel.label": "Model gambar",
|
|
4964
6292
|
"admin.imageModel.select": "Pilih model",
|
|
4965
6293
|
"admin.imageModel.usingDefault": "Memakai default platform",
|
|
6294
|
+
"admin.imageModel.providerMissing": "Model ini memerlukan API key untuk {provider}. Tambahkan provider tersebut atau pilih model lain.",
|
|
6295
|
+
"admin.imageModel.addProvider": "Tambah {provider}",
|
|
6296
|
+
"admin.imageModel.noProvider": "Belum ada provider Anda yang menyediakan model gambar. Tambahkan OpenRouter, OpenAI, Google (Gemini) atau Google Vertex di bagian Provider untuk memilihnya.",
|
|
4966
6297
|
"admin.models.copilot.label": "Copilot",
|
|
4967
6298
|
"admin.models.copilot.tooltip": "Tampilkan model ini di pemilih model copilot. Model default dipilih di Pengaturan \u2192 Copilot.",
|
|
4968
6299
|
"admin.models.search": "Cari berdasarkan nama, provider, model ID, atau slug\u2026",
|
|
@@ -4972,8 +6303,8 @@ var id_default = {
|
|
|
4972
6303
|
"admin.models.col.provider": "Provider",
|
|
4973
6304
|
"admin.models.col.modelId": "Model ID",
|
|
4974
6305
|
"admin.models.col.slug": "Slug",
|
|
4975
|
-
"admin.models.form.title.add": "Tambah model
|
|
4976
|
-
"admin.models.form.title.edit": "Edit model
|
|
6306
|
+
"admin.models.form.title.add": "Tambah model",
|
|
6307
|
+
"admin.models.form.title.edit": "Edit model",
|
|
4977
6308
|
"admin.models.form.slug": "Slug",
|
|
4978
6309
|
"admin.models.form.slugPlaceholder": "cth. claude-sonnet",
|
|
4979
6310
|
"admin.models.form.name": "Nama",
|
|
@@ -4996,6 +6327,8 @@ var id_default = {
|
|
|
4996
6327
|
"admin.models.form.reasoning.budget": "Budget Berpikir",
|
|
4997
6328
|
"admin.models.form.modelIdManualPlaceholder": "cth. claude-sonnet-4-6",
|
|
4998
6329
|
"admin.models.form.reasoning.mandatory": "Penalaran wajib (tidak dapat dinonaktifkan)",
|
|
6330
|
+
"admin.models.form.supportsImageInput": "Menerima gambar",
|
|
6331
|
+
"admin.models.form.supportsImageInputHint": "Nonaktifkan untuk model yang hanya menerima teks. Agen yang memakainya tidak akan diberi gambar maupun alat untuk melihat gambar.",
|
|
4999
6332
|
"admin.models.form.reasoning.supportedEfforts": "Tingkat effort yang didukung",
|
|
5000
6333
|
"admin.models.form.reasoning.defaultEffort": "Effort default",
|
|
5001
6334
|
"admin.models.form.reasoning.defaultBudget": "Budget default (token)",
|
|
@@ -5023,12 +6356,29 @@ var id_default = {
|
|
|
5023
6356
|
"admin.ai.providers.heading": "Provider",
|
|
5024
6357
|
"admin.ai.providers.caption": "Kredensial dikonfigurasi melalui variabel lingkungan.",
|
|
5025
6358
|
"admin.ai.providers.subheading": "Kunci API yang diatur di sini dienkripsi saat disimpan dan berlaku dalam satu menit.",
|
|
5026
|
-
"admin.ai.providers.status.dashboard": "Dikelola di sini",
|
|
5027
6359
|
"admin.ai.providers.manage.button": "Kelola kunci",
|
|
5028
|
-
"admin.ai.providers.manage.title": "Kredensial
|
|
6360
|
+
"admin.ai.providers.manage.title": "Kredensial {name}",
|
|
5029
6361
|
"admin.ai.providers.manage.description": "Kunci dienkripsi saat disimpan dan tidak dapat dilihat kembali \u2014 hanya bisa diganti atau dihapus.",
|
|
5030
6362
|
"admin.ai.providers.manage.apiKey": "Kunci API",
|
|
5031
6363
|
"admin.ai.providers.manage.baseUrl": "Base URL (opsional)",
|
|
6364
|
+
"admin.ai.providers.addMenu.azure": "Resource Azure",
|
|
6365
|
+
"admin.ai.providers.addMenu.azureHint": "Endpoint dan kunci dari Azure AI Foundry \u2014 satu per resource atau region",
|
|
6366
|
+
"admin.ai.providers.addMenu.custom": "Endpoint kompatibel OpenAI",
|
|
6367
|
+
"admin.ai.providers.addMenu.customHint": "Gateway atau model self-hosted yang memakai API OpenAI",
|
|
6368
|
+
"admin.ai.providers.azure.addTitle": "Tambah resource Azure",
|
|
6369
|
+
"admin.ai.providers.azure.description": "Setiap resource Azure punya endpoint dan kunci sendiri. Setelah ditambahkan, tambahkan modelnya dengan nama deployment.",
|
|
6370
|
+
"admin.ai.providers.azure.name": "Nama",
|
|
6371
|
+
"admin.ai.providers.azure.namePlaceholder": "cth. eastus2-foundry",
|
|
6372
|
+
"admin.ai.providers.azure.nameHint": 'Tampil sebagai "Azure (nama)" di daftar model. Huruf kecil, angka dan tanda hubung; tidak bisa diganti nanti.',
|
|
6373
|
+
"admin.ai.providers.azure.nameTaken": "Resource Azure dengan nama ini sudah ada.",
|
|
6374
|
+
"admin.ai.providers.azure.endpointInvalid": "Tempel URL lengkap, diawali https://",
|
|
6375
|
+
"admin.ai.providers.azure.add": "Tambah resource",
|
|
6376
|
+
"admin.ai.providers.custom.azureDetected": "Ini endpoint Azure. Azure mengautentikasi dan merutekan permintaan berbeda dari endpoint kompatibel OpenAI, jadi perlu koneksi tersendiri.",
|
|
6377
|
+
"admin.ai.providers.custom.useAzure": "Tambah sebagai resource Azure",
|
|
6378
|
+
"admin.ai.providers.manage.azureEndpoint": "Endpoint",
|
|
6379
|
+
"admin.ai.providers.manage.azureEndpointPlaceholder": "Tempel URL dari panggilan API Azure, cth. https://my-resource.openai.azure.com/openai/v1",
|
|
6380
|
+
"admin.ai.providers.manage.azureApiVersion": "Versi API (opsional)",
|
|
6381
|
+
"admin.ai.providers.manage.azureApiVersionPlaceholder": "2024-10-21",
|
|
5032
6382
|
"admin.ai.providers.manage.projectId": "ID project GCP",
|
|
5033
6383
|
"admin.ai.providers.manage.location": "Lokasi (mis. global, asia-southeast2)",
|
|
5034
6384
|
"admin.ai.providers.manage.credentialsJson": "JSON service account",
|
|
@@ -5056,8 +6406,8 @@ var id_default = {
|
|
|
5056
6406
|
"admin.ai.providers.custom.remove": "Hapus provider",
|
|
5057
6407
|
"admin.ai.models.heading": "Model",
|
|
5058
6408
|
"admin.ai.models.caption": "Model yang tersedia untuk agen di workspace ini, dikelompokkan menurut penyedia.",
|
|
5059
|
-
"admin.audit.pageTitle": "Log
|
|
5060
|
-
"admin.audit.pageDescription": "Menampilkan
|
|
6409
|
+
"admin.audit.pageTitle": "Log aktivitas",
|
|
6410
|
+
"admin.audit.pageDescription": "Menampilkan aktivitas agen dan akses terbaru",
|
|
5061
6411
|
"admin.audit.refresh": "Muat ulang",
|
|
5062
6412
|
"admin.audit.tab.activity": "Aktivitas agen",
|
|
5063
6413
|
"admin.audit.tab.access": "Perubahan akses",
|
|
@@ -5094,11 +6444,104 @@ var id_default = {
|
|
|
5094
6444
|
"admin.audit.drawer.meta": "Meta",
|
|
5095
6445
|
"admin.audit.drawer.ip": "Alamat IP",
|
|
5096
6446
|
"admin.audit.drawer.userAgent": "User agent",
|
|
6447
|
+
"admin.auditLog.pageTitle": "Log audit",
|
|
6448
|
+
"admin.auditLog.pageDescription": "Catatan permanen atas perubahan administrasi, akses, dan kredensial di organisasi ini. Terbaru di atas.",
|
|
6449
|
+
"admin.auditLog.refresh": "Muat ulang",
|
|
6450
|
+
"admin.auditLog.export": "Ekspor CSV",
|
|
6451
|
+
"admin.auditLog.exporting": "Menyiapkan ekspor\u2026",
|
|
6452
|
+
"admin.auditLog.exportFailed": "Ekspor gagal. Coba lagi.",
|
|
6453
|
+
"admin.auditLog.filter.toolbar": "Saring peristiwa audit",
|
|
6454
|
+
"admin.auditLog.filter.allResourceTypes": "Semua jenis sumber daya",
|
|
6455
|
+
"admin.auditLog.filter.allVerbs": "Semua tindakan",
|
|
6456
|
+
"admin.auditLog.filter.allActions": "Semua peristiwa",
|
|
6457
|
+
"admin.auditLog.filter.allActors": "Semua aktor",
|
|
6458
|
+
"admin.auditLog.filter.search": "Cari",
|
|
6459
|
+
"admin.auditLog.filter.noMatches": "Tidak ada yang cocok",
|
|
6460
|
+
"admin.auditLog.filter.selected": "{label}: {count}",
|
|
6461
|
+
"admin.auditLog.filter.clear": "Hapus filter",
|
|
6462
|
+
"admin.auditLog.filter.lastDays": "{days} hari terakhir",
|
|
6463
|
+
"admin.auditLog.filter.customRange": "Rentang kustom",
|
|
6464
|
+
"admin.auditLog.filter.clearDates": "Hapus",
|
|
6465
|
+
"admin.auditLog.filter.apply": "Terapkan",
|
|
6466
|
+
"admin.auditLog.col.when": "Waktu",
|
|
6467
|
+
"admin.auditLog.col.what": "Peristiwa",
|
|
6468
|
+
"admin.auditLog.col.who": "Aktor",
|
|
6469
|
+
"admin.auditLog.col.resource": "Sumber daya",
|
|
6470
|
+
"admin.auditLog.col.verb": "Tindakan",
|
|
6471
|
+
"admin.auditLog.col.result": "Hasil",
|
|
6472
|
+
"admin.auditLog.actor.system": "Sistem",
|
|
6473
|
+
"admin.auditLog.resourceType.organization": "Organisasi",
|
|
6474
|
+
"admin.auditLog.resourceType.member": "Anggota organisasi",
|
|
6475
|
+
"admin.auditLog.resourceType.invitation": "Undangan",
|
|
6476
|
+
"admin.auditLog.resourceType.team": "Tim",
|
|
6477
|
+
"admin.auditLog.resourceType.team_member": "Anggota tim",
|
|
6478
|
+
"admin.auditLog.resourceType.workspace": "Ruang kerja",
|
|
6479
|
+
"admin.auditLog.resourceType.workspace_member": "Anggota ruang kerja",
|
|
6480
|
+
"admin.auditLog.resourceType.organization_api_key": "Kunci API organisasi",
|
|
6481
|
+
"admin.auditLog.resourceType.workspace_api_key": "Kunci API ruang kerja",
|
|
6482
|
+
"admin.auditLog.resourceType.workspace_secret": "Rahasia ruang kerja",
|
|
6483
|
+
"admin.auditLog.resourceType.workspace_secret_dek": "Kunci enkripsi ruang kerja",
|
|
6484
|
+
"admin.auditLog.resourceType.organization_role": "Peran organisasi",
|
|
6485
|
+
"admin.auditLog.resourceType.agent": "Agen",
|
|
6486
|
+
"admin.auditLog.resourceType.knowledge_base": "Basis pengetahuan",
|
|
6487
|
+
"admin.auditLog.resourceType.knowledge_source": "Sumber pengetahuan",
|
|
6488
|
+
"admin.auditLog.resourceType.conversation": "Percakapan",
|
|
6489
|
+
"admin.auditLog.resourceType.audit_log_shadow_subject": "Catatan keanggotaan",
|
|
6490
|
+
"admin.auditLog.resourceType.org_setting": "Pengaturan organisasi",
|
|
6491
|
+
"admin.auditLog.resourceType.library_org_entry": "Entri organisasi pustaka",
|
|
6492
|
+
"admin.auditLog.verb.created": "Dibuat",
|
|
6493
|
+
"admin.auditLog.verb.updated": "Diperbarui",
|
|
6494
|
+
"admin.auditLog.verb.deleted": "Dihapus",
|
|
6495
|
+
"admin.auditLog.verb.purged": "Dimusnahkan",
|
|
6496
|
+
"admin.auditLog.verb.invoked": "Dijalankan",
|
|
6497
|
+
"admin.auditLog.verb.accepted": "Diterima",
|
|
6498
|
+
"admin.auditLog.verb.rejected": "Ditolak",
|
|
6499
|
+
"admin.auditLog.verb.granted": "Diberikan",
|
|
6500
|
+
"admin.auditLog.verb.revoked": "Dicabut",
|
|
6501
|
+
"admin.auditLog.verb.published": "Diterbitkan",
|
|
6502
|
+
"admin.auditLog.verb.rolled_back": "Dikembalikan",
|
|
6503
|
+
"admin.auditLog.verb.enabled": "Diaktifkan",
|
|
6504
|
+
"admin.auditLog.verb.disabled": "Dinonaktifkan",
|
|
6505
|
+
"admin.auditLog.verb.rotated": "Dirotasi",
|
|
6506
|
+
"admin.auditLog.verb.detected": "Terdeteksi",
|
|
6507
|
+
"admin.auditLog.outcome.success": "Berhasil",
|
|
6508
|
+
"admin.auditLog.outcome.failure": "Gagal",
|
|
6509
|
+
"admin.auditLog.outcome.denied": "Ditolak",
|
|
6510
|
+
"admin.auditLog.empty.title": "Belum ada peristiwa audit",
|
|
6511
|
+
"admin.auditLog.empty.bodyFiltered": "Tidak ada peristiwa yang cocok dengan filter ini. Perluas rentang tanggal atau hapus salah satu filter.",
|
|
6512
|
+
"admin.auditLog.empty.bodyFirstUse": "Perubahan anggota, akses, kredensial, rahasia, dan konfigurasi tercatat di sini saat terjadi.",
|
|
6513
|
+
"admin.auditLog.drawer.title": "Detail peristiwa",
|
|
6514
|
+
"admin.auditLog.drawer.groupWhatHappened": "Yang terjadi",
|
|
6515
|
+
"admin.auditLog.drawer.groupActor": "Siapa",
|
|
6516
|
+
"admin.auditLog.drawer.groupTarget": "Sasaran",
|
|
6517
|
+
"admin.auditLog.drawer.groupAuthorization": "Otorisasi",
|
|
6518
|
+
"admin.auditLog.drawer.groupRecord": "Catatan",
|
|
6519
|
+
"admin.auditLog.drawer.result": "Hasil",
|
|
6520
|
+
"admin.auditLog.drawer.resourceId": "ID sumber daya",
|
|
6521
|
+
"admin.auditLog.drawer.workspaceId": "ID ruang kerja",
|
|
6522
|
+
"admin.auditLog.drawer.recordNumber": "Nomor catatan",
|
|
6523
|
+
"admin.auditLog.drawer.whatChanged": "Perubahan",
|
|
6524
|
+
"admin.auditLog.drawer.noFieldChanges": "Perubahan ini tidak mencatat nilai sebelum atau sesudah.",
|
|
6525
|
+
"admin.auditLog.drawer.before": "Sebelum",
|
|
6526
|
+
"admin.auditLog.drawer.after": "Sesudah",
|
|
6527
|
+
"admin.auditLog.drawer.context": "Konteks",
|
|
6528
|
+
"admin.auditLog.drawer.onBehalfOf": "Atas nama",
|
|
6529
|
+
"admin.auditLog.drawer.resourceType": "Jenis sumber daya",
|
|
6530
|
+
"admin.auditLog.drawer.workspace": "Ruang kerja",
|
|
6531
|
+
"admin.auditLog.drawer.organizationWide": "Seluruh organisasi",
|
|
6532
|
+
"admin.auditLog.drawer.permissionChecked": "Izin yang diperiksa",
|
|
6533
|
+
"admin.auditLog.drawer.authorizedBy": "Diizinkan oleh",
|
|
6534
|
+
"admin.auditLog.drawer.reason": "Alasan",
|
|
6535
|
+
"admin.auditLog.drawer.ip": "IP sumber",
|
|
6536
|
+
"admin.auditLog.drawer.correlationId": "ID korelasi",
|
|
5097
6537
|
"admin.workspaces.pageTitle": "Workspace",
|
|
5098
6538
|
"admin.workspaces.pageDescription": "Lihat dan kelola workspace untuk organisasi ini.",
|
|
5099
6539
|
"admin.workspaces.create": "Buat Workspace",
|
|
5100
6540
|
"admin.workspaces.tabs.active": "Aktif",
|
|
5101
6541
|
"admin.workspaces.tabs.archived": "Diarsipkan",
|
|
6542
|
+
"admin.workspaces.col.archived": "Diarsipkan",
|
|
6543
|
+
"admin.workspaces.archivedEmpty.title": "Belum ada workspace yang diarsipkan",
|
|
6544
|
+
"admin.workspaces.archivedEmpty.body": "Workspace yang Anda arsipkan disimpan di sini. Anda dapat memulihkannya kapan saja untuk mengembalikannya ke tab Aktif.",
|
|
5102
6545
|
"admin.workspaces.search": "Cari berdasarkan nama atau slug\u2026",
|
|
5103
6546
|
"admin.workspaces.filter": "Filter",
|
|
5104
6547
|
"admin.workspaces.col.name": "Nama Workspace",
|
|
@@ -5117,6 +6560,12 @@ var id_default = {
|
|
|
5117
6560
|
"admin.workspaces.archive.title": "Arsipkan workspace '{name}'?",
|
|
5118
6561
|
"admin.workspaces.archive.body": "Anggota akan kehilangan akses. Workspace yang diarsipkan disembunyikan dari pemilih namun disimpan untuk audit.",
|
|
5119
6562
|
"admin.workspaces.archive.confirm": "Arsipkan workspace",
|
|
6563
|
+
"admin.workspaces.restore.action": "Pulihkan workspace",
|
|
6564
|
+
"admin.workspaces.restore.title": "Pulihkan workspace '{name}'?",
|
|
6565
|
+
"admin.workspaces.restore.body": "Workspace akan kembali ke tab Aktif dan ke pemilih workspace para anggotanya. Semua orang yang menjadi anggota saat workspace diarsipkan akan mendapatkan aksesnya kembali.",
|
|
6566
|
+
"admin.workspaces.restore.confirm": "Pulihkan workspace",
|
|
6567
|
+
"admin.workspaces.restore.success": "{name} dipulihkan.",
|
|
6568
|
+
"admin.workspaces.restore.error": "Gagal memulihkan workspace.",
|
|
5120
6569
|
"admin.workspaces.drawer.admins": "Administrator",
|
|
5121
6570
|
"admin.workspaces.drawer.storage": "Penyimpanan",
|
|
5122
6571
|
"admin.settings.pageTitle": "Pengaturan",
|
|
@@ -5269,6 +6718,7 @@ var id_default = {
|
|
|
5269
6718
|
"eval.overview.protocolHint": "\u2014 menjelaskan pola \u201Cmengapa analisis kesalahan dulu\u201D dalam 5 menit.",
|
|
5270
6719
|
"eval.overview.kpiPassRate": "Tingkat kelulusan ({days}h)",
|
|
5271
6720
|
"eval.overview.kpiPassRateHint": "Hanya dari tinjauan + juri",
|
|
6721
|
+
"eval.overview.kpiPassRateEmpty": "Belum ada putusan peninjau atau juri dalam {days} hari terakhir.",
|
|
5272
6722
|
"eval.overview.kpiCategories": "Kategori",
|
|
5273
6723
|
"eval.overview.kpiCategoriesHint": "Mode kegagalan dalam taksonomi Anda",
|
|
5274
6724
|
"eval.overview.kpiReviews": "Tinjauan",
|
|
@@ -5317,16 +6767,31 @@ var id_default = {
|
|
|
5317
6767
|
"eval.overview.driftBannerCta": "Buka ulasan",
|
|
5318
6768
|
"eval.overview.trendTitle": "Tren tingkat lulus",
|
|
5319
6769
|
"eval.overview.trendSubtitle": "Tingkat lulus harian, 30 hari terakhir",
|
|
5320
|
-
"eval.overview.goldenTitle": "Set emas",
|
|
5321
|
-
"eval.overview.goldenSubtitle": "{items} item dataset total",
|
|
5322
|
-
"eval.overview.goldenTarget": "target {target}",
|
|
5323
|
-
"eval.overview.goldenCaptionBelow": "{remaining} contoh tersertifikasi lagi untuk membuka kalibrasi",
|
|
5324
|
-
"eval.overview.goldenCaptionAbove": "Siap kalibrasi \u2014 terus tumbuhkan menuju set emas yang matang",
|
|
5325
6770
|
"eval.overview.impact": "Minggu ini: {reviews} ulasan \xB7 {examples} contoh emas ditambahkan \xB7 {calibrated} pemeriksaan terkalibrasi",
|
|
5326
|
-
"eval.trust.panelHeading": "Pemeriksaan kualitas",
|
|
5327
|
-
"eval.trust.panelSubtitle": "Panel juri bawaan dan seberapa besar tiap pemeriksaan bisa dipercaya",
|
|
5328
6771
|
"eval.trust.calibrated": "Terkalibrasi",
|
|
5329
|
-
"eval.trust.calibratedPct": "Terkalibrasi \xB7 setuju {pct}%",
|
|
6772
|
+
"eval.trust.calibratedPct": "Terkalibrasi \xB7 setuju minimal {pct}%",
|
|
6773
|
+
"eval.trust.failed": "Belum terkalibrasi \u2014 tidak sejalan dengan peninjau",
|
|
6774
|
+
"eval.trust.readiness": "{eligible} dari {minSample} contoh emas, {fail} gagal",
|
|
6775
|
+
"eval.trust.readinessHint": "Kalibrasi membutuhkan {minSample} contoh emas dengan minimal {minPerClass} lulus dan {minPerClass} gagal",
|
|
6776
|
+
"eval.trust.readinessReady": "Siap dikalibrasi",
|
|
6777
|
+
"eval.trust.calibrateToastError": "Kalibrasi berhenti: {reason}",
|
|
6778
|
+
"eval.judges.title": "Penilai",
|
|
6779
|
+
"eval.judges.subtitle": "Panel penilai menilai percakapan langsung, dikalibrasi terhadap contoh emas Anda, dan dipilih otomatis saat Anda memulai run.",
|
|
6780
|
+
"eval.judges.editPanel": "Ubah panel",
|
|
6781
|
+
"eval.judges.cancelEdit": "Batal",
|
|
6782
|
+
"eval.judges.savePanel": "Simpan panel",
|
|
6783
|
+
"eval.judges.panelSaved": "Panel penilai disimpan",
|
|
6784
|
+
"eval.judges.panelEmpty": "Pilih minimal satu penilai.",
|
|
6785
|
+
"eval.judges.saveFailed": "Gagal menyimpan. Coba lagi.",
|
|
6786
|
+
"eval.judges.modelLabel": "Model penilai",
|
|
6787
|
+
"eval.judges.modelHint": "Terpisah dari model agen Anda. Pertahankan tetap agar skor bisa dibandingkan antaragen. Penilai tidak dapat memberi skor sebelum Anda memilih satu.",
|
|
6788
|
+
"eval.judges.modelDefault": "Belum dipilih",
|
|
6789
|
+
"eval.judges.modelPlaceholder": "Pilih model",
|
|
6790
|
+
"eval.judges.modelSaved": "Model penilai disimpan",
|
|
6791
|
+
"eval.judges.unavailable": "{name} tidak ada di daftar model AI organisasi Anda, jadi penilai tidak dapat berjalan. Pilih salah satu model Anda, atau tambahkan provider-nya di Pengaturan organisasi > AI.",
|
|
6792
|
+
"eval.judges.save": "Simpan",
|
|
6793
|
+
"eval.judges.saving": "Menyimpan\u2026",
|
|
6794
|
+
"eval.judges.defaultUnavailable": "Pilih model penilai; penilai tidak dapat memberi skor sebelum satu model dipilih. Jika daftarnya kosong, minta administrator menambahkan model, atau provider-nya, di Pengaturan organisasi > AI.",
|
|
5330
6795
|
"eval.trust.experimental": "Eksperimental \u2014 belum diverifikasi manusia",
|
|
5331
6796
|
"eval.trust.drifting": "Menyimpang \u2014 butuh ulasan",
|
|
5332
6797
|
"eval.trust.calibrate": "Kalibrasi",
|
|
@@ -5341,9 +6806,18 @@ var id_default = {
|
|
|
5341
6806
|
"eval.datasets.title": "Kumpulan Data",
|
|
5342
6807
|
"eval.datasets.subtitle": "Item evaluasi berlabel manual yang dipromosikan dari anotasi jejak.",
|
|
5343
6808
|
"eval.datasets.loading": "Memuat\u2026",
|
|
5344
|
-
"eval.datasets.loadError": "
|
|
6809
|
+
"eval.datasets.loadError": "Tidak dapat memuat kumpulan data. Coba lagi sebentar lagi.",
|
|
5345
6810
|
"eval.datasets.emptyTitle": "Belum ada kumpulan data",
|
|
5346
|
-
"eval.datasets.emptyDescription": "
|
|
6811
|
+
"eval.datasets.emptyDescription": "Dataset berisi pertanyaan untuk menguji agen Anda. Buat dataset, impor item dari CSV, atau simpan jawaban yang sudah ditinjau dari kotak masuk tinjauan.",
|
|
6812
|
+
"eval.datasets.openInbox": "Tinjau item di kotak masuk",
|
|
6813
|
+
"eval.datasets.createFailed": "Tidak dapat membuat dataset. Coba lagi.",
|
|
6814
|
+
"eval.datasets.created": "{name} dibuat",
|
|
6815
|
+
"eval.datasets.descriptionLabel": "Deskripsi (opsional)",
|
|
6816
|
+
"eval.datasets.namePlaceholder": "mis. Pertanyaan pengiriman",
|
|
6817
|
+
"eval.datasets.nameLabel": "Nama",
|
|
6818
|
+
"eval.datasets.createDescription": "Beri nama dataset. Tambahkan item setelahnya dengan mengimpor CSV atau menyimpan jawaban yang sudah ditinjau dari kotak masuk tinjauan.",
|
|
6819
|
+
"eval.datasets.createTitle": "Buat dataset",
|
|
6820
|
+
"eval.datasets.create": "Buat dataset",
|
|
5347
6821
|
"eval.datasets.columnName": "Nama",
|
|
5348
6822
|
"eval.datasets.columnDescription": "Deskripsi",
|
|
5349
6823
|
"eval.datasetItems.allDatasets": "Semua dataset",
|
|
@@ -5444,6 +6918,7 @@ var id_default = {
|
|
|
5444
6918
|
"eval.categoryPicker.loading": "Memuat\u2026",
|
|
5445
6919
|
"eval.categoryPicker.createError": "Gagal membuat kategori",
|
|
5446
6920
|
"eval.categoryPicker.noCategories": "Belum ada kategori.",
|
|
6921
|
+
"eval.categoryPicker.noCategoriesAskAdmin": "Belum ada kategori kegagalan. Minta admin untuk menambahkannya.",
|
|
5447
6922
|
"eval.categoryPicker.add": "Tambah",
|
|
5448
6923
|
"eval.categoryPicker.draftPlaceholder": "mis. alat salah, kutipan halusinasi\u2026",
|
|
5449
6924
|
"eval.categoryPicker.save": "Simpan",
|
|
@@ -5521,6 +6996,7 @@ var id_default = {
|
|
|
5521
6996
|
"eval.scorerRun.labelHelpfulness": "Kegunaan",
|
|
5522
6997
|
"eval.scorerRun.labelSafety": "Keamanan",
|
|
5523
6998
|
"eval.scorerRun.toastSuccess": "{label}: {verdict}",
|
|
6999
|
+
"eval.scorerRun.toastNotApplicable": "{label}: tidak ada yang perlu diperiksa pada pesan ini",
|
|
5524
7000
|
"eval.scorerRun.verdictDone": "selesai",
|
|
5525
7001
|
"eval.scorerRun.judgeFailed": "Penilai {label} gagal",
|
|
5526
7002
|
"eval.scorerRun.judging": "Menilai\u2026",
|
|
@@ -5530,6 +7006,7 @@ var id_default = {
|
|
|
5530
7006
|
"eval.scorerSummary.userThumbsUp": "{count} jempol ke atas pengguna",
|
|
5531
7007
|
"eval.scorerSummary.userThumbsDown": "{count} jempol ke bawah pengguna",
|
|
5532
7008
|
"eval.scorerSummary.judgeVerdict": "Penilai {scorerId}: {verdict}",
|
|
7009
|
+
"eval.scorerSummary.reviewerVerdict": "Peninjau lain: {verdict}",
|
|
5533
7010
|
"eval.span.attributes": "Atribut",
|
|
5534
7011
|
"eval.span.promptLabel": "Prompt:",
|
|
5535
7012
|
"eval.span.prompt": "Prompt",
|
|
@@ -5676,9 +7153,13 @@ var id_default = {
|
|
|
5676
7153
|
"admin.data.sourceWizard.summary.submitFailed": "Sumber tidak dapat disimpan. Coba lagi.",
|
|
5677
7154
|
"admin.data.sourceWizard.validation.connectorRequired": "Pilih Jenis Sumber untuk melanjutkan.",
|
|
5678
7155
|
"admin.data.source.field.sourceType": "Jenis Sumber",
|
|
5679
|
-
"admin.data.
|
|
5680
|
-
"admin.data.
|
|
5681
|
-
"admin.data.
|
|
7156
|
+
"admin.data.list.column.name": "Nama",
|
|
7157
|
+
"admin.data.list.column.connector": "Konektor",
|
|
7158
|
+
"admin.data.list.column.endpoint": "Endpoint",
|
|
7159
|
+
"admin.data.list.column.tables": "Tabel",
|
|
7160
|
+
"admin.data.list.column.lastTest": "Uji terakhir",
|
|
7161
|
+
"admin.data.list.column.modified": "Diubah",
|
|
7162
|
+
"admin.data.list.column.author": "Pembuat",
|
|
5682
7163
|
"admin.data.sourceWizard.validation.displayNameRequired": "Masukkan nama untuk Sumber ini.",
|
|
5683
7164
|
"admin.data.sourceWizard.validation.connectionRequired": "Masukkan nilai koneksi PostgreSQL yang wajib.",
|
|
5684
7165
|
"admin.data.sourceWizard.validation.postgresUrl": "Masukkan URL PostgreSQL yang valid dengan nama pengguna, kata sandi, host, dan basis data.",
|
|
@@ -5744,6 +7225,10 @@ var id_default = {
|
|
|
5744
7225
|
"admin.datasets.list.pagination.previous": "Sebelumnya",
|
|
5745
7226
|
"admin.datasets.list.pagination.next": "Berikutnya",
|
|
5746
7227
|
"admin.datasets.list.searchPlaceholder": "Cari dataset\u2026",
|
|
7228
|
+
"admin.datasets.list.filter.label": "Saring menurut status",
|
|
7229
|
+
"admin.datasets.list.filter.all": "Semua",
|
|
7230
|
+
"admin.datasets.list.filter.active": "Aktif",
|
|
7231
|
+
"admin.datasets.list.filter.archived": "Diarsipkan",
|
|
5747
7232
|
"admin.datasets.list.searchLabel": "Cari Dataset",
|
|
5748
7233
|
"admin.datasets.list.noSearchResults": "Tidak ada dataset yang cocok dengan pencarian.",
|
|
5749
7234
|
"admin.datasets.create.action": "Buat Dataset",
|
|
@@ -5806,7 +7291,7 @@ var id_default = {
|
|
|
5806
7291
|
"admin.datasets.mode.virtual": "Live",
|
|
5807
7292
|
"admin.datasets.mode.managed": "Terkelola",
|
|
5808
7293
|
"admin.datasets.status.active": "Aktif",
|
|
5809
|
-
"admin.datasets.status.disabled": "
|
|
7294
|
+
"admin.datasets.status.disabled": "Diarsipkan",
|
|
5810
7295
|
"admin.datasets.detail.back": "Kembali ke Dataset",
|
|
5811
7296
|
"admin.datasets.detail.loading": "Memuat Dataset\u2026",
|
|
5812
7297
|
"admin.datasets.detail.retry": "Coba lagi",
|
|
@@ -5823,6 +7308,31 @@ var id_default = {
|
|
|
5823
7308
|
"admin.datasets.detail.refresh.published": "Disegarkan \u2014 snapshot baru telah diterbitkan.",
|
|
5824
7309
|
"admin.datasets.detail.refresh.unchanged": "Sudah terbaru \u2014 tidak ada perubahan untuk diterbitkan.",
|
|
5825
7310
|
"admin.datasets.detail.refresh.error": "Penyegaran gagal. Periksa Sumber, lalu coba lagi.",
|
|
7311
|
+
"admin.datasets.detail.lifecycle.archiveAction": "Arsipkan",
|
|
7312
|
+
"admin.datasets.detail.lifecycle.archiveTitle": "Arsipkan Dataset ini?",
|
|
7313
|
+
"admin.datasets.detail.lifecycle.archiveDescription": "Dataset berhenti menyajikan baris dan menyimpan seluruh isinya. Anda dapat memulihkannya kapan saja.",
|
|
7314
|
+
"admin.datasets.detail.lifecycle.archiveConfirm": "Arsipkan",
|
|
7315
|
+
"admin.datasets.detail.lifecycle.archived": "Dataset diarsipkan.",
|
|
7316
|
+
"admin.datasets.detail.lifecycle.archiveError": "Dataset tidak dapat diarsipkan. Coba lagi.",
|
|
7317
|
+
"admin.datasets.detail.lifecycle.restoreAction": "Pulihkan",
|
|
7318
|
+
"admin.datasets.detail.lifecycle.restoreTitle": "Pulihkan Dataset ini?",
|
|
7319
|
+
"admin.datasets.detail.lifecycle.restoreDescription": "Dataset kembali beroperasi dengan kolom, kunci, dan baris yang sama seperti saat Anda mengarsipkannya.",
|
|
7320
|
+
"admin.datasets.detail.lifecycle.restoreConfirm": "Pulihkan",
|
|
7321
|
+
"admin.datasets.detail.lifecycle.restored": "Dataset dipulihkan.",
|
|
7322
|
+
"admin.datasets.detail.lifecycle.restoreError": "Dataset tidak dapat dipulihkan. Coba lagi.",
|
|
7323
|
+
"admin.datasets.detail.lifecycle.deleteAction": "Hapus permanen",
|
|
7324
|
+
"admin.datasets.detail.lifecycle.deleteTitle": "Hapus Dataset ini secara permanen?",
|
|
7325
|
+
"admin.datasets.detail.lifecycle.deleteDescription": "Tindakan ini menghancurkan riwayat revisi, setiap snapshot yang diterbitkan, dan baris apa pun yang disimpan Sebati untuk Dataset ini. Tindakan ini tidak dapat dibatalkan.",
|
|
7326
|
+
"admin.datasets.detail.lifecycle.deleteConfirm": "Hapus permanen",
|
|
7327
|
+
"admin.datasets.detail.lifecycle.deleteConfirmPhrase": "Ketik {phrase} untuk mengonfirmasi",
|
|
7328
|
+
"admin.datasets.detail.lifecycle.deleted": "Dataset dihapus.",
|
|
7329
|
+
"admin.datasets.detail.lifecycle.deleteError": "Dataset tidak dapat dihapus. Coba lagi.",
|
|
7330
|
+
"admin.datasets.detail.lifecycle.inUse.title": "'{name}' masih digunakan",
|
|
7331
|
+
"admin.datasets.detail.lifecycle.inUse.body": "Dataset ini tidak dapat diarsipkan selama Blueprint Anda membacanya \u2014 mengarsipkannya akan membuat definisi berikut berhenti mengembalikan baris. Buka satu per satu, ikat ke Dataset lain atau hapus, lalu arsipkan Dataset ini.",
|
|
7332
|
+
"admin.datasets.detail.lifecycle.inUse.open": "Buka",
|
|
7333
|
+
"admin.datasets.detail.lifecycle.inUse.noLink": "Tidak ada tautan",
|
|
7334
|
+
"admin.datasets.detail.lifecycle.inUse.objectType": "Tipe objek",
|
|
7335
|
+
"admin.datasets.detail.lifecycle.inUse.linkType": "Relasi",
|
|
5826
7336
|
"admin.datasets.detail.noDescription": "Tidak ada deskripsi",
|
|
5827
7337
|
"admin.datasets.detail.relationKind.table": "Tabel",
|
|
5828
7338
|
"admin.datasets.detail.relationKind.view": "Tampilan",
|
|
@@ -5849,7 +7359,8 @@ var id_default = {
|
|
|
5849
7359
|
"admin.datasets.detail.revisions.error": "Tidak dapat memuat riwayat revisi.",
|
|
5850
7360
|
"admin.datasets.detail.revisions.managedLocator": "Penyimpanan terkelola",
|
|
5851
7361
|
"admin.datasets.rows.title": "Baris",
|
|
5852
|
-
"admin.datasets.rows.description": "Dibaca langsung dari Sumber. Tidak ada data di halaman ini yang disimpan oleh platform.",
|
|
7362
|
+
"admin.datasets.rows.description.live": "Dibaca langsung dari Sumber. Tidak ada data di halaman ini yang disimpan oleh platform.",
|
|
7363
|
+
"admin.datasets.rows.description.managed": "Dibaca dari salinan terkelola yang disimpan Dataset ini. Isinya berubah hanya ketika Dataset disegarkan atau revisi baru diterbitkan.",
|
|
5853
7364
|
"admin.datasets.rows.readAt": "Dibaca pukul {time}",
|
|
5854
7365
|
"admin.datasets.rows.loading": "Memuat baris\u2026",
|
|
5855
7366
|
"admin.datasets.rows.retry": "Coba lagi",
|
|
@@ -5858,21 +7369,21 @@ var id_default = {
|
|
|
5858
7369
|
"admin.datasets.rows.empty.title": "Tidak ada baris",
|
|
5859
7370
|
"admin.datasets.rows.empty.body": "Dataset ini tidak mengembalikan baris untuk halaman ini.",
|
|
5860
7371
|
"admin.datasets.rows.error.title": "Baris tidak dapat dibaca",
|
|
5861
|
-
"admin.datasets.rows.error.body": "Pembacaan langsung ditolak, atau Sumber sedang tidak dapat dibaca. Periksa koneksi Sumber, lalu coba lagi.",
|
|
7372
|
+
"admin.datasets.rows.error.body.live": "Pembacaan langsung ditolak, atau Sumber sedang tidak dapat dibaca. Periksa koneksi Sumber, lalu coba lagi.",
|
|
7373
|
+
"admin.datasets.rows.error.body.managed": "Pembacaan ditolak, atau salinan Dataset ini tidak dapat dibaca. Coba lagi, dan segarkan Dataset jika kegagalan berlanjut.",
|
|
5862
7374
|
"admin.datasets.rows.pagination.label": "Halaman baris",
|
|
5863
7375
|
"admin.datasets.rows.pagination.previous": "Sebelumnya",
|
|
5864
7376
|
"admin.datasets.rows.pagination.next": "Berikutnya",
|
|
5865
7377
|
"admin.datasets.rows.viaSourceRevision": "melalui revisi Sumber {revision}",
|
|
7378
|
+
"admin.datasets.rows.compartmented.title": "Rekaman ini dibatasi oleh penanda keamanan",
|
|
7379
|
+
"admin.datasets.rows.compartmented.body": "Sebuah objek di Blueprint membatasi rekaman ini dengan penanda keamanan, sehingga setiap pembaca hanya melihat rekaman yang seluruh penandanya ia miliki. Halaman ini membaca Dataset di balik objek tersebut, tempat pembatasan itu tidak berlaku, sehingga pembacaan ditolak. Buka objek tersebut di Blueprint untuk membaca rekaman yang dapat Anda lihat.",
|
|
5866
7380
|
"admin.datasets.rows.authorityMoved.title": "Otoritas Sumber berubah",
|
|
5867
7381
|
"admin.datasets.rows.authorityMoved.body": "Sumber di balik revisi ini kini mengarah ke otoritas yang berbeda (host, basis data, role, atau mode TLS). Pembacaan melalui kontrak ini ditolak; daftarkan revisi Dataset baru terhadap Sumber saat ini untuk melanjutkan. Riwayat revisi mencatat apa yang berubah.",
|
|
5868
7382
|
"admin.datasets.rows.publishedAt": "Dipublikasikan per {time}",
|
|
5869
7383
|
"admin.datasets.managed.title": "Baris belum tersedia",
|
|
5870
7384
|
"admin.datasets.managed.body": "Dataset terkelola menyimpan barisnya sendiri. Penyimpanan tersebut belum dibangun, sehingga belum ada yang dapat dipratinjau di sini.",
|
|
5871
7385
|
"admin.models.form.kindEmbeddingDetected": "Terdeteksi sebagai model embedding \u2014 dipakai untuk pencarian knowledge, memori, dan semantik; tidak muncul di pilihan model chat.",
|
|
5872
|
-
"admin.ai.providers.status.organization": "Dikelola oleh organisasi Anda",
|
|
5873
7386
|
"admin.nav.apiKeys": "Kunci API",
|
|
5874
|
-
"admin.apiKeys.pageTitle": "Kunci API",
|
|
5875
|
-
"admin.apiKeys.pageDescription": "Kunci organisasi untuk CLI dan pemanggil mesin lainnya",
|
|
5876
7387
|
"admin.apiKeys.empty.title": "Belum ada kunci API",
|
|
5877
7388
|
"admin.apiKeys.empty.description": "Buat satu agar CLI dapat menyusun Blueprint organisasi ini",
|
|
5878
7389
|
"admin.apiKeys.expiry.days7": "7 hari",
|
|
@@ -5881,6 +7392,15 @@ var id_default = {
|
|
|
5881
7392
|
"admin.apiKeys.expiry.days365": "365 hari",
|
|
5882
7393
|
"admin.apiKeys.audit.empty.title": "Belum ada aktivitas",
|
|
5883
7394
|
"eval.inbox.title": "Kotak masuk review ({count})",
|
|
7395
|
+
"eval.inbox.clearFilters": "Hapus filter",
|
|
7396
|
+
"eval.inbox.filteredEmpty": "Tidak ada yang menunggu tinjauan dengan filter ini.",
|
|
7397
|
+
"eval.inbox.sourceOption.workflow": "Alur kerja",
|
|
7398
|
+
"eval.inbox.sourceOption.automation": "Fungsi",
|
|
7399
|
+
"eval.inbox.sourceOption.chat": "Chat",
|
|
7400
|
+
"eval.inbox.allSources": "Semua sumber",
|
|
7401
|
+
"eval.inbox.filterSource": "Sumber",
|
|
7402
|
+
"eval.inbox.allAgents": "Semua agen",
|
|
7403
|
+
"eval.inbox.filterAgent": "Agen",
|
|
5884
7404
|
"eval.inbox.queueHeading": "Antrean",
|
|
5885
7405
|
"eval.inbox.loading": "Memuat antrean review\u2026",
|
|
5886
7406
|
"eval.inbox.emptyTitle": "Semua selesai",
|
|
@@ -5907,21 +7427,28 @@ var id_default = {
|
|
|
5907
7427
|
"eval.inbox.reasonPhrase.checkFailed": "Pemeriksaan otomatis gagal",
|
|
5908
7428
|
"eval.inbox.reasonPhrase.calibration": "Tinjauan kalibrasi",
|
|
5909
7429
|
"eval.inbox.reasonPhrase.sample": "Sampel rutin",
|
|
5910
|
-
"eval.inbox.
|
|
7430
|
+
"eval.inbox.userCategory": "Pilihan pengguna: {category}",
|
|
7431
|
+
"eval.inbox.source.workflow": "Dari alur kerja",
|
|
7432
|
+
"eval.inbox.source.automation": "Dari fungsi",
|
|
7433
|
+
"eval.inbox.source.chat": "Dari chat",
|
|
7434
|
+
"eval.inbox.goldenHint": "Gagal dengan koreksi, atau Lulus dengan G, disimpan sebagai contoh emas",
|
|
5911
7435
|
"eval.reviews.allReviews": "Semua tinjauan ({count})",
|
|
5912
7436
|
"eval.reviews.surfaceInbox": "Kotak masuk ({count})",
|
|
5913
7437
|
"eval.reviews.surfaceLabel": "Permukaan ulasan",
|
|
5914
7438
|
"eval.reviews.backToInbox": "Kembali ke inbox ({count})",
|
|
5915
7439
|
"eval.inbox.skip": "Lewati",
|
|
7440
|
+
"eval.inbox.readOnlyHint": "Anda dapat membaca item ini, tetapi peran Anda tidak dapat mencatat putusan.",
|
|
5916
7441
|
"eval.inbox.skipTitle": "Lewati item ini (Esc)",
|
|
5917
7442
|
"eval.inbox.skipConfirmTitle": "Lewati item ini?",
|
|
5918
7443
|
"eval.inbox.skipConfirmBody": "Item keluar dari antrean review tanpa verdict dan tidak akan kembali. Beri Pass atau Fail jika masih bisa dinilai.",
|
|
5919
7444
|
"eval.inbox.skipConfirmCancel": "Batal",
|
|
5920
7445
|
"eval.inbox.skipFailed": "Tidak dapat melewati item.",
|
|
5921
|
-
"eval.inbox.savedPromoted": "Tersimpan \xB7 ditambahkan
|
|
5922
|
-
"eval.inbox.
|
|
7446
|
+
"eval.inbox.savedPromoted": "Tersimpan \xB7 ditambahkan sebagai contoh emas",
|
|
7447
|
+
"eval.inbox.savedAdded": "Tersimpan \xB7 ditambahkan ke {datasetName}",
|
|
7448
|
+
"eval.inbox.promoteFailed": "Tersimpan, tetapi gagal menambahkan contoh emas.",
|
|
5923
7449
|
"eval.inbox.keyboardHint": "P lulus \xB7 F gagal \xB7 Esc lewati \xB7 \u2318/Ctrl+Enter kirim",
|
|
5924
7450
|
"eval.inbox.hintPass": "lulus",
|
|
7451
|
+
"eval.inbox.hintPassAsExample": "lulus + contoh emas",
|
|
5925
7452
|
"eval.inbox.hintFail": "gagal",
|
|
5926
7453
|
"eval.inbox.hintSkip": "lewati",
|
|
5927
7454
|
"eval.inbox.hintSubmit": "simpan",
|
|
@@ -5958,11 +7485,25 @@ var id_default = {
|
|
|
5958
7485
|
"eval.runs.passCount": "{count} lulus",
|
|
5959
7486
|
"eval.runs.failCount": "{count} gagal",
|
|
5960
7487
|
"eval.runs.errorCount": "{count} galat",
|
|
5961
|
-
"eval.runs.gradedOf": "{graded} dari {total} dinilai",
|
|
5962
7488
|
"eval.runs.produced": "Jawaban agen",
|
|
5963
7489
|
"eval.runs.itemError": "Galat",
|
|
5964
|
-
"eval.runs.itemQueued": "
|
|
5965
|
-
"eval.runs.
|
|
7490
|
+
"eval.runs.itemQueued": "Dalam antrean",
|
|
7491
|
+
"eval.runs.itemRunning": "Berjalan",
|
|
7492
|
+
"eval.runs.itemSkipped": "Dilewati",
|
|
7493
|
+
"eval.runs.notGraded": "Tidak dinilai",
|
|
7494
|
+
"eval.runs.progress": "{done} dari {total} selesai",
|
|
7495
|
+
"eval.runs.cost": "Biaya {cost}",
|
|
7496
|
+
"eval.runs.duration": "Durasi {duration}",
|
|
7497
|
+
"eval.runs.attempt": "Percobaan {number}",
|
|
7498
|
+
"eval.runs.attemptsPassed": "{passes} dari {graded} percobaan lulus",
|
|
7499
|
+
"eval.runs.cancel": "Batalkan run",
|
|
7500
|
+
"eval.runs.cancelledToast": "Run dibatalkan",
|
|
7501
|
+
"eval.runs.cancelFailed": "Tidak dapat membatalkan run",
|
|
7502
|
+
"eval.runs.status.queued": "Dalam antrean",
|
|
7503
|
+
"eval.runs.status.running": "Berjalan",
|
|
7504
|
+
"eval.runs.status.completed": "Selesai",
|
|
7505
|
+
"eval.runs.status.failed": "Gagal",
|
|
7506
|
+
"eval.runs.status.cancelled": "Dibatalkan",
|
|
5966
7507
|
"eval.runs.rerun": "Jalankan ulang",
|
|
5967
7508
|
"eval.runs.rerunItem": "Jalankan ulang item ini",
|
|
5968
7509
|
"eval.runs.columnInput": "Input",
|
|
@@ -6022,10 +7563,15 @@ var id_default = {
|
|
|
6022
7563
|
"eval.reviews.addFailed": "Tidak dapat menambahkan ulasan ini ke dataset",
|
|
6023
7564
|
"eval.runs.expected": "Jawaban yang seharusnya menurut peninjau",
|
|
6024
7565
|
"eval.runs.viewSourceTrace": "Lihat percakapan asalnya",
|
|
7566
|
+
"eval.runs.notRun": "Belum dijalankan",
|
|
6025
7567
|
"eval.overview.recentRuns": "Run terbaru",
|
|
6026
7568
|
"eval.overview.recentRunsSubtitle": "Skor agen terhadap sebuah dataset.",
|
|
6027
7569
|
"eval.overview.recentRunsEmpty": "Belum ada run. Buka dataset lalu jalankan untuk melihat skor agen.",
|
|
6028
7570
|
"eval.overview.runPassed": "{pass}/{total} lulus",
|
|
7571
|
+
"eval.overview.failureTaxonomyEmptyDescription": "Peninjau memilih kategori saat menandai jawaban sebagai Gagal. Tambahkan kategori di bawah, atau mulai dari set awal.",
|
|
7572
|
+
"eval.overview.categoryAdded": "{label} ditambahkan",
|
|
7573
|
+
"eval.overview.addCategory": "Tambah kategori",
|
|
7574
|
+
"eval.overview.failureTaxonomyEmptyReadOnly": "Peninjau memilih kategori saat menandai jawaban sebagai Gagal. Minta admin untuk menambahkan kategori.",
|
|
6029
7575
|
"eval.runs.showingOf": "Menampilkan {shown} run terbaru dari {total}",
|
|
6030
7576
|
"eval.compare.title": "Bandingkan dengan run lain",
|
|
6031
7577
|
"eval.compare.subtitle": "Dipasangkan per item, sehingga penilai yang lebih ketat atau dataset yang lebih sulit tidak salah dibaca sebagai regresi.",
|
|
@@ -6183,6 +7729,11 @@ var id_default = {
|
|
|
6183
7729
|
"desktopAccess.agent.unnamed": "Agen",
|
|
6184
7730
|
"desktopAccess.operation.generic": "operasi lokal",
|
|
6185
7731
|
"desktopAccess.chip.revision": "rev {rev}",
|
|
7732
|
+
"chat.workflowWrite.created": "Workflow dibuat \xB7 draf v{version}",
|
|
7733
|
+
"chat.workflowWrite.added": "Draf v{version} disimpan",
|
|
7734
|
+
"chat.workflowWrite.updated": "Draf v{version} diperbarui",
|
|
7735
|
+
"chat.workflowWrite.changed": "Langkah ditambah atau diubah: {count}",
|
|
7736
|
+
"chat.workflowWrite.open": "Buka di editor",
|
|
6186
7737
|
"desktopAccess.toast.grantRequested": "{agent} meminta akses di komputer Anda",
|
|
6187
7738
|
"desktopAccess.toast.approvalRequested": "{agent} memerlukan persetujuan Anda untuk operasi desktop",
|
|
6188
7739
|
"desktopAccess.toast.waitingDevice": "Menunggu {device} tersambung kembali",
|
|
@@ -6736,26 +8287,12 @@ var id_default = {
|
|
|
6736
8287
|
"agentMode.routines.runs.status.waiting_approval": "Perlu persetujuan",
|
|
6737
8288
|
"agentMode.routines.runs.status.paused_takeover": "Dijeda untuk pengambilalihan",
|
|
6738
8289
|
"admin.usageTiers.title": "Tingkat pemakaian",
|
|
6739
|
-
"admin.usageTiers.subtitle": "Berapa kredit yang didapat tiap kelompok sebelum mencapai batas. Tidak ada yang berlaku sampai Batas pemakaian dinyalakan di Pengaturan.",
|
|
6740
8290
|
"admin.usageTiers.newTier": "Tingkat baru",
|
|
6741
8291
|
"admin.usageTiers.empty": "Belum ada tingkat. Selama belum ada, semua pengguna tidak dibatasi.",
|
|
6742
|
-
"admin.usageTiers.windows.title": "Kapan batas direset",
|
|
6743
|
-
"admin.usageTiers.windows.primary": "Disetel ulang setiap",
|
|
6744
|
-
"admin.usageTiers.windows.timezone": "di zona",
|
|
6745
|
-
"admin.usageTiers.windows.burst": "batas jangka pendek",
|
|
6746
|
-
"admin.usageTiers.windows.noBurst": "tanpa batas jangka pendek",
|
|
6747
8292
|
"admin.usageTiers.card.default": "Bawaan",
|
|
6748
|
-
"admin.usageTiers.card.creditsPerWindow": "kredit per periode",
|
|
6749
|
-
"admin.usageTiers.card.burst": "Jangka pendek",
|
|
6750
|
-
"admin.usageTiers.card.onExhaust": "Saat batas tercapai",
|
|
6751
|
-
"admin.usageTiers.dryRun.title": "Jika batas ini sudah dinyalakan",
|
|
6752
|
-
"admin.usageTiers.dryRun.stopped": "akan dihentikan",
|
|
6753
|
-
"admin.usageTiers.dryRun.warned": "akan diperingatkan",
|
|
6754
|
-
"admin.usageTiers.dryRun.unaffected": "tidak terpengaruh",
|
|
6755
8293
|
"admin.usageTiers.dryRun.user": "Pengguna",
|
|
6756
8294
|
"admin.usageTiers.dryRun.tier": "Tingkat",
|
|
6757
8295
|
"admin.usageTiers.dryRun.firstHit": "Pertama kena",
|
|
6758
|
-
"admin.usageTiers.dryRun.over": "Terpakai",
|
|
6759
8296
|
"admin.usageTiers.dryRun.excluded": "{n} baris pemakaian tidak dapat diukur dan dikecualikan. Persentil hanya menggambarkan sisanya.",
|
|
6760
8297
|
"admin.usageTiers.edit.title": "Ubah tingkat",
|
|
6761
8298
|
"admin.usageTiers.edit.name": "Nama",
|
|
@@ -6777,7 +8314,6 @@ var id_default = {
|
|
|
6777
8314
|
"admin.usageTiers.windows.burstLabel": "Batas jangka pendek",
|
|
6778
8315
|
"admin.usageTiers.windows.burstHelp": "Durasi ISO, maks 24 jam (mis. PT5H). Kosongkan bila tidak dipakai.",
|
|
6779
8316
|
"admin.usageTiers.windows.useLocal": "Pakai zona peramban ini ({tz})",
|
|
6780
|
-
"admin.usageTiers.windows.utcHint": "Periode reset pukul 00:00 UTC \u2014 tengah hari kerja di {tz}. Setel zona waktu sesuai lokasi kerja sebenarnya.",
|
|
6781
8317
|
"admin.usageTiers.windows.changeWarning": "Berlaku seketika. Memperpendek periode memberi jatah baru untuk semua orang; menambah batas dapat menghentikan siapa pun yang sudah melewatinya pada pesan berikutnya.",
|
|
6782
8318
|
"admin.usageTiers.card.exhaustSoft": "tetap berjalan (hanya peringatan)",
|
|
6783
8319
|
"admin.usageTiers.card.exhaustBlock": "tidak bisa chat sampai direset",
|
|
@@ -6801,20 +8337,35 @@ var id_default = {
|
|
|
6801
8337
|
"chat.usageBanner.inHours": "dalam {n}j",
|
|
6802
8338
|
"chat.usageBanner.view": "Lihat pemakaian",
|
|
6803
8339
|
"settings.myUsage": "Pemakaian",
|
|
6804
|
-
"settings.myUsage.
|
|
6805
|
-
"settings.myUsage.
|
|
6806
|
-
"settings.myUsage.
|
|
6807
|
-
"settings.myUsage.
|
|
6808
|
-
"settings.myUsage.
|
|
6809
|
-
"settings.myUsage.
|
|
6810
|
-
"settings.myUsage.
|
|
6811
|
-
"settings.myUsage.
|
|
6812
|
-
"settings.myUsage.
|
|
6813
|
-
"settings.myUsage.
|
|
6814
|
-
"settings.myUsage.
|
|
6815
|
-
"settings.myUsage.
|
|
6816
|
-
"settings.myUsage.
|
|
6817
|
-
"settings.myUsage.
|
|
8340
|
+
"settings.myUsage.subtitle": "Jatah pemakaian Anda dan kapan kembali. Batas ditetapkan oleh organisasi Anda, bukan per orang.",
|
|
8341
|
+
"settings.myUsage.tier.label": "Tingkat Anda",
|
|
8342
|
+
"settings.myUsage.tier.blocks": "Setelah habis, pesan berhenti sampai batas Anda direset",
|
|
8343
|
+
"settings.myUsage.tier.downgrades": "Setelah habis, pesan pindah ke model lebih kecil sampai batas Anda direset",
|
|
8344
|
+
"settings.myUsage.tier.compare": "Bandingkan tingkat",
|
|
8345
|
+
"settings.myUsage.remaining.label": "Sisa Anda",
|
|
8346
|
+
"settings.myUsage.remaining.messages": "Sekitar {n} pesan lagi",
|
|
8347
|
+
"settings.myUsage.remaining.credits": "Sisa {left} dari {limit} kredit pada periode ini",
|
|
8348
|
+
"settings.myUsage.remaining.noEstimate": "Riwayat di sini belum cukup untuk memperkirakan jumlah pesannya",
|
|
8349
|
+
"settings.myUsage.warn.title": "Anda akan diberi tahu sebelum habis",
|
|
8350
|
+
"settings.myUsage.warn.description": "Pemberitahuan muncul di obrolan setelah Anda melewati ambangnya",
|
|
8351
|
+
"settings.myUsage.warn.threshold": "{n}% terpakai",
|
|
8352
|
+
"settings.myUsage.limits.general": "Batas pemakaian umum",
|
|
8353
|
+
"settings.myUsage.limits.short": "Batas periode singkat",
|
|
8354
|
+
"settings.myUsage.limits.shortDescription": "Batas bergulir di atas batas yang lebih panjang, agar satu sore yang sibuk tidak menghabiskan seluruh periode.",
|
|
8355
|
+
"settings.myUsage.limit.left": "sisa {n}%",
|
|
8356
|
+
"settings.myUsage.limit.resets": "Reset {when}",
|
|
8357
|
+
"settings.myUsage.limit.recovers": "Pulih mulai {when}",
|
|
8358
|
+
"settings.myUsage.window.monthly": "Batas pemakaian bulanan",
|
|
8359
|
+
"settings.myUsage.window.weekly": "Batas pemakaian mingguan",
|
|
8360
|
+
"settings.myUsage.window.daily": "Batas pemakaian harian",
|
|
8361
|
+
"settings.myUsage.window.days": "Batas pemakaian {n} hari",
|
|
8362
|
+
"settings.myUsage.window.hours": "Batas pemakaian {n} jam",
|
|
8363
|
+
"settings.myUsage.window.minutes": "Batas pemakaian {n} menit",
|
|
8364
|
+
"settings.myUsage.window.generic": "Batas pemakaian",
|
|
8365
|
+
"settings.myUsage.spent.blocked": "Jatah Anda pada periode ini sudah habis. Pesan baru tidak terkirim sampai direset pada {when}.",
|
|
8366
|
+
"settings.myUsage.spent.downgraded": "Jatah Anda pada periode ini sudah habis. Pesan pindah ke model lebih kecil sampai direset pada {when}.",
|
|
8367
|
+
"settings.myUsage.unmetered.title": "Tidak ada batas untuk akun Anda",
|
|
8368
|
+
"settings.myUsage.unmetered.description": "Organisasi Anda tidak menjatah pemakaian, jadi tidak ada yang dihabiskan dan tidak ada yang direset.",
|
|
6818
8369
|
"admin.usageTiers.edit.creditsEstimate": "Sekitar {messages} pesan per {period}, berdasarkan pemakaian nyata organisasi ini (1 kredit \u2248 {n} pesan).",
|
|
6819
8370
|
"admin.usageTiers.edit.creditsRate": "Di organisasi ini 1 kredit sekitar {n} pesan, diukur dari {sample} pesan terakhir.",
|
|
6820
8371
|
"admin.usageTiers.edit.creditsNoData": "Pemakaian belum cukup terukur untuk menyatakan nilainya dalam pesan. Kembali lagi setelah beberapa waktu pemakaian.",
|
|
@@ -6829,7 +8380,6 @@ var id_default = {
|
|
|
6829
8380
|
"admin.members.col.tier": "Tier penggunaan",
|
|
6830
8381
|
"admin.usageTiers.assign.moved": "Tetapkan tier orang di menu Members \u2014 tiap baris punya kolom Tier penggunaan.",
|
|
6831
8382
|
"admin.usageTiers.assign.movedWithDefault": "Tetapkan tier orang di menu Members \u2014 tiap baris punya kolom Tier penggunaan. Yang belum ditetapkan mendapat {tier}.",
|
|
6832
|
-
"settings.myUsage.downgrades": "Setelah habis, pesan pindah ke model lebih murah sampai direset.",
|
|
6833
8383
|
"chat.usageBanner.overDowngrade": "Kredit habis \u2014 pesan memakai model lebih murah",
|
|
6834
8384
|
"admin.models.form.price": "Harga per 1 juta token",
|
|
6835
8385
|
"admin.models.form.priceExplain": "Cara kerja harga model",
|
|
@@ -6838,6 +8388,14 @@ var id_default = {
|
|
|
6838
8388
|
"admin.models.form.priceCacheWriteLabel": "Tulis cache",
|
|
6839
8389
|
"admin.models.form.priceCacheReadLabel": "Baca cache",
|
|
6840
8390
|
"admin.models.form.priceFooter": "Dalam dolar AS. Kosongkan untuk model yang harganya sudah dipublikasikan \u2014 akan diambil otomatis.",
|
|
8391
|
+
"admin.models.form.azureDeployment": "Deployment",
|
|
8392
|
+
"admin.models.form.azureDeploymentPlaceholder": "cth. gpt-5.6-luna",
|
|
8393
|
+
"admin.models.form.azureDeploymentHelp": 'Nama yang diberikan saat model di-deploy di Azure \u2014 nilai "model" pada panggilan API Azure tim Anda. Endpoint dan kunci diatur sekali di bagian Provider.',
|
|
8394
|
+
"admin.models.form.azureDeploymentEndpointPasted": 'Itu endpoint, bukan deployment \u2014 tempatnya di Provider \u2192 Azure. Isi nama deployment di sini (nilai "model" pada panggilan API).',
|
|
8395
|
+
"admin.models.form.azureUpstreamModel": "Model dasar",
|
|
8396
|
+
"admin.models.form.azureUpstreamModelHelp": "Model OpenAI yang dijalankan deployment ini. Terisi otomatis bila nama deployment sama dengan nama model; harga publik dan context window-nya yang dipakai.",
|
|
8397
|
+
"admin.models.form.azurePriceHint": "Kosongkan untuk memakai harga daftar model dasar. Isi harga bila Anda membayar di bawah harga daftar (diskon enterprise) atau memakai provisioned throughput (PTU).",
|
|
8398
|
+
"admin.models.form.azureNeedsPricing": "Pilih model dasar, atau isi keempat harga, untuk menyimpan model Azure.",
|
|
6841
8399
|
"admin.models.form.priceHelp.what": "Pemakaian diukur dalam kredit, dan satu kredit setara nilai uang tertentu. Jadi sebuah model harus punya harga sebelum pemakaiannya bisa dihitung.",
|
|
6842
8400
|
"admin.models.form.priceHelp.blankTitle": "Kosongkan \u2014 diambil otomatis",
|
|
6843
8401
|
"admin.models.form.priceHelp.blankBody": "Model dengan harga publik memakai angka resmi vendor dan selalu diperbarui otomatis. Tidak ada yang perlu diisi.",
|
|
@@ -6845,10 +8403,922 @@ var id_default = {
|
|
|
6845
8403
|
"admin.models.form.priceHelp.setBody": "Tidak ada yang menerbitkan harga model yang kamu jalankan sendiri, jadi isi berapa biaya sejuta token untukmu. Isi keempatnya atau tidak sama sekali: output yang kosong terbaca nol dan membuat model mahal tampak nyaris gratis.",
|
|
6846
8404
|
"admin.models.form.priceHelp.setExample": "input 2.00 \xB7 output 10.00\ntulis cache 2.50 \xB7 baca cache 0.20",
|
|
6847
8405
|
"admin.models.form.priceHelp.free": "Isi 0 pada keempatnya untuk membuat model gratis \u2014 tidak akan memakai jatah siapa pun.",
|
|
8406
|
+
"admin.models.form.section.details": "Detail model",
|
|
8407
|
+
"admin.models.form.section.detailsHint": "Cara model ini tampil bagi orang dan agen.",
|
|
8408
|
+
"admin.models.form.section.reasoningHint": "Seberapa banyak model berpikir sebelum menjawab.",
|
|
8409
|
+
"admin.models.form.section.priceHint": "Biaya per satu juta token, untuk batas penggunaan.",
|
|
8410
|
+
"admin.models.form.reasoning.style": "Gaya",
|
|
8411
|
+
"admin.models.form.reasoning.alwaysOn": "Selalu aktif",
|
|
8412
|
+
"admin.models.form.reasoning.alwaysOnHint": "Agen tidak dapat mematikan penalaran.",
|
|
8413
|
+
"admin.models.form.price.listLabel": "Harga daftar",
|
|
8414
|
+
"admin.models.form.catalog.loadingProviders": "Memuat {providers}\u2026",
|
|
8415
|
+
"admin.models.form.catalog.noMatch.titleIn": "Tidak ada model {provider} yang cocok dengan \u201C{query}\u201D",
|
|
8416
|
+
"admin.models.form.catalog.noMatch.title": "Tidak ada model yang cocok dengan \u201C{query}\u201D",
|
|
8417
|
+
"admin.models.form.catalog.noMatch.elsewhereOne": "{provider} punya 1 hasil.",
|
|
8418
|
+
"admin.models.form.catalog.noMatch.elsewhereMany": "{provider} punya {count} hasil.",
|
|
8419
|
+
"admin.models.form.catalog.noMatch.byId": "Model yang belum ada di katalog tetap bisa ditambahkan dengan ID-nya.",
|
|
8420
|
+
"admin.models.form.catalog.noMatch.allText": "Periksa ejaan, atau pilih penyedia untuk menambahkan model yang belum ada di katalog dengan ID-nya.",
|
|
8421
|
+
"admin.models.form.catalog.noMatch.inline": "Tidak ada model katalog yang cocok dengan \u201C{query}\u201D. Tambahkan dengan nama:",
|
|
8422
|
+
"admin.models.form.catalog.searchAll": "Cari di semua penyedia",
|
|
8423
|
+
"admin.models.form.catalog.clearSearch": "Hapus pencarian",
|
|
8424
|
+
"admin.models.form.catalog.enterId": "Masukkan ID model",
|
|
8425
|
+
"admin.models.form.catalog.failed.title": "Model {provider} gagal dimuat",
|
|
8426
|
+
"admin.models.form.catalog.failed.text": "Penyedia tidak merespons. Penyedia lain tidak terpengaruh.",
|
|
8427
|
+
"admin.models.form.catalog.failed.inline": "Model {provider} gagal dimuat.",
|
|
8428
|
+
"admin.models.form.catalog.failed.retry": "Coba lagi",
|
|
8429
|
+
"admin.models.form.catalog.failed.mark": "Gagal dimuat",
|
|
8430
|
+
"admin.models.form.catalog.providerEmpty.title": "{provider} tidak mencantumkan model apa pun",
|
|
8431
|
+
"admin.models.form.catalog.providerEmpty.text": "Tambahkan dengan ID model saja.",
|
|
8432
|
+
"admin.models.form.noProviders.title": "Hubungkan penyedia untuk menambahkan model",
|
|
8433
|
+
"admin.models.form.noProviders.text": "Model berasal dari penyedia yang kunci API-nya dimiliki organisasi Anda \u2014 Anthropic, OpenAI, OpenRouter, Azure, atau endpoint Anda sendiri yang kompatibel dengan OpenAI.",
|
|
8434
|
+
"admin.models.form.noProviders.action": "Tambah penyedia",
|
|
8435
|
+
"admin.models.form.catalog.search": "Cari model berdasarkan nama atau ID",
|
|
8436
|
+
"admin.models.form.catalog.all": "Semua",
|
|
8437
|
+
"admin.models.form.catalog.added": "Sudah ditambahkan",
|
|
8438
|
+
"admin.models.form.catalog.contextShort": "{value} ctx",
|
|
8439
|
+
"admin.models.form.catalog.contextTitle": "Jendela konteks",
|
|
8440
|
+
"admin.models.form.catalog.priceTitle": "Harga daftar per 1 juta token \u2014 input / output",
|
|
8441
|
+
"admin.models.form.catalog.image": "Gambar",
|
|
8442
|
+
"admin.models.form.catalog.embedding": "Embedding",
|
|
8443
|
+
"admin.models.form.catalog.azureHint": "Masukkan nama deployment",
|
|
8444
|
+
"admin.models.form.catalog.customHint": "Masukkan ID model",
|
|
8445
|
+
"admin.models.form.catalog.azureTyped": "Deployment Azure \u201C{id}\u201D",
|
|
8446
|
+
"admin.models.form.catalog.customTyped": "Model {provider} \u201C{id}\u201D",
|
|
8447
|
+
"admin.models.form.catalog.useId": "Gunakan \u201C{id}\u201D sebagai ID model",
|
|
8448
|
+
"admin.models.form.catalog.useIdHint": "Belum ada di katalog {provider}",
|
|
8449
|
+
"admin.models.form.review.back": "Kembali ke katalog",
|
|
8450
|
+
"admin.models.form.review.change": "Ganti",
|
|
8451
|
+
"admin.models.form.review.azureSubtitle": "Deployment Azure",
|
|
8452
|
+
"admin.models.form.review.context": "Konteks {value}",
|
|
8453
|
+
"admin.models.form.review.modelId": "ID model",
|
|
8454
|
+
"admin.models.form.review.modelIdHint": "Persis seperti yang diharapkan endpoint.",
|
|
8455
|
+
"admin.models.form.review.slugDerived": "Dari nama \xB7 dipakai agen dan API.",
|
|
8456
|
+
"admin.models.form.review.slugHint": "Dipakai agen dan API.",
|
|
8457
|
+
"admin.models.form.review.slugLocked": "Slug tidak dapat diubah setelah dipakai agen.",
|
|
8458
|
+
"admin.models.form.review.descriptionPlaceholder": "Opsional",
|
|
8459
|
+
"admin.models.form.reasoning.label": "Penalaran",
|
|
8460
|
+
"admin.models.form.reasoning.off": "Mati",
|
|
8461
|
+
"admin.models.form.reasoning.effortOption": "Upaya",
|
|
8462
|
+
"admin.models.form.reasoning.budgetOption": "Anggaran",
|
|
8463
|
+
"admin.models.form.reasoning.suggested": "Disarankan oleh katalog.",
|
|
8464
|
+
"admin.models.form.reasoning.table.level": "Tingkat",
|
|
8465
|
+
"admin.models.form.reasoning.table.offered": "Ditawarkan",
|
|
8466
|
+
"admin.models.form.reasoning.defaultLabel": "Bawaan",
|
|
8467
|
+
"admin.models.form.reasoning.budgetLabel": "Anggaran berpikir",
|
|
8468
|
+
"admin.models.form.reasoning.tokens": "token",
|
|
8469
|
+
"admin.models.form.price.label": "Harga",
|
|
8470
|
+
"admin.models.form.price.list": "{input} masuk \xB7 {output} keluar",
|
|
8471
|
+
"admin.models.form.price.setCustom": "Sesuaikan",
|
|
8472
|
+
"admin.models.form.price.useList": "Gunakan harga daftar",
|
|
8473
|
+
"admin.models.form.price.customHint": "USD per 1 juta token. Menggantikan harga daftar \u2014 misalnya diskon perusahaan. Isi 0 pada keempatnya untuk membuat model gratis.",
|
|
8474
|
+
"admin.models.form.price.unknownHint": "USD per 1 juta token. Harga daftar untuk model ini tidak ditemukan \u2014 isi biayanya, atau kosongkan agar dicari lagi saat disimpan. Isi 0 pada keempatnya untuk membuatnya gratis.",
|
|
8475
|
+
"admin.models.form.price.selfHostedHint": "USD per 1 juta token. Tidak ada harga publik untuk model yang Anda jalankan sendiri \u2014 isi biaya layanannya, keempatnya atau tidak sama sekali. Isi 0 pada keempatnya untuk membuatnya gratis.",
|
|
8476
|
+
"admin.models.form.images.label": "Gambar",
|
|
8477
|
+
"admin.models.form.problem.model": "Pilih model",
|
|
8478
|
+
"admin.models.form.problem.deployment": "Masukkan nama deployment",
|
|
8479
|
+
"admin.models.form.problem.name": "Beri nama model",
|
|
8480
|
+
"admin.models.form.problem.slug": "Tambahkan slug",
|
|
8481
|
+
"admin.models.form.problem.slugTaken": "\u201C{slug}\u201D sudah dipakai oleh {name}",
|
|
8482
|
+
"admin.models.form.problem.efforts": "Pilih setidaknya satu tingkat upaya",
|
|
8483
|
+
"admin.models.form.problem.pricePartial": "Isi keempat harga, atau kosongkan semuanya",
|
|
8484
|
+
"admin.models.form.problem.priceInvalid": "Harga harus berupa angka, 0 atau lebih",
|
|
8485
|
+
"admin.models.form.submit.add": "Tambah model",
|
|
8486
|
+
"admin.models.form.submit.edit": "Simpan perubahan",
|
|
6848
8487
|
"admin.usageTiers.edit.level.small": "Model kecil",
|
|
6849
8488
|
"admin.usageTiers.edit.level.medium": "Model menengah",
|
|
6850
8489
|
"admin.usageTiers.edit.level.large": "Model besar",
|
|
6851
|
-
"admin.usageTiers.edit.buysProjected": "* Perkiraan \u2014 organisasi ini belum punya model seukuran itu."
|
|
8490
|
+
"admin.usageTiers.edit.buysProjected": "* Perkiraan \u2014 organisasi ini belum punya model seukuran itu.",
|
|
8491
|
+
"platformNav.quickAccess": "Akses cepat",
|
|
8492
|
+
"platformNav.filterAll": "Semua",
|
|
8493
|
+
"platformNav.platformApps": "Aplikasi platform",
|
|
8494
|
+
"platformNav.fronteraApps": "Aplikasi Frontera",
|
|
8495
|
+
"platformNav.reorderInstructions": "Tekan Spasi untuk memilih aplikasi. Gunakan tombol panah untuk memindahkannya dalam grup, Spasi untuk meletakkan, atau Escape untuk membatalkan.",
|
|
8496
|
+
"platformNav.reorderStart": "{name} dipilih.",
|
|
8497
|
+
"platformNav.reorderPosition": "{name}, posisi {position} dari {count}.",
|
|
8498
|
+
"platformNav.reorderEnd": "{name} diletakkan.",
|
|
8499
|
+
"platformNav.reorderCancel": "Pengurutan {name} dibatalkan.",
|
|
8500
|
+
"platformNav.applications": "Aplikasi",
|
|
8501
|
+
"platformNav.catalogDescription": "Cari dan buka aplikasi.",
|
|
8502
|
+
"platformNav.search": "Cari aplikasi\u2026",
|
|
8503
|
+
"platformNav.resolvingWorkspace": "Mencari ruang kerja Anda\u2026",
|
|
8504
|
+
"platformNav.noWorkspace": "Tidak ada ruang kerja yang tersedia untuk Anda, jadi aplikasi tidak dapat dibuka.",
|
|
8505
|
+
"platformNav.goToOrganization": "Ke Beranda Organisasi",
|
|
8506
|
+
"platformNav.loading": "Memuat aplikasi\u2026",
|
|
8507
|
+
"platformNav.loadError": "Sebagian aplikasi tidak dapat dimuat.",
|
|
8508
|
+
"platformNav.retry": "Coba lagi",
|
|
8509
|
+
"platformNav.empty": "Tidak ada aplikasi yang tersedia di ruang kerja ini.",
|
|
8510
|
+
"platformNav.noMatches": "Tidak ada aplikasi yang cocok dengan pencarian Anda.",
|
|
8511
|
+
"platformNav.applicationsIntro": "Buka aplikasi yang ditetapkan untuk Anda di ruang kerja ini.",
|
|
8512
|
+
"platformNav.deniedNotice": "Anda tidak memiliki akses ke halaman itu.",
|
|
8513
|
+
"platformNav.backToApplications": "Kembali ke Aplikasi",
|
|
8514
|
+
"platformNav.noneAssigned": "Belum ada aplikasi yang ditetapkan untuk Anda. Minta akses kepada administrator Anda.",
|
|
8515
|
+
"platformNav.accessError": "Akses Anda ke ruang kerja ini tidak dapat dikonfirmasi.",
|
|
8516
|
+
"platformNav.pin": "Sematkan",
|
|
8517
|
+
"platformNav.unpin": "Lepas sematan",
|
|
8518
|
+
"platformNav.closeOthers": "Tutup aplikasi lain",
|
|
8519
|
+
"platformNav.closeBelow": "Tutup aplikasi di bawah",
|
|
8520
|
+
"platformNav.close": "Tutup",
|
|
8521
|
+
"platformNav.openStatus": "Terbuka",
|
|
8522
|
+
"platformNav.activeStatus": "Aktif",
|
|
8523
|
+
"platformNav.pinned": "Disematkan",
|
|
8524
|
+
"platformNav.openApps": "Aplikasi terbuka",
|
|
8525
|
+
"platformNav.expand": "Perluas navigasi platform",
|
|
8526
|
+
"platformNav.collapse": "Ciutkan navigasi platform",
|
|
8527
|
+
"platformNav.navigation": "Navigasi platform",
|
|
8528
|
+
"platformNav.appMenu": "Opsi untuk {name}",
|
|
8529
|
+
"platformNav.skip": "Langsung ke konten",
|
|
8530
|
+
"platformNav.description.chat": "Bekerja bersama agen melalui percakapan.",
|
|
8531
|
+
"platformNav.description.agents": "Konfigurasi, lengkapi, dan kelola agen.",
|
|
8532
|
+
"platformNav.description.workflows": "Rancang proses dan pantau eksekusinya.",
|
|
8533
|
+
"platformNav.description.functions": "Buat dan jalankan fungsi yang dapat digunakan kembali.",
|
|
8534
|
+
"platformNav.description.blueprint": "Jelajahi dan modelkan data bisnis Anda.",
|
|
8535
|
+
"platformNav.description.apps": "Buat, publikasikan, dan kelola Apps Anda.",
|
|
8536
|
+
"platformNav.description.console": "Tinjau metrik, trace, dan evaluasi.",
|
|
8537
|
+
"platformNav.description.forge": "Kembangkan aplikasi di ruang kerja terhubung.",
|
|
8538
|
+
"platformNav.description.home": "Kembali ke ruang kerja Anda.",
|
|
8539
|
+
"platformNav.allApplications": "Semua aplikasi",
|
|
8540
|
+
"platformNav.filterApplications": "Filter aplikasi",
|
|
8541
|
+
"platformNav.noPins": "Sematkan aplikasi agar tetap ada di bilah samping.",
|
|
8542
|
+
"platformNav.noOpenApps": "Aplikasi yang Anda buka akan muncul di sini.",
|
|
8543
|
+
"platformNav.clear": "Hapus",
|
|
8544
|
+
"platformNav.clearSearch": "Hapus pencarian aplikasi",
|
|
8545
|
+
"platformNav.resultCount": "Aplikasi ditemukan: {count}",
|
|
8546
|
+
"platformNav.closeLauncher": "Tutup aplikasi",
|
|
8547
|
+
"platformNav.leaveTitle": "Simpan perubahan sebelum keluar?",
|
|
8548
|
+
"platformNav.leaveDescription": "Aplikasi berikut memiliki perubahan yang belum disimpan.",
|
|
8549
|
+
"platformNav.unknownChanges": "Beberapa aplikasi tidak dapat melaporkan perubahan yang belum disimpan. Kembali ke aplikasi untuk memeriksa pekerjaan Anda, atau buang sesi saat ini.",
|
|
8550
|
+
"platformNav.appConnectionInterrupted": "Koneksi terputus. Aplikasi saat ini tetap terbuka. Anda dapat mencoba lagi dengan Muat ulang aplikasi.",
|
|
8551
|
+
"platformNav.appNavigationUnsupported": "Aplikasi ini tidak dapat berpindah tampilan tanpa dimuat ulang. Tampilan saat ini tetap terbuka.",
|
|
8552
|
+
"platformNav.appNavigationTimeout": "Aplikasi belum mengonfirmasi tampilan yang diminta. Sesi saat ini tetap terbuka.",
|
|
8553
|
+
"platformNav.keepCurrentView": "Tetap di tampilan saat ini",
|
|
8554
|
+
"platformNav.reloadApp": "Muat ulang aplikasi",
|
|
8555
|
+
"platformNav.shortcutsTitle": "Pintasan keyboard",
|
|
8556
|
+
"platformNav.shortcutsDescription": "Pintasan yang tersedia dalam konteks saat ini.",
|
|
8557
|
+
"platformNav.noShortcuts": "Tidak ada pintasan yang tersedia di sini.",
|
|
8558
|
+
"platformNav.applicationSequences": "Beralih aplikasi: tekan G, lalu huruf yang ditampilkan.",
|
|
8559
|
+
"platformNav.cancel": "Batal",
|
|
8560
|
+
"platformNav.discardChanges": "Buang perubahan",
|
|
8561
|
+
"platformNav.saveAndContinue": "Simpan dan lanjutkan",
|
|
8562
|
+
"platformNav.saving": "Menyimpan\u2026",
|
|
8563
|
+
"platformNav.saveFailed": "Perubahan tidak dapat disimpan.",
|
|
8564
|
+
"platformNav.workflowDraft": "{name} \xB7 Draf v{version}",
|
|
8565
|
+
"platformNav.draftLoading": "Workflow masih dimuat. Coba lagi setelah siap.",
|
|
8566
|
+
"platformNav.draftChanged": "Draf berubah saat disimpan. Tinjau perubahan terbaru dan coba lagi.",
|
|
8567
|
+
"platformNav.agentUpdating": "Agen ini masih diperbarui. Tunggu hingga selesai, lalu coba lagi.",
|
|
8568
|
+
"platformNav.agentRevisionMissing": "Buka kembali agen ini untuk memuat revisi drafnya sebelum menyimpan.",
|
|
8569
|
+
"platformNav.agentSaveFailed": "Draf agen tidak dapat disimpan. Perubahan lokal Anda tetap tersimpan.",
|
|
8570
|
+
"admin.usageTiers.section.subtitle": "Satu jatah kredit per orang, per periode. Orang ditetapkan ke tingkat di Anggota.",
|
|
8571
|
+
"admin.usageTiers.rules.summary": "Jatah berjalan per {window}, {tz}",
|
|
8572
|
+
"admin.usageTiers.rules.burst": "burst dihitung selama {len} berjalan",
|
|
8573
|
+
"admin.usageTiers.rules.noBurst": "tanpa periode burst",
|
|
8574
|
+
"admin.usageTiers.rules.edit": "Ubah aturan",
|
|
8575
|
+
"admin.usageTiers.rules.dialogTitle": "Kapan jatah disetel ulang",
|
|
8576
|
+
"admin.usageTiers.rules.dialogDescription": "Berlaku untuk semua tingkat, supaya jatahnya bisa dibandingkan satu sama lain.",
|
|
8577
|
+
"admin.usageTiers.rules.tzShort": "00:00 UTC jatuh di tengah jam kerja {tz}",
|
|
8578
|
+
"admin.usageTiers.table.tier": "Tingkat",
|
|
8579
|
+
"admin.usageTiers.table.assigned": "Ditetapkan",
|
|
8580
|
+
"admin.usageTiers.table.assignedHelp": "Orang dengan penetapan eksplisit. Siapa pun yang belum ditetapkan jatuh ke tingkat bawaan, jadi jangkauan tingkat bawaan lebih besar dari angkanya.",
|
|
8581
|
+
"admin.usageTiers.table.allowance": "Jatah",
|
|
8582
|
+
"admin.usageTiers.table.allowanceHelp": "Kredit yang diberikan sekali per periode. Baris di bawahnya adalah perkiraan berdasarkan pemakaian organisasi ini.",
|
|
8583
|
+
"admin.usageTiers.table.burst": "Burst",
|
|
8584
|
+
"admin.usageTiers.table.warnAt": "Peringatan pada",
|
|
8585
|
+
"admin.usageTiers.table.onExhaust": "Saat habis",
|
|
8586
|
+
"admin.usageTiers.table.buys": "\u2248 {n} pesan biasa",
|
|
8587
|
+
"admin.usageTiers.table.plusUnassigned": "+ semua yang belum ditetapkan",
|
|
8588
|
+
"admin.usageTiers.table.actions": "Tindakan tingkat",
|
|
8589
|
+
"admin.usageTiers.delete.title": "Hapus {tier}?",
|
|
8590
|
+
"admin.usageTiers.delete.body": "Siapa pun yang ditetapkan ke tingkat ini akan kembali ke tingkat bawaan pada pesan berikutnya. Ini tidak bisa dibatalkan.",
|
|
8591
|
+
"admin.usageTiers.dryRun.bannerStopped": "{n} dari {total} orang akan dihentikan oleh jatah ini bulan lalu, dan {warned} diperingatkan.",
|
|
8592
|
+
"admin.usageTiers.dryRun.bannerWarned": "{warned} dari {total} orang akan diperingatkan bulan lalu. Tidak ada yang dihentikan.",
|
|
8593
|
+
"admin.usageTiers.dryRun.bannerClear": "Aman",
|
|
8594
|
+
"admin.usageTiers.dryRun.bannerClearBody": "Tidak ada yang akan dihentikan atau diperingatkan oleh jatah ini bulan lalu.",
|
|
8595
|
+
"admin.usageTiers.dryRun.review": "Tinjau",
|
|
8596
|
+
"admin.usageTiers.dryRun.dialogTitle": "Akan dihentikan",
|
|
8597
|
+
"admin.usageTiers.dryRun.replayed": "Diputar ulang untuk {from} \u2013 {to}, {tz}. Pemakaiannya nyata; jatahnya yang diatur di sini.",
|
|
8598
|
+
"admin.usageTiers.dryRun.usedOfAllowed": "Terpakai / jatah",
|
|
8599
|
+
"admin.usageTiers.dryRun.raiseTier": "Naikkan {tier}",
|
|
8600
|
+
"admin.usageTiers.dryRun.warnedNotListed": "{warned} orang lain akan diperingatkan tapi tidak dihentikan. Dry run hanya melaporkan jumlahnya, jadi mereka belum bisa didaftar.",
|
|
8601
|
+
"chatApps.create.title": "Aplikasi baru",
|
|
8602
|
+
"chatApps.create.choose": "Pilih jenis aplikasi yang ingin dibuat.",
|
|
8603
|
+
"chatApps.create.chat.title": "Chat App",
|
|
8604
|
+
"chatApps.create.chat.description": "Susun percakapan terkelola menggunakan Agent Frontera.",
|
|
8605
|
+
"chatApps.create.chat.hint": "Percakapan terfokus di sekitar satu atau beberapa Agent Anda, dengan audiens, fitur, dan riwayat sendiri.",
|
|
8606
|
+
"chatApps.create.code.title": "Custom App",
|
|
8607
|
+
"chatApps.create.code.description": "Bangun antarmuka operasional khusus dengan Frontera SDK.",
|
|
8608
|
+
"chatApps.create.accent": "Aksen",
|
|
8609
|
+
"chatApps.create.back": "Kembali",
|
|
8610
|
+
"chatApps.preview.badge": "Pratinjau draf",
|
|
8611
|
+
"chatApps.preview.liveVersion": "Audiens Anda memakai versi {version}",
|
|
8612
|
+
"chatApps.preview.notPublished": "Belum dipublikasikan",
|
|
8613
|
+
"chatApps.preview.saving": "Menyimpan perubahan\u2026",
|
|
8614
|
+
"chatApps.preview.unsaved": "Perubahan belum disimpan",
|
|
8615
|
+
"chatApps.preview.saveFailed": "Perubahan tidak tersimpan",
|
|
8616
|
+
"chatApps.state.noVersion.title": "Aplikasi ini belum dipublikasikan",
|
|
8617
|
+
"chatApps.state.noVersion.detail": "Pembuatnya belum mempublikasikan versi. Setelah itu, aplikasi akan terbuka di sini.",
|
|
8618
|
+
"chatApps.state.denied.title": "Anda tidak bisa membuka aplikasi ini",
|
|
8619
|
+
"chatApps.state.denied.detail": "Akses Anda mungkin telah dicabut, atau aplikasi dinonaktifkan.",
|
|
8620
|
+
"chatApps.state.error.title": "Tidak bisa membuka aplikasi ini",
|
|
8621
|
+
"chatApps.state.error.detail": "Terjadi kesalahan saat memuatnya.",
|
|
8622
|
+
"chatApps.state.retry": "Coba lagi",
|
|
8623
|
+
"chatApps.state.emptyRoster": "Tidak ada Agent aplikasi ini yang tersedia untuk Anda saat ini.",
|
|
8624
|
+
"chatApps.sidebar.open": "Buka navigasi",
|
|
8625
|
+
"chatApps.sidebar.noConversations": "Belum ada percakapan.",
|
|
8626
|
+
"chatApps.sidebar.loadError": "Tidak bisa memuat percakapan.",
|
|
8627
|
+
"chatApps.newSession.suggestions": "Saran prompt",
|
|
8628
|
+
"chatApps.newSession.failed": "Tidak bisa memulai percakapan",
|
|
8629
|
+
"chatApps.editor.back": "Kembali ke aplikasi",
|
|
8630
|
+
"chatApps.editor.openLive": "Buka aplikasi",
|
|
8631
|
+
"chatApps.editor.publish": "Publikasikan",
|
|
8632
|
+
"chatApps.editor.publishing": "Mempublikasikan\u2026",
|
|
8633
|
+
"chatApps.editor.published": "Versi {version} sudah live",
|
|
8634
|
+
"chatApps.editor.publishBlocked": "Perbaiki masalah di bawah sebelum mempublikasikan",
|
|
8635
|
+
"chatApps.editor.saving": "Menyimpan\u2026",
|
|
8636
|
+
"chatApps.editor.saved": "Draf tersimpan",
|
|
8637
|
+
"chatApps.editor.saveFailed": "Tidak bisa menyimpan draf",
|
|
8638
|
+
"chatApps.editor.unsaved": "Perubahan belum tersimpan",
|
|
8639
|
+
"chatApps.editor.live": "Live: versi {version}",
|
|
8640
|
+
"chatApps.editor.notPublished": "Belum dipublikasikan",
|
|
8641
|
+
"chatApps.editor.tabs.overview": "Ringkasan",
|
|
8642
|
+
"chatApps.editor.tabs.experience": "Pengalaman",
|
|
8643
|
+
"chatApps.editor.tabs.agents": "Agent",
|
|
8644
|
+
"chatApps.editor.tabs.access": "Akses",
|
|
8645
|
+
"chatApps.editor.tabs.distribution": "Distribusi",
|
|
8646
|
+
"chatApps.editor.tabs.versions": "Versi",
|
|
8647
|
+
"chatApps.editor.tabs.preview": "Pratinjau",
|
|
8648
|
+
"chatApps.editor.findings": "Sebelum mempublikasikan",
|
|
8649
|
+
"chatApps.editor.overview.identity": "Identitas",
|
|
8650
|
+
"chatApps.editor.overview.identityHint": "Nama, deskripsi, dan ikon dipakai bersama oleh peluncur dan Beranda.",
|
|
8651
|
+
"chatApps.editor.overview.edit": "Ubah detail",
|
|
8652
|
+
"chatApps.editor.overview.status": "Status",
|
|
8653
|
+
"chatApps.editor.overview.accent": "Aksen",
|
|
8654
|
+
"chatApps.editor.overview.noAccent": "Tidak ada",
|
|
8655
|
+
"chatApps.editor.experience.welcomeTitle": "Judul sambutan",
|
|
8656
|
+
"chatApps.editor.experience.welcomeMessage": "Pesan sambutan",
|
|
8657
|
+
"chatApps.editor.experience.prompts": "Saran prompt",
|
|
8658
|
+
"chatApps.editor.experience.promptsHint": "Satu per baris. Ditampilkan di tampilan sambutan; maksimal 8.",
|
|
8659
|
+
"chatApps.editor.experience.context": "Konteks aplikasi",
|
|
8660
|
+
"chatApps.editor.experience.contextHint": "Menjelaskan situasi dan audiens tempat Agent digunakan. Melengkapi instruksi Agent; tidak pernah menggantikannya.",
|
|
8661
|
+
"chatApps.editor.experience.features": "Fitur",
|
|
8662
|
+
"chatApps.editor.experience.featuresHint": "Permintaan, bukan izin: fitur hanya muncul jika Agent, izin pengguna, dan kebijakan juga mengizinkannya.",
|
|
8663
|
+
"chatApps.editor.feature.fileUpload": "Unggah berkas",
|
|
8664
|
+
"chatApps.editor.feature.webBrowsing": "Penjelajahan web",
|
|
8665
|
+
"chatApps.editor.feature.voice": "Suara",
|
|
8666
|
+
"chatApps.editor.feature.artifacts": "Gambar dan artefak",
|
|
8667
|
+
"chatApps.editor.feature.canvas": "Kanvas dan teks kaya",
|
|
8668
|
+
"chatApps.editor.feature.followUps": "Saran lanjutan",
|
|
8669
|
+
"chatApps.editor.feature.workDetails": "Detail pekerjaan dan progres",
|
|
8670
|
+
"chatApps.editor.feature.overview": "Ringkasan percakapan",
|
|
8671
|
+
"chatApps.editor.feature.fork": "Cabangkan percakapan",
|
|
8672
|
+
"chatApps.editor.feature.share": "Bagikan",
|
|
8673
|
+
"chatApps.editor.feature.export": "Ekspor",
|
|
8674
|
+
"chatApps.editor.feature.schedule": "Jadwalkan pekerjaan",
|
|
8675
|
+
"chatApps.editor.feature.labels": "Label",
|
|
8676
|
+
"chatApps.editor.feature.feedback": "Umpan balik",
|
|
8677
|
+
"chatApps.editor.feature.humanHandoff": "Alih ke manusia",
|
|
8678
|
+
"chatApps.editor.conversation.title": "Percakapan",
|
|
8679
|
+
"chatApps.editor.conversation.multipleSessions": "Banyak percakapan",
|
|
8680
|
+
"chatApps.editor.conversation.multipleSessionsHint": "Nonaktif berarti satu percakapan per orang.",
|
|
8681
|
+
"chatApps.editor.conversation.history": "Tampilkan riwayat",
|
|
8682
|
+
"chatApps.editor.conversation.allowClear": "Orang bisa menghapus riwayatnya",
|
|
8683
|
+
"chatApps.editor.conversation.approvalMode": "Mode persetujuan bawaan",
|
|
8684
|
+
"chatApps.editor.conversation.approvalModeHint": "Tidak pernah lebih longgar dari yang diizinkan pengguna, Agent, atau workspace.",
|
|
8685
|
+
"chatApps.editor.memory.title": "Memori",
|
|
8686
|
+
"chatApps.editor.memory.enabled": "Memori jangka panjang",
|
|
8687
|
+
"chatApps.editor.memory.enabledHint": "Memori di aplikasi ini terpisah dari aplikasi lain, bahkan dengan Agent yang sama.",
|
|
8688
|
+
"chatApps.editor.memory.userCanInspect": "Orang bisa melihat memorinya",
|
|
8689
|
+
"chatApps.editor.memory.userCanClear": "Orang bisa menghapus memorinya",
|
|
8690
|
+
"chatApps.editor.agents.roster": "Daftar Agent",
|
|
8691
|
+
"chatApps.editor.agents.rosterHint": "Aplikasi merujuk Agent; tidak pernah mendefinisikannya ulang. Setiap Agent disematkan ke versi terbitnya saat Anda mempublikasikan.",
|
|
8692
|
+
"chatApps.editor.agents.mode": "Mode daftar",
|
|
8693
|
+
"chatApps.editor.agents.single": "Satu Agent",
|
|
8694
|
+
"chatApps.editor.agents.multiple": "Beberapa Agent",
|
|
8695
|
+
"chatApps.editor.agents.add": "Tambah Agent",
|
|
8696
|
+
"chatApps.editor.agents.pick": "Pilih Agent",
|
|
8697
|
+
"chatApps.editor.agents.default": "Bawaan",
|
|
8698
|
+
"chatApps.editor.agents.makeDefault": "Jadikan bawaan",
|
|
8699
|
+
"chatApps.editor.agents.remove": "Hapus",
|
|
8700
|
+
"chatApps.editor.agents.label": "Label di aplikasi ini",
|
|
8701
|
+
"chatApps.editor.agents.description": "Deskripsi di aplikasi ini",
|
|
8702
|
+
"chatApps.editor.agents.version": "Versi terbit {version}",
|
|
8703
|
+
"chatApps.editor.agents.unpublished": "Belum ada versi terbit",
|
|
8704
|
+
"chatApps.editor.agents.agentModeOffered": "Menawarkan mode Agent",
|
|
8705
|
+
"chatApps.editor.agents.empty": "Belum ada Agent. Tambahkan setidaknya satu.",
|
|
8706
|
+
"chatApps.editor.agents.allowSwitching": "Orang bisa memilih Agent",
|
|
8707
|
+
"chatApps.editor.agents.allowMentions": "Sebutan @Agent",
|
|
8708
|
+
"chatApps.editor.agents.agentMode": "Mode Agent",
|
|
8709
|
+
"chatApps.editor.agents.agentModeHint": "Percakapan persisten, untuk Agent di daftar yang menawarkannya.",
|
|
8710
|
+
"chatApps.editor.access.title": "Audiens",
|
|
8711
|
+
"chatApps.editor.access.hint": "Live: perubahan berlaku pada pesan berikutnya, tanpa publikasi. Rollback tidak pernah mengembalikan akses yang dicabut.",
|
|
8712
|
+
"chatApps.editor.access.workspace": "Semua anggota workspace",
|
|
8713
|
+
"chatApps.editor.access.users": "Orang tertentu",
|
|
8714
|
+
"chatApps.editor.access.addUser": "Tambah orang",
|
|
8715
|
+
"chatApps.editor.access.nobody": "Belum ada yang bisa membuka aplikasi ini.",
|
|
8716
|
+
"chatApps.editor.access.save": "Simpan akses",
|
|
8717
|
+
"chatApps.editor.access.saved": "Akses diperbarui",
|
|
8718
|
+
"chatApps.editor.access.external": "Audiens eksternal, tamu, dan akses publik hadir bersama distribusi mandiri.",
|
|
8719
|
+
"chatApps.editor.distribution.platform": "Tersedia di dalam Frontera",
|
|
8720
|
+
"chatApps.editor.distribution.platformHint": "Nonaktif mengeluarkan aplikasi dari peluncur dan menolak pesan berikutnya \u2014 saklar darurat live, bukan versi.",
|
|
8721
|
+
"chatApps.editor.distribution.later": "URL mandiri, domain kustom, dan widget menyusul di fase berikutnya.",
|
|
8722
|
+
"chatApps.editor.versions.hint": "Mempublikasikan membuat versi yang tidak dapat diubah dan memindahkan penunjuk live. Mempromosikan versi sebelumnya adalah rollback.",
|
|
8723
|
+
"chatApps.editor.versions.manage": "Kelola versi",
|
|
8724
|
+
"chatApps.editor.versions.empty": "Belum ada yang dipublikasikan.",
|
|
8725
|
+
"chatApps.editor.versions.live": "Live",
|
|
8726
|
+
"chatApps.builtin.redirect": "Ini adalah Chat bawaan. Tidak diatur di sini \u2014 membuka Chat\u2026",
|
|
8727
|
+
"chatApps.editor.navLabel": "Bagian aplikasi",
|
|
8728
|
+
"chatApps.editor.nav.configure": "Konfigurasi",
|
|
8729
|
+
"chatApps.editor.nav.deploy": "Terbitkan",
|
|
8730
|
+
"chatApps.editor.nav.test": "Uji",
|
|
8731
|
+
"chatApps.editor.nav.hasErrors": "Langkah berikutnya di sini",
|
|
8732
|
+
"chatApps.editor.section.overview": "Apa aplikasi ini, dan statusnya sekarang.",
|
|
8733
|
+
"chatApps.editor.section.experience": "Apa yang dilihat dan bisa dilakukan orang di dalam aplikasi.",
|
|
8734
|
+
"chatApps.editor.section.agents": "Agent mana yang menjawab di sini, dan bagaimana.",
|
|
8735
|
+
"chatApps.editor.section.access": "Siapa yang bisa membuka aplikasi. Perubahan berlaku seketika.",
|
|
8736
|
+
"chatApps.editor.section.distribution": "Di mana aplikasi bisa diakses. Perubahan berlaku seketika.",
|
|
8737
|
+
"chatApps.editor.section.versions": "Setiap versi yang dipublikasikan, dan mana yang live.",
|
|
8738
|
+
"chatApps.editor.section.preview": "Coba draf sebelum dipublikasikan.",
|
|
8739
|
+
"chatApps.editor.overview.name": "Nama",
|
|
8740
|
+
"chatApps.editor.overview.description": "Deskripsi",
|
|
8741
|
+
"chatApps.editor.overview.descriptionHint": "Satu baris di bawah nama pada peluncur dan Beranda.",
|
|
8742
|
+
"chatApps.editor.overview.icon": "Ikon",
|
|
8743
|
+
"chatApps.editor.overview.iconHint": "Ikon Frontera untuk peluncur, dock, dan kartu.",
|
|
8744
|
+
"chatApps.editor.overview.pickIcon": "Pilih",
|
|
8745
|
+
"chatApps.editor.overview.accentHint": "Mewarnai composer dan tautan di dalam aplikasi. Terbit bersama versi berikutnya.",
|
|
8746
|
+
"chatApps.editor.overview.statusHint": "Mempublikasikan membuat versi yang tidak dapat diubah; orang selalu membuka versi live.",
|
|
8747
|
+
"chatApps.editor.overview.liveSince": "Dipublikasikan {when}",
|
|
8748
|
+
"chatApps.editor.overview.notPublishedHint": "Tidak ada yang bisa membuka aplikasi sampai sebuah versi dipublikasikan.",
|
|
8749
|
+
"chatApps.editor.overview.draft": "Draf",
|
|
8750
|
+
"chatApps.editor.overview.address": "Alamat",
|
|
8751
|
+
"chatApps.editor.experience.welcome": "Sambutan",
|
|
8752
|
+
"chatApps.editor.experience.welcomeHint": "Hal pertama yang dilihat orang sebelum pesan pertamanya.",
|
|
8753
|
+
"chatApps.editor.experience.welcomeTitlePlaceholder": "Ada yang bisa kami bantu?",
|
|
8754
|
+
"chatApps.editor.experience.welcomeMessagePlaceholder": "Satu dua kalimat tentang kegunaan asisten ini.",
|
|
8755
|
+
"chatApps.editor.experience.promptsPlaceholder": "Di mana pesanan saya?\nBagaimana cara mengatur ulang kata sandi?",
|
|
8756
|
+
"chatApps.editor.experience.contextLabel": "Situasi dan audiens",
|
|
8757
|
+
"chatApps.editor.experience.contextPlaceholder": "Anda membantu pelanggan toko daring Acme. Jawab ringkas; eskalasikan sengketa tagihan ke petugas.",
|
|
8758
|
+
"chatApps.editor.feature.fileUpload.hint": "Lampirkan berkas ke pesan.",
|
|
8759
|
+
"chatApps.editor.feature.webBrowsing.hint": "Izinkan Agent membaca web saat diperlukan.",
|
|
8760
|
+
"chatApps.editor.feature.voice.hint": "Bicara, bukan mengetik.",
|
|
8761
|
+
"chatApps.editor.feature.artifacts.hint": "Gambar, dokumen, dan keluaran lain yang dihasilkan Agent.",
|
|
8762
|
+
"chatApps.editor.feature.canvas.hint": "Dokumen yang dapat diedit dan format kaya dalam balasan.",
|
|
8763
|
+
"chatApps.editor.feature.followUps.hint": "Saran pertanyaan berikutnya setelah tiap balasan.",
|
|
8764
|
+
"chatApps.editor.feature.workDetails.hint": "Tampilkan langkah yang diambil Agent saat bekerja.",
|
|
8765
|
+
"chatApps.editor.feature.overview.hint": "Panel ringkasan tentang isi percakapan.",
|
|
8766
|
+
"chatApps.editor.feature.fork.hint": "Cabangkan percakapan dari pesan mana pun.",
|
|
8767
|
+
"chatApps.editor.feature.share.hint": "Bagikan percakapan lewat tautan.",
|
|
8768
|
+
"chatApps.editor.feature.export.hint": "Unduh percakapan sebagai Markdown, JSON, atau PDF.",
|
|
8769
|
+
"chatApps.editor.feature.schedule.hint": "Ubah permintaan menjadi pekerjaan terjadwal.",
|
|
8770
|
+
"chatApps.editor.feature.labels.hint": "Atur percakapan dengan label.",
|
|
8771
|
+
"chatApps.editor.feature.feedback.hint": "Nilai balasan dan sampaikan apa yang salah.",
|
|
8772
|
+
"chatApps.editor.feature.humanHandoff.hint": "Alihkan percakapan ke petugas. Perutean hadir di fase berikutnya.",
|
|
8773
|
+
"chatApps.editor.conversation.hint": "Bagaimana percakapan dimulai, bertahan, dan disetujui.",
|
|
8774
|
+
"chatApps.editor.conversation.historyHint": "Nonaktif menyembunyikan daftar percakapan; orang tetap kembali ke percakapan saat ini.",
|
|
8775
|
+
"chatApps.editor.conversation.allowClearHint": "Menghapus percakapan atau mengosongkan percakapan Agent.",
|
|
8776
|
+
"chatApps.editor.conversation.mode.ask": "Tanya",
|
|
8777
|
+
"chatApps.editor.conversation.mode.auto": "Otomatis",
|
|
8778
|
+
"chatApps.editor.conversation.mode.full": "Penuh",
|
|
8779
|
+
"chatApps.editor.memory.enabledRowHint": "Nonaktif berarti tidak ada hal baru yang diingat; memori yang ada tetap.",
|
|
8780
|
+
"chatApps.editor.agents.moveUp": "Naikkan",
|
|
8781
|
+
"chatApps.editor.agents.moveDown": "Turunkan",
|
|
8782
|
+
"chatApps.editor.agents.behaviour": "Perilaku",
|
|
8783
|
+
"chatApps.editor.agents.behaviourHint": "Apa yang bisa dilakukan orang dengan daftar Agent. Tidak ada yang memberi Agent lebih dari yang sudah diizinkannya.",
|
|
8784
|
+
"chatApps.editor.agents.allowSwitchingHint": "Pilih Agent lain dari daftar saat memulai percakapan.",
|
|
8785
|
+
"chatApps.editor.agents.allowMentionsHint": "Konsultasikan Agent lain di daftar dari dalam percakapan Agent.",
|
|
8786
|
+
"chatApps.editor.access.workspaceHint": "Semua orang di workspace ini, sekarang dan nanti.",
|
|
8787
|
+
"chatApps.editor.distribution.hint": "Aplikasi terbit yang sama, tersedia di lebih banyak tempat.",
|
|
8788
|
+
"chatApps.editor.distribution.standalone": "URL mandiri",
|
|
8789
|
+
"chatApps.editor.distribution.standaloneHint": "Alamat yang dihosting Frontera di luar shell platform, dengan masuk akun.",
|
|
8790
|
+
"chatApps.editor.distribution.widget": "Widget tersemat",
|
|
8791
|
+
"chatApps.editor.distribution.widgetHint": "Sematkan aplikasi ke situs lain, dengan origin yang diizinkan.",
|
|
8792
|
+
"chatApps.editor.distribution.soon": "Fase berikutnya",
|
|
8793
|
+
"chatApps.editor.findings.blocking": "Sebelum bisa live",
|
|
8794
|
+
"chatApps.editor.findings.warnings": "Beberapa hal yang layak dilihat",
|
|
8795
|
+
"chatApps.editor.fix.addAgent": "Tambah Agent",
|
|
8796
|
+
"chatApps.editor.fix.agents": "Tinjau Agent",
|
|
8797
|
+
"chatApps.editor.fix.experience": "Tinjau Pengalaman",
|
|
8798
|
+
"chatApps.editor.notPublishedTip": "Draf \u2014 belum dipublikasikan. Publikasikan agar tersedia untuk audiensnya.",
|
|
8799
|
+
"chatApps.editor.setup.roster.title": "Pilih siapa yang menjawab",
|
|
8800
|
+
"chatApps.editor.setup.roster.description": "Pilih satu atau beberapa Agent Anda. Instruksi, alat, dan pengetahuan tetap milik Agent \u2014 aplikasi ini hanya menentukan cara mereka tampil dan siapa yang bisa menghubunginya.",
|
|
8801
|
+
"chatApps.editor.setup.generic.title": "Satu hal lagi sebelum live",
|
|
8802
|
+
"chatApps.editor.setup.preview.agentA": "Agent Dukungan",
|
|
8803
|
+
"chatApps.editor.setup.preview.roleA": "Menjawab pertanyaan rutin",
|
|
8804
|
+
"chatApps.editor.setup.preview.agentB": "Agent Penagihan",
|
|
8805
|
+
"chatApps.editor.setup.preview.roleB": "Tagihan dan pengembalian dana",
|
|
8806
|
+
"chatApps.editor.agents.search": "Cari Agent",
|
|
8807
|
+
"chatApps.editor.agents.loading": "Memuat Agent\u2026",
|
|
8808
|
+
"chatApps.editor.agents.noResults": "Tidak ada Agent yang cocok.",
|
|
8809
|
+
"chatApps.editor.agents.onRoster": "Sudah di daftar",
|
|
8810
|
+
"chatApps.editor.agents.addToRoster": "Tambah ke daftar",
|
|
8811
|
+
"chatApps.editor.agents.noDescription": "Tidak ada deskripsi.",
|
|
8812
|
+
"chatApps.editor.agents.unpublishedHint": "Publikasikan Agent ini di Console sebelum mempublikasikan aplikasi; daftar disematkan ke versi terbit.",
|
|
8813
|
+
"chatApps.editor.agents.selectHint": "Pilih Agent di kiri untuk melihat fungsinya.",
|
|
8814
|
+
"chatApps.editor.agents.modeHint": "Satu Agent menjawab semuanya, atau orang memilih dari beberapa.",
|
|
8815
|
+
"chatApps.editor.agents.customize": "Sesuaikan",
|
|
8816
|
+
"chatApps.editor.agents.customizeHint": "Hanya cara Agent ini tampil di aplikasi ini. Nama, instruksi, dan alatnya tidak berubah.",
|
|
8817
|
+
"chatApps.editor.agents.actions": "Tindakan untuk {name}",
|
|
8818
|
+
"chatApps.editor.agents.removeFromRoster": "Hapus dari daftar",
|
|
8819
|
+
"chatApps.editor.agents.preview.expand": "Baca semua",
|
|
8820
|
+
"chatApps.editor.agents.preview.collapse": "Tampilkan lebih sedikit",
|
|
8821
|
+
"chatApps.editor.agents.preview.noInstructions": "Agent ini belum punya instruksi.",
|
|
8822
|
+
"chatApps.editor.agents.preview.noSkills": "Tidak ada skill yang terhubung.",
|
|
8823
|
+
"appNavigation.apps": "Apps",
|
|
8824
|
+
"appNavigation.location": "Lokasi aplikasi",
|
|
8825
|
+
"appNavigation.parents": "Halaman induk",
|
|
8826
|
+
"appNavigation.sections": "Bagian aplikasi",
|
|
8827
|
+
"appNavigation.overview": "Ringkasan",
|
|
8828
|
+
"appNavigation.build": "Bangun",
|
|
8829
|
+
"appNavigation.versions": "Versi",
|
|
8830
|
+
"appNavigation.open": "Buka app",
|
|
8831
|
+
"appNavigation.settings": "Pengaturan",
|
|
8832
|
+
"appNavigation.search": "Cari app",
|
|
8833
|
+
"appNavigation.archived": "Tampilkan arsip",
|
|
8834
|
+
"appNavigation.new": "App baru",
|
|
8835
|
+
"appNavigation.unpublished": "Belum diterbitkan",
|
|
8836
|
+
"appNavigation.live": "Aktif",
|
|
8837
|
+
"appNavigation.description": "Deskripsi",
|
|
8838
|
+
"appNavigation.address": "Alamat",
|
|
8839
|
+
"appNavigation.setAddress": "Atur alamat khusus",
|
|
8840
|
+
"appNavigation.changeAddress": "Ubah",
|
|
8841
|
+
"appNavigation.currentVersion": "Versi aktif",
|
|
8842
|
+
"appNavigation.created": "Versi dibuat",
|
|
8843
|
+
"appNavigation.source": "Sumber",
|
|
8844
|
+
"appNavigation.emptySearch": "Tidak ada app yang cocok",
|
|
8845
|
+
"appNavigation.retry": "Coba lagi",
|
|
8846
|
+
"appNavigation.backResults": "Kembali ke hasil",
|
|
8847
|
+
"appNavigation.exitPreview": "Keluar pratinjau",
|
|
8848
|
+
"appNavigation.loading": "Memuat\u2026",
|
|
8849
|
+
"appNavigation.manage": "Kelola app",
|
|
8850
|
+
"appNavigation.buildApp": "Bangun app",
|
|
8851
|
+
"appNavigation.noVersion": "Bangun dan terbitkan versi agar app ini tersedia.",
|
|
8852
|
+
"appNavigation.status": "Status",
|
|
8853
|
+
"appNavigation.updated": "Diperbarui {time}",
|
|
8854
|
+
"appNavigation.noApps": "Belum ada app",
|
|
8855
|
+
"appNavigation.noAppsDescription": "Buat app untuk ruang kerja Anda.",
|
|
8856
|
+
"appNavigation.openWorkflow": "Buka workflow",
|
|
8857
|
+
"appNavigation.runs": "Eksekusi",
|
|
8858
|
+
"appNavigation.workflows": "Workflows",
|
|
8859
|
+
"appNavigation.hideArchived": "Sembunyikan arsip",
|
|
8860
|
+
"appNavigation.archivedStatus": "Diarsipkan",
|
|
8861
|
+
"appNavigation.preview": "Pratinjau",
|
|
8862
|
+
"appNavigation.notLive": "Belum live",
|
|
8863
|
+
"documentation.title": "Dokumentasi",
|
|
8864
|
+
"documentation.browse": "Jelajahi panduan",
|
|
8865
|
+
"documentation.search": "Cari dokumentasi",
|
|
8866
|
+
"documentation.searchPlaceholder": "Cari berdasarkan tugas atau istilah produk",
|
|
8867
|
+
"documentation.searchHint": "Ketik minimal dua karakter untuk mencari judul, subjudul, dan isi.",
|
|
8868
|
+
"documentation.searchEmpty": "Tidak ada panduan yang cocok. Coba nama tugas atau istilah produk.",
|
|
8869
|
+
"documentation.onThisPage": "Di halaman ini",
|
|
8870
|
+
"documentation.related": "Panduan terkait",
|
|
8871
|
+
"documentation.requires": "Memerlukan",
|
|
8872
|
+
"documentation.platform": "Platform",
|
|
8873
|
+
"documentation.reviewed": "Ditinjau",
|
|
8874
|
+
"documentation.revision": "Revisi dokumentasi",
|
|
8875
|
+
"documentation.downloadMarkdown": "Unduh Markdown",
|
|
8876
|
+
"documentation.exportPage": "Ekspor panduan ini",
|
|
8877
|
+
"documentation.downloadFailed": "Unduhan tidak tersedia. Muat ulang panduan ini dan coba lagi.",
|
|
8878
|
+
"documentation.loading": "Memuat dokumentasi",
|
|
8879
|
+
"documentation.retry": "Coba lagi",
|
|
8880
|
+
"documentation.reload": "Muat ulang",
|
|
8881
|
+
"documentation.selectOrganization": "Pilih organisasi untuk membaca dokumentasinya.",
|
|
8882
|
+
"documentation.unavailable": "Panduan ini tidak tersedia untuk akses atau versi terpasang Anda.",
|
|
8883
|
+
"documentation.serviceUnavailable": "Dokumentasi tidak tersedia untuk rilis ini. Minta administrator memasang paket dokumentasi yang kompatibel.",
|
|
8884
|
+
"documentation.changed": "Dokumentasi telah diperbarui. Muat ulang untuk membaca revisi terbaru.",
|
|
8885
|
+
"documentation.error": "Dokumentasi tidak dapat dimuat. Periksa koneksi Anda dan coba lagi.",
|
|
8886
|
+
"documentation.helpForPage": "Bantuan untuk halaman ini",
|
|
8887
|
+
"documentation.availability.released": "Dirilis",
|
|
8888
|
+
"documentation.availability.conditional": "Bersyarat",
|
|
8889
|
+
"documentation.availability.proposed": "Diusulkan",
|
|
8890
|
+
"documentation.availability.historical": "Historis",
|
|
8891
|
+
"documentation.group.start": "Mulai",
|
|
8892
|
+
"documentation.group.platform": "Platform",
|
|
8893
|
+
"documentation.group.chat": "Obrolan",
|
|
8894
|
+
"documentation.group.agents": "Agen",
|
|
8895
|
+
"documentation.group.resources": "Sumber daya",
|
|
8896
|
+
"documentation.group.blueprint": "Blueprint",
|
|
8897
|
+
"documentation.group.apps": "Aplikasi",
|
|
8898
|
+
"documentation.group.workflows": "Alur kerja",
|
|
8899
|
+
"documentation.group.control": "Kontrol",
|
|
8900
|
+
"documentation.group.settings": "Pengaturan",
|
|
8901
|
+
"documentation.group.integrate": "Integrasi",
|
|
8902
|
+
"documentation.group.operate": "Operasi",
|
|
8903
|
+
"documentation.group.delivery": "Penerapan",
|
|
8904
|
+
"documentation.group.adoption": "Adopsi",
|
|
8905
|
+
"documentation.group.help": "Bantuan",
|
|
8906
|
+
"documentation.group.releases": "Rilis",
|
|
8907
|
+
"documentation.group.templates": "Templat",
|
|
8908
|
+
"documentation.group.internal": "Internal",
|
|
8909
|
+
"documentation.section": "Bagian",
|
|
8910
|
+
"documentation.pager": "Panduan sebelumnya dan berikutnya",
|
|
8911
|
+
"documentation.previous": "Sebelumnya",
|
|
8912
|
+
"documentation.next": "Berikutnya",
|
|
8913
|
+
"documentation.copy": "Salin",
|
|
8914
|
+
"documentation.copied": "Tersalin",
|
|
8915
|
+
"documentation.browseByArea": "Jelajahi menurut area",
|
|
8916
|
+
"documentation.guideCount": "{count} panduan",
|
|
8917
|
+
"documentation.searchNavigate": "untuk berpindah",
|
|
8918
|
+
"documentation.searchOpen": "untuk membuka",
|
|
8919
|
+
"documentation.searchClose": "untuk menutup",
|
|
8920
|
+
"documentation.imageUnavailable": "Gambar tidak tersedia",
|
|
8921
|
+
"documentation.expandImage": "Buka ukuran penuh",
|
|
8922
|
+
"documentation.copyAnchor": "Salin tautan bagian ini",
|
|
8923
|
+
"documentation.noHeadings": "Tidak ada bagian di halaman ini",
|
|
8924
|
+
"documentation.closeNav": "Tutup panduan",
|
|
8925
|
+
"documentation.groupDescription.platform": "Pengenalan Frontera, konsep dan navigasinya, serta langkah awal sesuai pekerjaan Anda.",
|
|
8926
|
+
"documentation.groupDescription.chat": "Bekerja dengan Agen di Obrolan: sesi, berkas dan keluaran, jadwal, komputer, memori dan persetujuan.",
|
|
8927
|
+
"documentation.groupDescription.agents": "Mendefinisikan, mengonfigurasi, menguji, merilis dan memanggil Agen.",
|
|
8928
|
+
"documentation.groupDescription.resources": "Knowledge, Skills, Plugin, kanal, model, paket dan cakupan memori.",
|
|
8929
|
+
"documentation.groupDescription.blueprint": "Model bersama organisasi Anda: data terkelola dan terhubung, tipe objek, tautan, metrik dan akses.",
|
|
8930
|
+
"documentation.groupDescription.apps": "Membangun, mengamankan, merilis dan memecahkan masalah Frontera Apps.",
|
|
8931
|
+
"documentation.groupDescription.workflows": "Mengoordinasikan pemicu, langkah, Agen, Functions, tinjauan dan pemulihan.",
|
|
8932
|
+
"documentation.groupDescription.control": "Otoritas, persetujuan, run dan trace, evaluasi, penggunaan dan batas data.",
|
|
8933
|
+
"documentation.groupDescription.settings": "Organisasi, ruang kerja, peran, kredensial, branding dan preferensi.",
|
|
8934
|
+
"documentation.groupDescription.integrate": "API, kredensial, CLI, MCP, panduan agen dan event.",
|
|
8935
|
+
"documentation.groupDescription.operate": "Prasyarat, instalasi, konfigurasi, pembaruan, cadangan, pemantauan dan akses dukungan.",
|
|
8936
|
+
"documentation.groupDescription.delivery": "Bagaimana penerapan berjalan, dari tanggung jawab pertama hingga peluncuran.",
|
|
8937
|
+
"documentation.groupDescription.adoption": "Kepemilikan, pengukuran dan perluasan ke tanggung jawab berikutnya.",
|
|
8938
|
+
"documentation.groupDescription.help": "Pembaca dokumentasi, masalah masuk dan keterbatasan yang diketahui.",
|
|
8939
|
+
"documentation.groupDescription.releases": "Perubahan yang ditinjau per rilis, kompatibilitas dan catatan migrasi.",
|
|
8940
|
+
"documentation.groupDescription.templates": "Templat tersanitasi untuk dokumentasi khusus penerapan.",
|
|
8941
|
+
"documentation.groupDescription.internal": "Referensi rekayasa, arsitektur dan operasi dokumentasi untuk kontributor.",
|
|
8942
|
+
"documentation.groupDescription.start": "Tempat memulai.",
|
|
8943
|
+
"documentation.explore": "Jelajahi dokumentasi",
|
|
8944
|
+
"documentation.explore.capabilities": "Kapabilitas",
|
|
8945
|
+
"documentation.explore.reference": "Penerapan & referensi",
|
|
8946
|
+
"eval.agentQuality.title": "Kualitas",
|
|
8947
|
+
"eval.agentQuality.description": "Bagaimana jawaban agen ini ditinjau dan diuji.",
|
|
8948
|
+
"eval.agentQuality.pendingLabel": "Menunggu tinjauan",
|
|
8949
|
+
"eval.agentQuality.openInbox": "Buka tinjauan",
|
|
8950
|
+
"eval.agentQuality.passRateLabel": "Tingkat lulus (7 hari)",
|
|
8951
|
+
"eval.agentQuality.passRateHint": "Dari {count} putusan peninjau dan juri",
|
|
8952
|
+
"eval.agentQuality.passRateEmpty": "Belum ada putusan peninjau atau juri dalam 7 hari",
|
|
8953
|
+
"eval.agentQuality.lastDraftLabel": "Test draft terakhir",
|
|
8954
|
+
"eval.agentQuality.lastDraftValue": "{pass} dari {total} lulus",
|
|
8955
|
+
"eval.agentQuality.lastDraftHint": "Draf {revision} pada {dataset}",
|
|
8956
|
+
"eval.agentQuality.lastDraftEmpty": "Belum ada Test draft",
|
|
8957
|
+
"eval.agentQuality.openRun": "Buka run",
|
|
8958
|
+
"eval.agentQuality.regressionLabel": "Dataset regresi",
|
|
8959
|
+
"eval.agentQuality.regressionHint": "Test draft dan tinjauan publikasi dimulai dari dataset ini.",
|
|
8960
|
+
"eval.agentQuality.regressionNone": "Tidak ada",
|
|
8961
|
+
"eval.agentQuality.regressionSaved": "Dataset regresi disimpan",
|
|
8962
|
+
"eval.agentQuality.regressionFailed": "Tidak dapat menyimpan dataset regresi.",
|
|
8963
|
+
"eval.release.title": "Uji sebelum memublikasikan",
|
|
8964
|
+
"eval.release.subtitle": "Bandingkan draf ini dengan versi aktif pada pertanyaan yang sama. Ini hanya saran; Anda tetap dapat memublikasikan.",
|
|
8965
|
+
"eval.release.runTestDraft": "Jalankan Test draft",
|
|
8966
|
+
"eval.release.loading": "Memeriksa hasil pengujian\u2026",
|
|
8967
|
+
"eval.release.unavailable": "Hasil pengujian tidak tersedia untuk draf ini.",
|
|
8968
|
+
"eval.release.untested": "Draf {revision} belum diuji.",
|
|
8969
|
+
"eval.release.noRegressionDataset": "Tetapkan dataset regresi di bagian Kualitas agen ini agar setiap draf diuji pada pertanyaan yang sama.",
|
|
8970
|
+
"eval.release.testedOn": "Diuji pada {dataset}",
|
|
8971
|
+
"eval.release.running": "Test draft sedang berjalan pada {dataset}.",
|
|
8972
|
+
"eval.release.stopped": "Test draft terakhir pada {dataset} berakhir dengan status {status}.",
|
|
8973
|
+
"eval.release.draftResult": "Draf lulus {pass} dari {total} pada {dataset}.",
|
|
8974
|
+
"eval.release.noBaseline": "Belum ada run versi aktif yang selesai pada {dataset} untuk dibandingkan.",
|
|
8975
|
+
"eval.release.draftRate": "Draf {pct}",
|
|
8976
|
+
"eval.release.liveRate": "Aktif {pct}",
|
|
8977
|
+
"eval.release.notEnoughItems": "Item tidak cukup untuk mendeteksi regresi. Uji lebih banyak item agar yakin.",
|
|
8978
|
+
"eval.release.openRun": "Buka run",
|
|
8979
|
+
"eval.release.openComparison": "Buka perbandingan",
|
|
8980
|
+
"eval.release.ack": "Saya mengerti, tetap publikasikan",
|
|
8981
|
+
"eval.release.ackReason.loading": "Hasil pengujian masih dimuat.",
|
|
8982
|
+
"eval.release.ackReason.unavailable": "Hasil pengujian tidak tersedia untuk draf ini.",
|
|
8983
|
+
"eval.release.ackReason.untested": "Draf ini belum diuji.",
|
|
8984
|
+
"eval.release.ackReason.running": "Test draft untuk draf ini masih berjalan.",
|
|
8985
|
+
"eval.release.ackReason.stopped": "Test draft terakhir tidak selesai.",
|
|
8986
|
+
"eval.release.ackReason.no-baseline": "Belum ada run aktif yang selesai untuk dibandingkan dengan draf ini.",
|
|
8987
|
+
"eval.release.ackReason.comparing": "Perbandingan masih dimuat.",
|
|
8988
|
+
"eval.release.ackReason.undetectable": "Pengujian memiliki terlalu sedikit item yang berubah untuk mendeteksi regresi.",
|
|
8989
|
+
"eval.release.ackReason.regression": "Pengujian menunjukkan regresi signifikan dibandingkan versi aktif.",
|
|
8990
|
+
"eval.release.ackReason.stale-baseline": "Run aktif menguji versi sebelumnya, jadi perbandingan ini mungkin tidak sesuai dengan versi yang aktif sekarang.",
|
|
8991
|
+
"eval.release.staleBaseline": "Run aktif menguji versi sebelumnya. Jalankan lagi versi aktif pada {dataset} untuk membandingkan dengan yang aktif sekarang.",
|
|
8992
|
+
"chatApps.editor.distribution.standaloneEditable": "Orang dapat membuka aplikasi ini langsung di alamat ini. Mereka masuk dengan akun Frontera mereka. Nama dipakai bersama oleh setiap organisasi di instalasi ini.",
|
|
8993
|
+
"chatApps.editor.distribution.standaloneLocked": "Minta administrator workspace menyalakan Alamat App singkat di pengaturan workspace.",
|
|
8994
|
+
"chatApps.editor.distribution.standaloneReadOnly": "Orang dapat membuka aplikasi ini langsung di alamat ini. Mereka masuk dengan akun Frontera mereka.",
|
|
8995
|
+
"chatApps.editor.distribution.standaloneRename": "Jika diubah, alamat lama tetap mengarah ke sini.",
|
|
8996
|
+
"chatApps.editor.distribution.standaloneUnavailable": "Tidak tersedia di instalasi ini",
|
|
8997
|
+
"orgHome.workspaces": "Ruang kerja",
|
|
8998
|
+
"orgHome.searchWorkspaces": "Cari ruang kerja\u2026",
|
|
8999
|
+
"orgHome.manageBlueprint": "Kelola Blueprint",
|
|
9000
|
+
"orgHome.created": "Dibuat {date}",
|
|
9001
|
+
"orgHome.lastOpened": "Terakhir dibuka",
|
|
9002
|
+
"orgHome.sortLabel": "Urutkan ruang kerja",
|
|
9003
|
+
"orgHome.sort.recent": "Terakhir dibuka lebih dulu",
|
|
9004
|
+
"orgHome.sort.name": "Diurutkan menurut nama",
|
|
9005
|
+
"orgHome.enterWorkspace": "Buka {name}",
|
|
9006
|
+
"orgHome.noWorkspaces": "Tidak ada ruang kerja yang tersedia untuk Anda.",
|
|
9007
|
+
"orgHome.noWorkspacesHint": "Buat ruang kerja untuk memulai, atau minta akses kepada administrator.",
|
|
9008
|
+
"orgHome.noMatches": "Tidak ada ruang kerja yang cocok dengan pencarian Anda.",
|
|
9009
|
+
"orgHome.loadError": "Ruang kerja tidak dapat dimuat.",
|
|
9010
|
+
"orgHome.banner.objects.customer": "Pelanggan",
|
|
9011
|
+
"orgHome.banner.objects.account": "Akun",
|
|
9012
|
+
"orgHome.banner.objects.order": "Pesanan",
|
|
9013
|
+
"orgHome.firstWorkspace": "Mulai dengan ruang kerja",
|
|
9014
|
+
"orgHome.firstWorkspaceHint": "Buat ruang kerja untuk tim atau proses, lalu tambahkan orang dan aplikasi yang diperlukan.",
|
|
9015
|
+
"orgHome.requestAccessHint": "Minta administrator organisasi menambahkan Anda ke ruang kerja. Anda tetap dapat menjelajahi sumber daya bersama yang tersedia di sini.",
|
|
9016
|
+
"orgHome.clearSearch": "Hapus pencarian",
|
|
9017
|
+
"orgHome.empty.title": "Modelkan organisasi Anda",
|
|
9018
|
+
"orgHome.empty.description": "Definisikan objek, relasi, dan metrik yang dipakai tim Anda sekali saja. Setiap workspace dan Agent lalu berbagi model yang sama.",
|
|
9019
|
+
"orgHome.empty.waiting": "Belum ada objek yang tersedia untuk Anda. Objek muncul di sini setelah pengelola Blueprint menambahkannya ke model bersama.",
|
|
9020
|
+
"orgHome.empty.start": "Tambahkan objek pertama",
|
|
9021
|
+
"blueprint.modelPreview": "Diagram model",
|
|
9022
|
+
"blueprint.moreObjects": "+{count} lainnya",
|
|
9023
|
+
"platformScope.loading": "Membuka Frontera\u2026",
|
|
9024
|
+
"platformScope.slow": "Proses ini memerlukan waktu lebih lama dari biasanya.",
|
|
9025
|
+
"platformScope.reload": "Muat ulang",
|
|
9026
|
+
"platformScope.error": "Tidak dapat memuat organisasi dan ruang kerja Anda.",
|
|
9027
|
+
"platformScope.unavailable": "Organisasi atau ruang kerja ini tidak tersedia, atau Anda tidak memiliki akses.",
|
|
9028
|
+
"platformScope.organizationHome": "Buka Beranda Organisasi",
|
|
9029
|
+
"admin.common.back": "Kembali",
|
|
9030
|
+
"admin.ai.providers.manage.addTitle": "Tambah {name}",
|
|
9031
|
+
"admin.ai.providers.manage.required": "Isi nilai ini.",
|
|
9032
|
+
"admin.ai.providers.manage.credentialsJsonInvalid": "Tempel seluruh file JSON service account, termasuk client_email dan private_key.",
|
|
9033
|
+
"admin.ai.providers.manage.nothingToSave": "Masukkan nilai baru untuk mengganti yang tersimpan.",
|
|
9034
|
+
"admin.ai.providers.manage.saved": "{name} tersimpan",
|
|
9035
|
+
"admin.ai.providers.manage.cleared": "Kunci {name} dihapus",
|
|
9036
|
+
"admin.ai.providers.custom.removed": "Provider dihapus",
|
|
9037
|
+
"admin.ai.providers.picker.title": "Tambah provider",
|
|
9038
|
+
"admin.ai.providers.picker.description": "Pilih layanan yang menjalankan AI organisasi Anda. Setelah itu, masukkan kunci atau detail koneksinya.",
|
|
9039
|
+
"admin.ai.providers.picker.added": "Sudah ditambahkan",
|
|
9040
|
+
"admin.ai.providers.picker.manage": "Kelola {name}",
|
|
9041
|
+
"admin.ai.providers.kinds.anthropic": "Model Claude dengan API key Anthropic",
|
|
9042
|
+
"admin.ai.providers.kinds.openai": "Model GPT dengan API key OpenAI",
|
|
9043
|
+
"admin.ai.providers.kinds.google": "Model Gemini dengan API key Google AI Studio",
|
|
9044
|
+
"admin.ai.providers.kinds.vertex": "Model Gemini melalui proyek Google Cloud Anda",
|
|
9045
|
+
"admin.ai.providers.kinds.vertexAnthropic": "Model Claude melalui proyek Google Cloud Anda",
|
|
9046
|
+
"admin.ai.providers.kinds.openrouter": "Model dari banyak vendor dengan satu key OpenRouter",
|
|
9047
|
+
"admin.ai.providers.kinds.elevenlabs": "Mode suara dan transkripsi file audio",
|
|
9048
|
+
"admin.ai.providers.empty.title": "Belum ada provider AI",
|
|
9049
|
+
"admin.ai.providers.empty.body": "Agen, chat, dan Copilot belum bisa memakai AI sampai organisasi Anda menambahkan provider. Anda memerlukan API key atau detail koneksi dari provider tersebut.",
|
|
9050
|
+
"admin.ai.providers.loadError": "Gagal memuat provider.",
|
|
9051
|
+
"admin.ai.providers.rowActions": "Tindakan untuk {name}",
|
|
9052
|
+
"appNavigation.access": "Akses",
|
|
9053
|
+
"appAccess.hint": "Siapa yang dapat membuka aplikasi ini. Berlaku pada permintaan berikutnya; mempromosikan versi lama tidak mengembalikan akses yang dicabut.",
|
|
9054
|
+
"appAccess.everyone": "Semua yang dapat membuka aplikasi",
|
|
9055
|
+
"appAccess.everyoneHint": "Siapa pun di ruang kerja ini yang perannya dapat membuka aplikasi. Matikan untuk memilih orang.",
|
|
9056
|
+
"appAccess.selected": "Orang terpilih",
|
|
9057
|
+
"appAccess.nobodyYet": "Belum ada yang dipilih \u2014 pilih setidaknya satu orang, atau nyalakan kembali sakelarnya.",
|
|
9058
|
+
"appAccess.platformOnly": "Hanya orang yang membangun aplikasi di workspace ini yang dapat membukanya. Nyalakan sakelar untuk semua orang, atau pilih orang.",
|
|
9059
|
+
"appAccess.nobodyNamed": "Pilih setidaknya satu orang, atau biarkan semua yang dapat membuka aplikasi menggunakannya.",
|
|
9060
|
+
"appAccess.addPerson": "Tambahkan orang",
|
|
9061
|
+
"appAccess.save": "Simpan akses",
|
|
9062
|
+
"appAccess.saving": "Menyimpan\u2026",
|
|
9063
|
+
"appAccess.saved": "Akses diperbarui",
|
|
9064
|
+
"appAccess.saveFailed": "Gagal memperbarui akses",
|
|
9065
|
+
"appAccess.loadFailed": "Akses tidak dapat dimuat.",
|
|
9066
|
+
"appAccess.loading": "Memuat akses",
|
|
9067
|
+
"appNavigation.external": "Hosting eksternal",
|
|
9068
|
+
"appExternal.hint": "Hosting aplikasi ini di infrastruktur Anda sendiri. Penggunanya masuk dengan penyedia identitas Anda dan hanya membaca data yang diizinkan perannya. Perubahan berlaku pada permintaan berikutnya.",
|
|
9069
|
+
"appExternal.platformHint": "Aplikasi ini di-hosting di Frontera. Aktifkan hosting eksternal dan tambahkan origin yang diizinkan untuk mengatur proses masuk, peran, App key, dan App user.",
|
|
9070
|
+
"appExternal.needsWrite": "Hanya orang yang dapat mengedit aplikasi ini yang dapat melihat atau mengubah hosting eksternalnya. Minta akses kepada salah satu dari mereka.",
|
|
9071
|
+
"appExternal.saving": "Menyimpan\u2026",
|
|
9072
|
+
"appExternal.cancel": "Batal",
|
|
9073
|
+
"appExternal.delete": "Hapus",
|
|
9074
|
+
"appExternal.edit": "Ubah",
|
|
9075
|
+
"appExternal.done": "Selesai",
|
|
9076
|
+
"appExternal.never": "Belum pernah",
|
|
9077
|
+
"appExternal.optional": "Opsional",
|
|
9078
|
+
"appExternal.explainer.title": "Asal nilai: claim dan properti",
|
|
9079
|
+
"appExternal.explainer.tokenTitle": "Claim \u2014 dari token login",
|
|
9080
|
+
"appExternal.explainer.tokenBody": "Saat seseorang masuk, login perusahaan Anda (Keycloak, Entra, Okta, Google\u2026) mengirim token. Setiap baris di dalamnya adalah claim. Admin sistem login Anda yang menentukan isinya.",
|
|
9081
|
+
"appExternal.explainer.tokenUsedBy": "Dibaca oleh Admission, Match claim, atribut yang diambil dari claim, dan bagian Siapa yang mendapat peran ini di setiap peran. Tanyakan ke tim IT claim apa saja yang mereka kirim.",
|
|
9082
|
+
"appExternal.explainer.recordTitle": "Properti \u2014 dari catatan mereka di data Anda",
|
|
9083
|
+
"appExternal.explainer.recordBody": "Business link menemukan catatan yang mewakili orang itu, mis. baris Employee-nya di Blueprint. Setiap field-nya adalah properti.",
|
|
9084
|
+
"appExternal.explainer.recordUsedBy": "Dibaca oleh Match property dan atribut yang diambil dari properti. Contoh: Match claim employee_id menemukan catatan yang properti employeeId-nya sama, lalu city \u2190 properti cityName menghasilkan Tangerang.",
|
|
9085
|
+
"appExternal.users.roleChoices": "Peran untuk orang ini",
|
|
9086
|
+
"appExternal.help.roleChoices": "Untuk setiap peran: Dari login \u2014 peran mengikuti kondisi Siapa yang mendapat peran ini (mis. grupnya). Selalu beri \u2014 orang ini punya peran itu meski tidak ada kondisi yang cocok, mis. supervisor sementara. Jangan pernah beri \u2014 orang ini tidak punya peran itu meski ada kondisi yang cocok. Berlaku pada permintaan berikutnya.",
|
|
9087
|
+
"appExternal.users.noRolesYet": "App ini belum punya peran. Tambahkan di Roles.",
|
|
9088
|
+
"appExternal.users.roleChoiceFor": "Peran {role} untuk orang ini",
|
|
9089
|
+
"appExternal.users.choiceLogin": "Dari login",
|
|
9090
|
+
"appExternal.users.choiceAdd": "Selalu beri",
|
|
9091
|
+
"appExternal.users.choiceRemove": "Jangan pernah beri",
|
|
9092
|
+
"appExternal.help.audiences": "Siapa yang bisa masuk ke App ini, dan dengan sistem login apa. Ada dua jenis orang, masing-masing dengan sistem login dan aturannya sendiri, sehingga satu jenis tidak pernah bisa masuk sebagai jenis lainnya.",
|
|
9093
|
+
"appExternal.help.audience.operator": "Staf organisasi Anda, mis. relationship manager atau agen dukungan. Mereka masuk dengan login staf perusahaan (Microsoft, Okta\u2026) dan biasanya melihat portofolio, cabang, atau tim mereka sendiri.",
|
|
9094
|
+
"appExternal.help.audience.customer": "Pelanggan organisasi Anda, mis. nasabah yang memakai portal layanan mandiri. Mereka masuk dengan login pelanggan Anda dan hanya melihat catatan milik mereka sendiri. Biarkan tidak diatur jika App hanya untuk staf.",
|
|
9095
|
+
"appExternal.help.appKeys": "Hanya diperlukan jika SERVER App Anda yang melakukan proses masuk, bukan browser \u2014 mis. jika login perusahaan hanya bisa dijangkau dari backend Anda. Server mengirim kunci bersama token login orang itu. Kunci membuktikan App mana yang meminta; tidak pernah membuktikan siapa orangnya. Simpan di server, jangan pernah di kode browser.",
|
|
9096
|
+
"appExternal.help.appUsers": "Orang yang sudah masuk ke App ini. Mereka bukan anggota Frontera. Nonaktifkan seseorang untuk memutus aksesnya pada permintaan berikutnya, atau sesuaikan peran untuk satu orang.",
|
|
9097
|
+
"appExternal.help.roles": "Siapa yang mendapat setiap peran, dan apa yang bisa dilihatnya. Setiap peran mencantumkan kondisi masuk yang memberikannya, serta tipe catatan \u2014 dan baris mana \u2014 yang bisa dilihat orangnya. Tanpa peran, seseorang tidak melihat apa pun.",
|
|
9098
|
+
"appExternal.roles.addAllTypes": "Semua tipe, semua baris ({count})",
|
|
9099
|
+
"appExternal.help.addAllTypes": "Menambahkan 'semua baris' untuk setiap tipe catatan yang dapat dibaca workspace App ini, satu baris per tipe, dan mempertahankan aturan yang sudah ada. Berguna untuk uji awal atau peran admin tepercaya.\nTipe catatan yang ditambahkan ke Blueprint nanti TIDAK otomatis ikut \u2014 tambahkan saat peran ini perlu melihatnya.",
|
|
9100
|
+
"appExternal.help.kind.match": "Baris yang field-nya sama dengan nilai tentang orang itu.\nContoh: Tiket dukungan \xB7 Kota sama dengan kotanya \u2192 Lidya (kota Tangerang) hanya melihat tiket Tangerang.\nOrang tanpa nilai itu tidak melihat baris ini sama sekali.",
|
|
9101
|
+
"appExternal.help.kind.via": "Baris yang tertaut ke catatan yang sudah bisa dilihat orang itu, melalui sebuah tautan.\nContoh: Delivery \xB7 melalui shipmentDelivery \u2192 mereka melihat pengiriman dari shipment yang bisa mereka lihat.\nTipe yang ditautkan perlu aturannya sendiri, atau tidak ada yang bisa dicapai melaluinya.",
|
|
9102
|
+
"appExternal.help.kind.all": "Semua baris tipe ini, untuk semua orang dengan peran ini.\nGunakan untuk data referensi bersama, seperti kategori produk \u2014 jangan sebagai jalan pintas untuk data milik seseorang.",
|
|
9103
|
+
"appExternal.help.hosted": "Aktifkan jika tim Anda menjalankan App di alamat web sendiri, bukan di Frontera. Penggunanya lalu masuk dengan login perusahaan Anda, bukan akun Frontera.",
|
|
9104
|
+
"appExternal.help.origins": "Alamat web persis tempat App berjalan, mis. https://support.acme.com. Frontera hanya melayani App dari alamat ini. Tanpa path \u2014 hanya skema, host, dan port.",
|
|
9105
|
+
"appExternal.help.enabled": "Matikan untuk menghentikan semua orang di audiens ini masuk, tanpa menghapus pengaturannya.",
|
|
9106
|
+
"appExternal.help.issuer": "Alamat web sistem login perusahaan Anda. Isi lalu pilih Periksa \u2014 sisanya terisi otomatis.\nContoh:\n\u2022 Keycloak: https://login.acme.com/realms/acme\n\u2022 Microsoft Entra: https://login.microsoftonline.com/<tenant id>/v2.0\n\u2022 Google: https://accounts.google.com\n\u2022 Okta: https://acme.okta.com",
|
|
9107
|
+
"appExternal.help.jwksUri": "Tempat sistem login menerbitkan kunci tanda tangannya. Biarkan kosong \u2014 Periksa akan menemukannya. Hanya perlu untuk sistem login yang tidak menerbitkan pengaturan.",
|
|
9108
|
+
"appExternal.help.requiredAudience": "Untuk app mana sebuah login harus diterbitkan \u2014 client ID yang diberikan sistem login untuk App ini. Token untuk app Anda yang lain ditolak.\nContoh:\n\u2022 Keycloak / Okta: client ID yang Anda buat, mis. shipments-console\n\u2022 Microsoft Entra: Application (client) ID, mis. 0f3a9c2e-\u2026\n\u2022 Google: OAuth client ID, mis. 1234-abc.apps.googleusercontent.com",
|
|
9109
|
+
"appExternal.help.subjectClaim": "Bagian token login yang mengidentifikasi seseorang secara unik. Biarkan 'sub' \u2014 semua sistem login mengirimnya.\nContoh: sub = f3a9-\u2026 (Keycloak), 0001x\u2026 (Entra), 1098\u2026 (Google).",
|
|
9110
|
+
"appExternal.help.algorithms": "Cara sistem login Anda menandatangani token. Periksa mengisi ini; jarang perlu diubah.",
|
|
9111
|
+
"appExternal.help.admission": "Siapa yang boleh masuk. Kosongkan untuk mengizinkan semua yang masuk lewat sistem login untuk App ini.\nContoh:\n\u2022 Hanya grup staf: claim groups \xB7 nilai rm-users\n\u2022 Hanya akun Google perusahaan: claim hd \xB7 nilai acme.com\n\u2022 Hanya orang tertentu: claim email \xB7 nilai lidya@acme.com, ayu@acme.com",
|
|
9112
|
+
"appExternal.help.admissionClaim": "Bagian token login yang diperiksa.\nContoh: groups (Keycloak, Okta, Entra), hd \u2014 domain perusahaan (Google Workspace), email (sistem login apa pun).",
|
|
9113
|
+
"appExternal.help.admissionValues": "Nilai yang diizinkan, dipisah koma. Orang yang tidak cocok dengan satu pun ditolak.\nContoh: rm-users, rm-supervisor \xB7 acme.com \xB7 lidya@acme.com\nMicrosoft Entra secara bawaan mengirim grup sebagai kode ID, mis. 8f3c1a2b-\u2026, kecuali tim IT mengaturnya untuk mengirim nama.",
|
|
9114
|
+
"appExternal.help.businessLink": "Catatan mana di data Anda yang mewakili orang ini? Tautan membuat peran bisa menampilkan catatan 'milik mereka'.\nContoh:\n\u2022 Employee \xB7 claim employee_id \u2192 properti employeeId\n\u2022 Employee \xB7 claim email \u2192 properti email (Google, atau jika tidak ada ID karyawan)",
|
|
9115
|
+
"appExternal.help.linkObjectType": "Jenis catatan yang mewakili orang yang masuk, mis. Employee.",
|
|
9116
|
+
"appExternal.help.matchClaim": "Bagian token login yang berisi ID orang tersebut.\nContoh: employee_id (atribut kustom Keycloak / Okta), employeeid atau onPremisesSamAccountName (Entra, jika diatur), email (Google atau sistem login apa pun).",
|
|
9117
|
+
"appExternal.help.matchProperty": "Field di catatan Anda yang berisi nilai yang sama dengan claim itu.\nContoh: employeeId, email. Tepat satu catatan harus cocok saat seseorang pertama kali masuk.",
|
|
9118
|
+
"appExternal.help.attributes": "Nilai bernama tentang setiap orang yang dibandingkan oleh peran. Ambil dari token login atau dari catatan yang ditautkan.\nContoh:\n\u2022 city \u2190 properti cityName (dari catatan Employee mereka)\n\u2022 region \u2190 properti regionId\n\u2022 team \u2190 claim team (dari token login)\nLalu peran berbunyi mis. Tiket dukungan \xB7 Kota sama dengan kotanya.",
|
|
9119
|
+
"appExternal.help.roleName": "Nama singkat peran, mis. branch atau supervisor. Bagian Siapa yang mendapat peran ini, di bawah, menentukan siapa yang memegangnya.",
|
|
9120
|
+
"appExternal.help.roleDescription": "Untuk apa peran ini, dengan kata-kata Anda sendiri. Hanya admin yang melihatnya.",
|
|
9121
|
+
"appExternal.help.roleScope": 'Catatan mana yang bisa dilihat orang dengan peran ini: satu aturan per tipe catatan. Tipe yang tidak tercantum disembunyikan. Aturan:\n\u2022 match \u2014 baris yang field-nya sama dengan atribut orang itu: {"match":{"property":"cityName","attribute":"city"}}\n\u2022 via \u2014 baris yang tertaut ke yang sudah bisa dilihat: {"via":"shipmentDelivery"}\n\u2022 all \u2014 semua baris: {"all":true}\n\u2022 any \u2014 salah satu dari beberapa aturan: {"any":[aturan, aturan]}\nGunakan Tambah aturan untuk membuatnya dari daftar.',
|
|
9122
|
+
"appExternal.help.ruleBuilder": "Pilih tipe catatan dan baris mana yang dilihat peran: baris yang field-nya sama dengan atribut orang itu (mis. Kota = kotanya), baris yang tertaut ke yang sudah bisa dilihat, atau semua baris.",
|
|
9123
|
+
"appExternal.help.keyName": "Nama agar Anda mengenali kunci ini nanti, mis. 'backend produksi'. Kunci ini memungkinkan server App melakukan pertukaran login.",
|
|
9124
|
+
"appExternal.choose": "Pilih\u2026",
|
|
9125
|
+
"appExternal.loadingTypes": "Memuat tipe\u2026",
|
|
9126
|
+
"appExternal.audiences.check": "Periksa",
|
|
9127
|
+
"appExternal.audiences.checking": "Memeriksa\u2026",
|
|
9128
|
+
"appExternal.audiences.issuerFound": "Penyedia identitas ditemukan. Kuncinya dibaca otomatis. Algoritma tanda tangan: {algorithms}.",
|
|
9129
|
+
"appExternal.audiences.issuerNotFound": "Tidak ada penyedia identitas yang menjawab di alamat itu.",
|
|
9130
|
+
"appExternal.audiences.noLink": "Tanpa tautan bisnis",
|
|
9131
|
+
"appExternal.audiences.needsLink": "Atur tautan bisnis terlebih dahulu",
|
|
9132
|
+
"appExternal.roles.builderTitle": "Tambah aturan",
|
|
9133
|
+
"appExternal.roles.pickType": "Tipe objek\u2026",
|
|
9134
|
+
"appExternal.roles.ruleKind": "Baris mana",
|
|
9135
|
+
"appExternal.roles.kindMatch": "Baris dengan",
|
|
9136
|
+
"appExternal.roles.kindVia": "Baris yang tertaut ke data yang dapat mereka lihat, melalui",
|
|
9137
|
+
"appExternal.roles.kindAll": "Semua baris",
|
|
9138
|
+
"appExternal.roles.property": "Properti",
|
|
9139
|
+
"appExternal.roles.pickProperty": "Properti\u2026",
|
|
9140
|
+
"appExternal.roles.equalsMy": "sama dengan milik mereka:",
|
|
9141
|
+
"appExternal.roles.attribute": "Atribut",
|
|
9142
|
+
"appExternal.roles.pickAttribute": "Atribut\u2026",
|
|
9143
|
+
"appExternal.roles.noAttributes": "Tentukan atribut di audiens terlebih dahulu",
|
|
9144
|
+
"appExternal.roles.link": "Tautan",
|
|
9145
|
+
"appExternal.roles.pickLink": "Tautan\u2026",
|
|
9146
|
+
"appExternal.roles.noLinks": "Tipe ini tidak punya tautan",
|
|
9147
|
+
"appExternal.roles.addRule": "Tambah",
|
|
9148
|
+
"appExternal.hosting.title": "Hosting",
|
|
9149
|
+
"appExternal.hosting.external": "Di-hosting di luar Frontera",
|
|
9150
|
+
"appExternal.hosting.externalHint": "Tim Anda menyajikan aplikasi dari alamatnya sendiri dan memanggil Frontera dari browser atau servernya sendiri.",
|
|
9151
|
+
"appExternal.hosting.origins": "Origin yang diizinkan",
|
|
9152
|
+
"appExternal.hosting.originsHint": "Alamat web persis tempat aplikasi berjalan, seperti https://rm.example.com \u2014 tanpa path. Permintaan dari origin lain ditolak.",
|
|
9153
|
+
"appExternal.hosting.noOrigins": "Belum ada origin.",
|
|
9154
|
+
"appExternal.hosting.originLabel": "Origin yang diizinkan {n}",
|
|
9155
|
+
"appExternal.hosting.addOrigin": "Tambah origin",
|
|
9156
|
+
"appExternal.hosting.removeOrigin": "Hapus {origin}",
|
|
9157
|
+
"appExternal.hosting.originInvalid": "Masukkan setiap origin hanya sebagai skema dan host, misalnya https://rm.example.com.",
|
|
9158
|
+
"appExternal.hosting.originRequired": "Tambahkan setidaknya satu origin yang diizinkan untuk meng-hosting aplikasi ini di luar Frontera.",
|
|
9159
|
+
"appExternal.hosting.save": "Simpan hosting",
|
|
9160
|
+
"appExternal.hosting.saved": "Hosting diperbarui",
|
|
9161
|
+
"appExternal.hosting.saveFailed": "Gagal memperbarui hosting",
|
|
9162
|
+
"appExternal.hosting.loading": "Memuat hosting",
|
|
9163
|
+
"appExternal.hosting.loadFailed": "Pengaturan hosting tidak dapat dimuat.",
|
|
9164
|
+
"appExternal.keys.title": "App key",
|
|
9165
|
+
"appExternal.keys.hint": "App key memungkinkan server aplikasi Anda menukar token orang yang sudah masuk dengan akses Frontera. Simpan di server; jangan pernah kirim ke browser.",
|
|
9166
|
+
"appExternal.keys.create": "Buat key",
|
|
9167
|
+
"appExternal.keys.creating": "Membuat\u2026",
|
|
9168
|
+
"appExternal.keys.createTitle": "Buat App key",
|
|
9169
|
+
"appExternal.keys.createDescription": "Beri nama key sesuai server atau lingkungan yang akan menggunakannya.",
|
|
9170
|
+
"appExternal.keys.name": "Nama",
|
|
9171
|
+
"appExternal.keys.namePlaceholder": "Backend produksi",
|
|
9172
|
+
"appExternal.keys.nameRequired": "Nama wajib diisi",
|
|
9173
|
+
"appExternal.keys.createFailed": "Gagal membuat App key",
|
|
9174
|
+
"appExternal.keys.createdTitle": "Salin App key Anda",
|
|
9175
|
+
"appExternal.keys.createdDescription": "Simpan sekarang di pengelola rahasia server Anda.",
|
|
9176
|
+
"appExternal.keys.secret": "App key",
|
|
9177
|
+
"appExternal.keys.copy": "Salin key",
|
|
9178
|
+
"appExternal.keys.copied": "Key disalin",
|
|
9179
|
+
"appExternal.keys.copyFailed": "Key tidak dapat disalin. Pilih lalu salin secara manual.",
|
|
9180
|
+
"appExternal.keys.onceWarning": "Key ini tidak akan ditampilkan lagi. Jika hilang, cabut lalu buat key baru.",
|
|
9181
|
+
"appExternal.keys.empty": "Belum ada App key.",
|
|
9182
|
+
"appExternal.keys.createdAt": "Dibuat {time}",
|
|
9183
|
+
"appExternal.keys.lastUsed": "Terakhir dipakai {time}",
|
|
9184
|
+
"appExternal.keys.revokedBadge": "Dicabut",
|
|
9185
|
+
"appExternal.keys.revoke": "Cabut",
|
|
9186
|
+
"appExternal.keys.revokeTitle": "Cabut {name}?",
|
|
9187
|
+
"appExternal.keys.revokeDescription": "Server yang memakai key ini langsung tidak dapat lagi memasukkan pengguna. Tindakan ini tidak dapat dibatalkan.",
|
|
9188
|
+
"appExternal.keys.revoked": "App key dicabut",
|
|
9189
|
+
"appExternal.keys.revokeFailed": "Gagal mencabut App key",
|
|
9190
|
+
"appExternal.keys.loading": "Memuat App key",
|
|
9191
|
+
"appExternal.keys.loadFailed": "App key tidak dapat dimuat.",
|
|
9192
|
+
"appExternal.roles.title": "Peran",
|
|
9193
|
+
"appExternal.roles.hint": "Peran bisnis untuk aplikasi ini: siapa yang mendapatkannya, dan data yang boleh dibaca.",
|
|
9194
|
+
"appExternal.roles.add": "Tambah peran",
|
|
9195
|
+
"appExternal.roles.addTitle": "Tambah peran",
|
|
9196
|
+
"appExternal.roles.editTitle": "Ubah peran",
|
|
9197
|
+
"appExternal.roles.dialogDescription": "Tentukan siapa yang mendapat peran ini saat masuk, dan record dari setiap tipe objek yang boleh mereka baca.",
|
|
9198
|
+
"appExternal.roles.whoTitle": "Siapa yang mendapat peran ini",
|
|
9199
|
+
"appExternal.roles.whoHint": "Saat masuk, seseorang mendapat peran ini jika salah satu kondisi cocok dengan token loginnya.",
|
|
9200
|
+
"appExternal.roles.whoNone": "Tidak ada kondisi: tidak ada yang mendapat peran ini saat masuk. Berikan per orang di App users.",
|
|
9201
|
+
"appExternal.roles.conditionAudience": "Masuk sebagai",
|
|
9202
|
+
"appExternal.roles.conditionClaim": "Klaim",
|
|
9203
|
+
"appExternal.roles.conditionContains": "berisi",
|
|
9204
|
+
"appExternal.roles.addCondition": "Tambah kondisi",
|
|
9205
|
+
"appExternal.roles.removeCondition": "Hapus kondisi",
|
|
9206
|
+
"appExternal.roles.conditionIncomplete": "Setiap kondisi memerlukan klaim dan nilai.",
|
|
9207
|
+
"appExternal.help.roleWho": "Siapa yang mendapat peran ini, dibaca dari token login saat masuk. Setiap kondisi: orang yang masuk sebagai [Operator/Customer] yang [klaim]-nya berisi [nilai]. Satu kondisi cocok sudah cukup; seseorang bisa punya beberapa peran.\nContoh:\n\u2022 Operator \xB7 groups berisi rm-supervisor\n\u2022 Operator \xB7 hd berisi acme.com (Google: semua orang di perusahaan)\n\u2022 Operator \xB7 email berisi ayu@acme.com (satu orang)\nTanpa kondisi? Berikan peran per orang di App users. Perubahan di sini membuat semua orang masuk ulang.",
|
|
9208
|
+
"appExternal.roles.name": "Nama",
|
|
9209
|
+
"appExternal.roles.nameHint": "Huruf kecil, angka, tanda hubung, dan garis bawah, diawali huruf. Nama tidak dapat diubah nanti.",
|
|
9210
|
+
"appExternal.roles.nameInvalid": "Gunakan huruf kecil, angka, tanda hubung, atau garis bawah, diawali huruf.",
|
|
9211
|
+
"appExternal.roles.description": "Deskripsi",
|
|
9212
|
+
"appExternal.roles.scope": "Cakupan data (JSON)",
|
|
9213
|
+
"appExternal.roles.scopeHint": 'Dikunci per tipe objek. Setiap aturan berupa {"all": true}, {"match": {"property", "attribute"}}, {"via": "<link>"} atau {"any": [aturan]}. Tipe objek yang tidak dicantumkan tidak dapat dibaca.',
|
|
9214
|
+
"appExternal.roles.scopeRequired": "Masukkan cakupan data.",
|
|
9215
|
+
"appExternal.roles.scopeInvalidJson": "Cakupan data bukan JSON yang valid.",
|
|
9216
|
+
"appExternal.roles.scopeNotObject": "Cakupan data harus berupa objek JSON yang dikunci per tipe objek.",
|
|
9217
|
+
"appExternal.roles.scopeSummary": "Membaca: {types}",
|
|
9218
|
+
"appExternal.roles.whoSummary": "Diberikan kepada: {conditions}",
|
|
9219
|
+
"appExternal.roles.whoSummaryNone": "Hanya diberikan per orang",
|
|
9220
|
+
"appExternal.roles.scopeNone": "Tidak membaca data",
|
|
9221
|
+
"appExternal.roles.save": "Simpan peran",
|
|
9222
|
+
"appExternal.roles.saved": "Peran disimpan",
|
|
9223
|
+
"appExternal.roles.saveFailed": "Gagal menyimpan peran",
|
|
9224
|
+
"appExternal.roles.empty": "Belum ada peran. Tidak ada yang bisa membaca data sebelum memegang peran.",
|
|
9225
|
+
"appExternal.roles.deleteTitle": "Hapus peran {name}?",
|
|
9226
|
+
"appExternal.roles.deleteDescription": "Orang yang hanya memiliki peran ini kehilangan akses ke datanya pada permintaan berikutnya.",
|
|
9227
|
+
"appExternal.roles.deleted": "Peran dihapus",
|
|
9228
|
+
"appExternal.roles.deleteFailed": "Gagal menghapus peran",
|
|
9229
|
+
"appExternal.roles.loading": "Memuat peran",
|
|
9230
|
+
"appExternal.roles.loadFailed": "Peran tidak dapat dimuat.",
|
|
9231
|
+
"appExternal.audiences.title": "Audiens",
|
|
9232
|
+
"appExternal.audiences.hint": "Siapa yang boleh masuk, dan dengan penyedia identitas apa: Operator untuk staf Anda, Pelanggan untuk orang yang dilayani aplikasi Anda.",
|
|
9233
|
+
"appExternal.audiences.operator": "Operator",
|
|
9234
|
+
"appExternal.audiences.customer": "Pelanggan",
|
|
9235
|
+
"appExternal.audiences.operatorNotSet": "Belum diatur. Staf belum dapat masuk.",
|
|
9236
|
+
"appExternal.audiences.customerNotSet": "Belum diatur. Pelanggan tidak dapat masuk.",
|
|
9237
|
+
"appExternal.audiences.summary": "{issuer} \xB7 audience {audience}",
|
|
9238
|
+
"appExternal.audiences.status.enabled": "Aktif",
|
|
9239
|
+
"appExternal.audiences.status.disabled": "Nonaktif",
|
|
9240
|
+
"appExternal.audiences.setUp": "Atur",
|
|
9241
|
+
"appExternal.audiences.remove": "Hapus",
|
|
9242
|
+
"appExternal.audiences.deleteTitle": "Hapus pengaturan masuk untuk {audience}?",
|
|
9243
|
+
"appExternal.audiences.deleteDescription": "Tidak ada yang di audiens ini dapat masuk sampai diatur kembali.",
|
|
9244
|
+
"appExternal.audiences.deleted": "Pengaturan masuk dihapus",
|
|
9245
|
+
"appExternal.audiences.deleteFailed": "Gagal menghapus pengaturan masuk",
|
|
9246
|
+
"appExternal.audiences.dialogTitle": "Masuk untuk {audience}",
|
|
9247
|
+
"appExternal.audiences.dialogDescription": "Frontera hanya menerima token dari penyedia identitas ini jika issuer, audience, dan tanda tangannya cocok.",
|
|
9248
|
+
"appExternal.audiences.enabled": "Aktif",
|
|
9249
|
+
"appExternal.audiences.enabledHint": "Matikan untuk menghentikan proses masuk baru tanpa kehilangan pengaturan ini.",
|
|
9250
|
+
"appExternal.audiences.providerSection": "Penyedia identitas",
|
|
9251
|
+
"appExternal.audiences.issuer": "Issuer",
|
|
9252
|
+
"appExternal.audiences.issuerHint": "URL issuer di token penyedia. Kunci tanda tangannya diambil dari dokumen discovery penyedia.",
|
|
9253
|
+
"appExternal.audiences.jwksUri": "JWKS URI",
|
|
9254
|
+
"appExternal.audiences.jwksUriHint": "Hanya diperlukan jika penyedia tidak menerbitkan dokumen discovery.",
|
|
9255
|
+
"appExternal.audiences.requiredAudience": "Audience wajib",
|
|
9256
|
+
"appExternal.audiences.subjectClaim": "Klaim subjek",
|
|
9257
|
+
"appExternal.audiences.algorithms": "Algoritma",
|
|
9258
|
+
"appExternal.audiences.admissionSection": "Penerimaan",
|
|
9259
|
+
"appExternal.audiences.admissionHint": "Opsional. Hanya terima orang yang klaimnya berisi salah satu nilai ini.",
|
|
9260
|
+
"appExternal.audiences.claim": "Klaim",
|
|
9261
|
+
"appExternal.audiences.admissionValues": "Salah satu dari (pisahkan dengan koma)",
|
|
9262
|
+
"appExternal.audiences.value": "Nilai",
|
|
9263
|
+
"appExternal.audiences.linkSection": "Tautan bisnis",
|
|
9264
|
+
"appExternal.audiences.linkHint": "Opsional. Tautkan setiap orang ke tepat satu record, dicocokkan dengan sebuah klaim. Masuk ditolak jika tidak ada atau lebih dari satu record yang cocok.",
|
|
9265
|
+
"appExternal.audiences.objectType": "Tipe objek",
|
|
9266
|
+
"appExternal.audiences.matchClaim": "Klaim pencocok",
|
|
9267
|
+
"appExternal.audiences.matchProperty": "Properti pencocok",
|
|
9268
|
+
"appExternal.audiences.attributesSection": "Atribut",
|
|
9269
|
+
"appExternal.audiences.attributesHint": "Nilai yang dapat dicocokkan oleh cakupan data, diambil dari klaim token atau dari record yang ditautkan.",
|
|
9270
|
+
"appExternal.audiences.attributeName": "Nama atribut",
|
|
9271
|
+
"appExternal.audiences.attributeSource": "Sumber",
|
|
9272
|
+
"appExternal.audiences.sourceClaim": "Klaim",
|
|
9273
|
+
"appExternal.audiences.sourceProperty": "Properti",
|
|
9274
|
+
"appExternal.audiences.addAttribute": "Tambah atribut",
|
|
9275
|
+
"appExternal.audiences.removeAttribute": "Hapus atribut",
|
|
9276
|
+
"appExternal.audiences.issuerRequired": "Issuer wajib diisi.",
|
|
9277
|
+
"appExternal.audiences.requiredAudienceRequired": "Audience wajib diisi.",
|
|
9278
|
+
"appExternal.audiences.algorithmRequired": "Pilih setidaknya satu algoritma tanda tangan.",
|
|
9279
|
+
"appExternal.audiences.admissionIncomplete": "Penerimaan memerlukan klaim dan setidaknya satu nilai, atau kosongkan keduanya.",
|
|
9280
|
+
"appExternal.audiences.linkIncomplete": "Tautan bisnis memerlukan tipe objek, klaim pencocok, dan properti pencocok, atau kosongkan semuanya.",
|
|
9281
|
+
"appExternal.audiences.attributeNameInvalid": "Nama atribut diawali huruf dan hanya berisi huruf, angka, dan garis bawah.",
|
|
9282
|
+
"appExternal.audiences.attributeIncomplete": "Setiap atribut memerlukan klaim atau properti.",
|
|
9283
|
+
"appExternal.audiences.attributeDuplicate": "Setiap nama atribut hanya dapat dipakai sekali.",
|
|
9284
|
+
"appExternal.audiences.save": "Simpan pengaturan masuk",
|
|
9285
|
+
"appExternal.audiences.saved": "Pengaturan masuk disimpan",
|
|
9286
|
+
"appExternal.audiences.saveFailed": "Gagal menyimpan pengaturan masuk",
|
|
9287
|
+
"appExternal.audiences.loading": "Memuat pengaturan masuk",
|
|
9288
|
+
"appExternal.audiences.loadFailed": "Pengaturan masuk tidak dapat dimuat.",
|
|
9289
|
+
"appExternal.users.title": "App user",
|
|
9290
|
+
"appExternal.users.empty": "Belum ada App user. Orang akan muncul di sini setelah pertama kali masuk ke aplikasi.",
|
|
9291
|
+
"appExternal.users.person": "Orang",
|
|
9292
|
+
"appExternal.users.audience": "Audiens",
|
|
9293
|
+
"appExternal.users.linked": "Record tertaut",
|
|
9294
|
+
"appExternal.users.statusColumn": "Status",
|
|
9295
|
+
"appExternal.users.lastSeen": "Terakhir terlihat",
|
|
9296
|
+
"appExternal.users.actions": "Tindakan",
|
|
9297
|
+
"appExternal.users.overrides": "Penyesuaian peran",
|
|
9298
|
+
"appExternal.users.status.active": "Aktif",
|
|
9299
|
+
"appExternal.users.status.disabled": "Nonaktif",
|
|
9300
|
+
"appExternal.users.editRoles": "Penyesuaian peran",
|
|
9301
|
+
"appExternal.users.disable": "Nonaktifkan",
|
|
9302
|
+
"appExternal.users.enable": "Aktifkan",
|
|
9303
|
+
"appExternal.users.disableTitle": "Nonaktifkan {name}?",
|
|
9304
|
+
"appExternal.users.disableDescription": "Mereka kehilangan akses pada permintaan berikutnya, meskipun penyedia identitas Anda masih mengizinkan mereka masuk. Anda dapat mengaktifkannya kembali.",
|
|
9305
|
+
"appExternal.users.disabled": "App user dinonaktifkan",
|
|
9306
|
+
"appExternal.users.enabled": "App user diaktifkan",
|
|
9307
|
+
"appExternal.users.updateFailed": "Gagal memperbarui App user",
|
|
9308
|
+
"appExternal.users.rolesTitle": "Penyesuaian peran untuk {name}",
|
|
9309
|
+
"appExternal.users.rolesDescription": "Sesuaikan peran yang diberikan aturan masuk kepada orang ini. Berlaku pada permintaan berikutnya.",
|
|
9310
|
+
"appExternal.users.saveRoles": "Simpan peran",
|
|
9311
|
+
"appExternal.users.rolesSaved": "Peran diperbarui",
|
|
9312
|
+
"appExternal.users.loading": "Memuat App user",
|
|
9313
|
+
"appExternal.users.loadFailed": "App user tidak dapat dimuat.",
|
|
9314
|
+
"appsGallery.builtin": "Bawaan",
|
|
9315
|
+
"appsGallery.builtinChatDescription": "Bekerja dengan Agent yang ditugaskan kepada Anda.",
|
|
9316
|
+
"appsGallery.openChat": "Buka Chat",
|
|
9317
|
+
"appsGallery.manageAccess": "Kelola akses",
|
|
9318
|
+
"admin.members.addDialog.workspaceRole": "Peran di ruang kerja ini",
|
|
9319
|
+
"admin.members.addDialog.workspaceRoleHint": "Menentukan apa yang dapat mereka lakukan di ruang kerja ini. Peran organisasi mereka tetap berlaku di luarnya.",
|
|
9320
|
+
"admin.members.addDialog.businessUser": "Business user",
|
|
9321
|
+
"admin.members.addDialog.businessUserHint": "Mereka hanya dapat membuka aplikasi yang ditugaskan di sini \u2014 tanpa Blueprint, Agent, Workflow, Function, pengelolaan Apps, atau Console. Tugaskan Chat dan App setelahnya."
|
|
6852
9322
|
};
|
|
6853
9323
|
var STORAGE_KEY = "sebati-agents-locale";
|
|
6854
9324
|
var locales = { en: en_default, id: id_default };
|
|
@@ -6902,5 +9372,22 @@ function useTranslation() {
|
|
|
6902
9372
|
}
|
|
6903
9373
|
return ctx;
|
|
6904
9374
|
}
|
|
9375
|
+
var MOBILE_BREAKPOINT = 768;
|
|
9376
|
+
var QUERY = `(max-width: ${MOBILE_BREAKPOINT - 1}px)`;
|
|
9377
|
+
var query = null;
|
|
9378
|
+
function mediaQuery() {
|
|
9379
|
+
if (!query) query = window.matchMedia(QUERY);
|
|
9380
|
+
return query;
|
|
9381
|
+
}
|
|
9382
|
+
function subscribe(onChange) {
|
|
9383
|
+
const mql = mediaQuery();
|
|
9384
|
+
mql.addEventListener("change", onChange);
|
|
9385
|
+
return () => mql.removeEventListener("change", onChange);
|
|
9386
|
+
}
|
|
9387
|
+
var getSnapshot = () => mediaQuery().matches;
|
|
9388
|
+
var getServerSnapshot = () => false;
|
|
9389
|
+
function useIsMobile() {
|
|
9390
|
+
return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
|
|
9391
|
+
}
|
|
6905
9392
|
|
|
6906
|
-
export { I18nProvider, useTranslation };
|
|
9393
|
+
export { I18nProvider, MOBILE_BREAKPOINT, useIsMobile, useTranslation };
|