@red-hat-developer-hub/backstage-plugin-intelligent-assistant 3.1.0 → 3.2.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"LightspeedDrawerContext.esm.js","sources":["../../src/components/LightspeedDrawerContext.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { createContext } from 'react';\n\nimport { ChatbotDisplayMode } from '@patternfly/chatbot';\n\nimport { FileContent } from '../types';\n\n/**\n * When switching to fullscreen (embedded), open the notebooks list or a specific session.\n *\n * @public\n */\nexport type LightspeedEmbeddedNotebooksTarget =\n | 'notebooks'\n | { notebookSessionId: string };\n\n/**\n * Type for LightspeedDrawerContext\n *\n * @public\n */\nexport interface LightspeedDrawerContextType {\n /**\n * Whether the chatbot is active\n */\n isChatbotActive: boolean;\n /**\n * Toggle the chatbot open/closed\n */\n toggleChatbot: () => void;\n /**\n * The current display mode\n */\n displayMode: ChatbotDisplayMode;\n /**\n * Set the display mode (overlay, docked, or fullscreen/embedded).\n * When entering embedded mode, optional `embeddedNotebooks` navigates to\n * `/lightspeed/notebooks` (or a session URL) instead of the chat route.\n * Leaving embedded for overlay or docked resets the shell tab to Chat\n * (Notebooks is only available in fullscreen).\n */\n setDisplayMode: (\n mode: ChatbotDisplayMode,\n conversationIdParam?: string,\n embeddedNotebooks?: LightspeedEmbeddedNotebooksTarget,\n ) => void;\n /**\n * The drawer width (for docked mode)\n */\n drawerWidth: number;\n /**\n * The function for setting the drawer width\n */\n setDrawerWidth: React.Dispatch<React.SetStateAction<number>>;\n /**\n * The current conversation ID\n */\n currentConversationId?: string;\n /**\n * Set the current conversation ID and update the route if in embedded mode\n * Pass undefined to clear the conversation (example: for new chat)\n */\n setCurrentConversationId: (id: string | undefined) => void;\n /**\n * The message in the chat input box\n * Used to preserve input content when switching between display modes\n */\n draftMessage: string;\n /**\n * To save the input message as a draft when switching modes\n */\n setDraftMessage: (message: string) => void;\n /**\n * The file attachments in the chat input\n * Used to preserve file attachments when switching between display modes\n */\n draftFileContents: FileContent[];\n /**\n * To save file attachments as a draft when switching modes\n */\n setDraftFileContents: (files: FileContent[]) => void;\n /**\n * @internal After leaving fullscreen for overlay/docked, the next overlay/docked chat\n * mount should seed the thread from currentConversationId (or TEMP) instead of storage\n * lastOpened. Returns true at most once per handoff.\n */\n consumePendingOverlayThreadHandoff?: () => boolean;\n /**\n * Chat tab is 0, Notebooks tab is 1. Persisted across overlay/docked/fullscreen remounts\n * (each display mode mounts its own `LightspeedChat` tree).\n */\n shellViewTab: number;\n setShellViewTab: (tab: number) => void;\n}\n\nconst CONTEXT_KEY = '__lightspeed_drawer_context__' as keyof typeof globalThis;\n\nfunction getOrCreateContext() {\n const existing = (globalThis as any)[CONTEXT_KEY];\n if (existing)\n return existing as React.Context<LightspeedDrawerContextType | undefined>;\n const ctx = createContext<LightspeedDrawerContextType | undefined>(undefined);\n (globalThis as any)[CONTEXT_KEY] = ctx;\n return ctx;\n}\n\n/**\n * @public\n */\nexport const LightspeedDrawerContext = getOrCreateContext();\n"],"names":[],"mappings":";;AA8GA,MAAM,WAAA,GAAc,+BAAA;AAEpB,SAAS,kBAAA,GAAqB;AAC5B,EAAA,MAAM,QAAA,GAAY,WAAmB,WAAW,CAAA;AAChD,EAAA,IAAI,QAAA;AACF,IAAA,OAAO,QAAA;AACT,EAAA,MAAM,GAAA,GAAM,cAAuD,MAAS,CAAA;AAC5E,EAAC,UAAA,CAAmB,WAAW,CAAA,GAAI,GAAA;AACnC,EAAA,OAAO,GAAA;AACT;AAKO,MAAM,0BAA0B,kBAAA;;;;"}
1
+ {"version":3,"file":"LightspeedDrawerContext.esm.js","sources":["../../src/components/LightspeedDrawerContext.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { createContext } from 'react';\n\nimport { ChatbotDisplayMode } from '@patternfly/chatbot';\n\nimport { FileContent } from '../types';\n\n/**\n * When switching to fullscreen (embedded), open the notebooks list or a specific session.\n *\n * @public\n */\nexport type LightspeedEmbeddedNotebooksTarget =\n 'notebooks' | { notebookSessionId: string };\n\n/**\n * Type for LightspeedDrawerContext\n *\n * @public\n */\nexport interface LightspeedDrawerContextType {\n /**\n * Whether the chatbot is active\n */\n isChatbotActive: boolean;\n /**\n * Toggle the chatbot open/closed\n */\n toggleChatbot: () => void;\n /**\n * The current display mode\n */\n displayMode: ChatbotDisplayMode;\n /**\n * Set the display mode (overlay, docked, or fullscreen/embedded).\n * When entering embedded mode, optional `embeddedNotebooks` navigates to\n * `/lightspeed/notebooks` (or a session URL) instead of the chat route.\n * Leaving embedded for overlay or docked resets the shell tab to Chat\n * (Notebooks is only available in fullscreen).\n */\n setDisplayMode: (\n mode: ChatbotDisplayMode,\n conversationIdParam?: string,\n embeddedNotebooks?: LightspeedEmbeddedNotebooksTarget,\n ) => void;\n /**\n * The drawer width (for docked mode)\n */\n drawerWidth: number;\n /**\n * The function for setting the drawer width\n */\n setDrawerWidth: React.Dispatch<React.SetStateAction<number>>;\n /**\n * The current conversation ID\n */\n currentConversationId?: string;\n /**\n * Set the current conversation ID and update the route if in embedded mode\n * Pass undefined to clear the conversation (example: for new chat)\n */\n setCurrentConversationId: (id: string | undefined) => void;\n /**\n * The message in the chat input box\n * Used to preserve input content when switching between display modes\n */\n draftMessage: string;\n /**\n * To save the input message as a draft when switching modes\n */\n setDraftMessage: (message: string) => void;\n /**\n * The file attachments in the chat input\n * Used to preserve file attachments when switching between display modes\n */\n draftFileContents: FileContent[];\n /**\n * To save file attachments as a draft when switching modes\n */\n setDraftFileContents: (files: FileContent[]) => void;\n /**\n * @internal After leaving fullscreen for overlay/docked, the next overlay/docked chat\n * mount should seed the thread from currentConversationId (or TEMP) instead of storage\n * lastOpened. Returns true at most once per handoff.\n */\n consumePendingOverlayThreadHandoff?: () => boolean;\n /**\n * Chat tab is 0, Notebooks tab is 1. Persisted across overlay/docked/fullscreen remounts\n * (each display mode mounts its own `LightspeedChat` tree).\n */\n shellViewTab: number;\n setShellViewTab: (tab: number) => void;\n}\n\nconst CONTEXT_KEY = '__lightspeed_drawer_context__' as keyof typeof globalThis;\n\nfunction getOrCreateContext() {\n const existing = (globalThis as any)[CONTEXT_KEY];\n if (existing)\n return existing as React.Context<LightspeedDrawerContextType | undefined>;\n const ctx = createContext<LightspeedDrawerContextType | undefined>(undefined);\n (globalThis as any)[CONTEXT_KEY] = ctx;\n return ctx;\n}\n\n/**\n * @public\n */\nexport const LightspeedDrawerContext = getOrCreateContext();\n"],"names":[],"mappings":";;AA6GA,MAAM,WAAA,GAAc,+BAAA;AAEpB,SAAS,kBAAA,GAAqB;AAC5B,EAAA,MAAM,QAAA,GAAY,WAAmB,WAAW,CAAA;AAChD,EAAA,IAAI,QAAA;AACF,IAAA,OAAO,QAAA;AACT,EAAA,MAAM,GAAA,GAAM,cAAuD,MAAS,CAAA;AAC5E,EAAC,UAAA,CAAmB,WAAW,CAAA,GAAI,GAAA;AACnC,EAAA,OAAO,GAAA;AACT;AAKO,MAAM,0BAA0B,kBAAA;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { useState } from 'react';
2
+ import { useState, useEffect } from 'react';
3
3
  import { makeStyles } from '@material-ui/core';
4
- import { Dropdown, DropdownList, DropdownItem, MenuToggle } from '@patternfly/react-core';
4
+ import { Dropdown, DropdownList, DropdownItem, Tooltip, MenuToggle } from '@patternfly/react-core';
5
5
  import { AngleDownIcon } from '@patternfly/react-icons';
6
6
  import { useTranslation } from '../hooks/useTranslation.esm.js';
7
7
 
@@ -37,11 +37,17 @@ const MessageBarModelSelector = ({
37
37
  selectedModel,
38
38
  models,
39
39
  onSelect,
40
- disabled = false
40
+ disabled = false,
41
+ disabledTooltip
41
42
  }) => {
42
43
  const [isOpen, setIsOpen] = useState(false);
43
44
  const classes = useStyles();
44
45
  const { t } = useTranslation();
46
+ useEffect(() => {
47
+ if (disabled) {
48
+ setIsOpen(false);
49
+ }
50
+ }, [disabled]);
45
51
  const selectedModelLabel = models.find((m) => m.value === selectedModel)?.label ?? selectedModel;
46
52
  const toggle = (toggleRef) => /* @__PURE__ */ jsxs(
47
53
  MenuToggle,
@@ -59,12 +65,13 @@ const MessageBarModelSelector = ({
59
65
  ]
60
66
  }
61
67
  );
62
- return /* @__PURE__ */ jsx(
68
+ const dropdown = /* @__PURE__ */ jsx(
63
69
  Dropdown,
64
70
  {
65
71
  className: classes.dropdown,
66
- isOpen,
72
+ isOpen: isOpen && !disabled,
67
73
  onSelect: (_e, value) => {
74
+ if (disabled) return;
68
75
  onSelect(value);
69
76
  setIsOpen(false);
70
77
  },
@@ -86,6 +93,10 @@ const MessageBarModelSelector = ({
86
93
  )) })
87
94
  }
88
95
  );
96
+ if (disabled && disabledTooltip) {
97
+ return /* @__PURE__ */ jsx(Tooltip, { content: disabledTooltip, children: /* @__PURE__ */ jsx("span", { children: dropdown }) });
98
+ }
99
+ return dropdown;
89
100
  };
90
101
 
91
102
  export { MessageBarModelSelector };
@@ -1 +1 @@
1
- {"version":3,"file":"MessageBarModelSelector.esm.js","sources":["../../src/components/MessageBarModelSelector.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Ref, useState } from 'react';\n\nimport { makeStyles } from '@material-ui/core';\nimport {\n Dropdown,\n DropdownItem,\n DropdownList,\n MenuToggle,\n MenuToggleElement,\n} from '@patternfly/react-core';\nimport { AngleDownIcon } from '@patternfly/react-icons';\n\nimport { useTranslation } from '../hooks/useTranslation';\n\ntype MessageBarModelSelectorProps = {\n selectedModel: string;\n models: { label: string; value: string; provider: string }[];\n onSelect: (model: string) => void;\n disabled?: boolean;\n};\n\nconst useStyles = makeStyles(theme => ({\n selectorToggle: {\n display: 'flex',\n alignItems: 'center',\n gap: 4,\n color: theme.palette.text.secondary,\n fontSize: 14,\n fontWeight: 500,\n cursor: 'pointer',\n padding: '4px 8px',\n borderRadius: 8,\n border: 'none',\n background: 'transparent',\n '&:hover': {\n backgroundColor: theme.palette.action.hover,\n },\n '&:disabled': {\n cursor: 'not-allowed',\n opacity: 0.5,\n },\n },\n dropdown: {\n '& ul, & li': {\n padding: 0,\n margin: 0,\n },\n },\n}));\n\nexport const MessageBarModelSelector = ({\n selectedModel,\n models,\n onSelect,\n disabled = false,\n}: MessageBarModelSelectorProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const classes = useStyles();\n const { t } = useTranslation();\n\n const selectedModelLabel =\n models.find(m => m.value === selectedModel)?.label ?? selectedModel;\n\n const toggle = (toggleRef: Ref<MenuToggleElement>) => (\n <MenuToggle\n ref={toggleRef}\n onClick={() => setIsOpen(!isOpen)}\n isExpanded={isOpen}\n isDisabled={disabled}\n variant=\"plain\"\n className={classes.selectorToggle}\n aria-label={t('aria.chatbotSelector')}\n >\n {selectedModelLabel}\n <AngleDownIcon />\n </MenuToggle>\n );\n\n return (\n <Dropdown\n className={classes.dropdown}\n isOpen={isOpen}\n onSelect={(_e, value) => {\n onSelect(value as string);\n setIsOpen(false);\n }}\n onOpenChange={open => setIsOpen(open)}\n popperProps={{ position: 'left' }}\n shouldFocusToggleOnSelect\n shouldFocusFirstItemOnOpen={false}\n toggle={toggle}\n isScrollable={models.length > 10}\n maxMenuHeight={models.length > 10 ? '240px' : undefined}\n >\n <DropdownList>\n {models.map(model => (\n <DropdownItem\n value={model.value}\n key={model.value}\n isSelected={selectedModel === model.value}\n >\n {model.label}\n </DropdownItem>\n ))}\n </DropdownList>\n </Dropdown>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessageBarModelSelector.esm.js","sources":["../../src/components/MessageBarModelSelector.tsx"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Ref, useEffect, useState } from 'react';\n\nimport { makeStyles } from '@material-ui/core';\nimport {\n Dropdown,\n DropdownItem,\n DropdownList,\n MenuToggle,\n MenuToggleElement,\n Tooltip,\n} from '@patternfly/react-core';\nimport { AngleDownIcon } from '@patternfly/react-icons';\n\nimport { useTranslation } from '../hooks/useTranslation';\n\ntype MessageBarModelSelectorProps = {\n selectedModel: string;\n models: { label: string; value: string; provider: string }[];\n onSelect: (model: string) => void;\n disabled?: boolean;\n disabledTooltip?: string;\n};\n\nconst useStyles = makeStyles(theme => ({\n selectorToggle: {\n display: 'flex',\n alignItems: 'center',\n gap: 4,\n color: theme.palette.text.secondary,\n fontSize: 14,\n fontWeight: 500,\n cursor: 'pointer',\n padding: '4px 8px',\n borderRadius: 8,\n border: 'none',\n background: 'transparent',\n '&:hover': {\n backgroundColor: theme.palette.action.hover,\n },\n '&:disabled': {\n cursor: 'not-allowed',\n opacity: 0.5,\n },\n },\n dropdown: {\n '& ul, & li': {\n padding: 0,\n margin: 0,\n },\n },\n}));\n\nexport const MessageBarModelSelector = ({\n selectedModel,\n models,\n onSelect,\n disabled = false,\n disabledTooltip,\n}: MessageBarModelSelectorProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const classes = useStyles();\n const { t } = useTranslation();\n\n useEffect(() => {\n if (disabled) {\n setIsOpen(false);\n }\n }, [disabled]);\n\n const selectedModelLabel =\n models.find(m => m.value === selectedModel)?.label ?? selectedModel;\n\n const toggle = (toggleRef: Ref<MenuToggleElement>) => (\n <MenuToggle\n ref={toggleRef}\n onClick={() => setIsOpen(!isOpen)}\n isExpanded={isOpen}\n isDisabled={disabled}\n variant=\"plain\"\n className={classes.selectorToggle}\n aria-label={t('aria.chatbotSelector')}\n >\n {selectedModelLabel}\n <AngleDownIcon />\n </MenuToggle>\n );\n\n const dropdown = (\n <Dropdown\n className={classes.dropdown}\n isOpen={isOpen && !disabled}\n onSelect={(_e, value) => {\n if (disabled) return;\n onSelect(value as string);\n setIsOpen(false);\n }}\n onOpenChange={open => setIsOpen(open)}\n popperProps={{ position: 'left' }}\n shouldFocusToggleOnSelect\n shouldFocusFirstItemOnOpen={false}\n toggle={toggle}\n isScrollable={models.length > 10}\n maxMenuHeight={models.length > 10 ? '240px' : undefined}\n >\n <DropdownList>\n {models.map(model => (\n <DropdownItem\n value={model.value}\n key={model.value}\n isSelected={selectedModel === model.value}\n >\n {model.label}\n </DropdownItem>\n ))}\n </DropdownList>\n </Dropdown>\n );\n\n if (disabled && disabledTooltip) {\n return (\n <Tooltip content={disabledTooltip}>\n <span>{dropdown}</span>\n </Tooltip>\n );\n }\n\n return dropdown;\n};\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcpServersDisplayUtils.esm.js","sources":["../../src/components/mcpServersDisplayUtils.ts"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport type ServerStatus =\n | 'tokenRequired'\n | 'disabled'\n | 'ok'\n | 'failed'\n | 'unknown';\n\nexport type McpServerSortColumn = 'name' | 'status';\n\nexport type CredentialMode = 'organization' | 'personal';\n\nexport type McpServerDisplayInput = {\n enabled: boolean;\n status: 'connected' | 'error' | 'unknown';\n hasToken: boolean;\n};\n\n/** Shared server shape used by the configure-server modal and its hook. */\nexport type McpConfigureServer = {\n id: string;\n name: string;\n url?: string;\n enabled: boolean;\n status: 'connected' | 'error' | 'unknown';\n toolCount: number;\n hasToken: boolean;\n hasUserToken: boolean;\n hasOrgToken: boolean;\n validationError?: string;\n /** 'dcr' = tokens are minted automatically (no manual token needed). */\n auth?: string;\n};\n\nexport const formatApiError = (error: unknown): string => {\n if (typeof error === 'string') {\n return error;\n }\n if (error instanceof Error) {\n return error.message;\n }\n if (error && typeof error === 'object') {\n if ('message' in error && typeof error.message === 'string') {\n return error.message;\n }\n if ('error' in error) {\n return formatApiError((error as { error: unknown }).error);\n }\n }\n return '';\n};\n\nexport const getDisplayStatus = (\n server: McpServerDisplayInput,\n): ServerStatus => {\n if (!server.hasToken) return 'tokenRequired';\n if (!server.enabled) return 'disabled';\n if (server.status === 'error') return 'failed';\n if (server.status === 'connected') return 'ok';\n return 'unknown';\n};\n\nexport const getStatusSortRank = (status: ServerStatus): number => {\n switch (status) {\n case 'ok':\n return 0;\n case 'disabled':\n return 1;\n case 'unknown':\n return 2;\n case 'tokenRequired':\n return 3;\n case 'failed':\n return 4;\n default:\n return 5;\n }\n};\n\nexport type McpServerSortInput = McpServerDisplayInput & {\n name: string;\n toolCount?: number;\n};\n\nexport const compareMcpServers = (\n a: McpServerSortInput,\n b: McpServerSortInput,\n sortColumn: McpServerSortColumn,\n sortAsc: boolean,\n): number => {\n const direction = sortAsc ? 1 : -1;\n\n if (sortColumn === 'name') {\n return direction * a.name.localeCompare(b.name);\n }\n\n const statusCompare =\n getStatusSortRank(getDisplayStatus(a)) -\n getStatusSortRank(getDisplayStatus(b));\n if (statusCompare !== 0) {\n return direction * statusCompare;\n }\n\n const toolCompare = (a.toolCount ?? 0) - (b.toolCount ?? 0);\n if (toolCompare !== 0) {\n return direction * toolCompare;\n }\n\n return direction * a.name.localeCompare(b.name);\n};\n\nexport const isEnabledToggleUnavailable = (\n displayStatus: ServerStatus,\n): boolean => displayStatus === 'failed' || displayStatus === 'tokenRequired';\n\nexport const getEnabledToggleChecked = (\n server: McpServerDisplayInput,\n displayStatus: ServerStatus,\n): boolean =>\n isEnabledToggleUnavailable(displayStatus) ? false : server.enabled;\n\nexport const getInitialCredentialMode = (server: {\n hasUserToken: boolean;\n hasOrgToken: boolean;\n}): CredentialMode => {\n if (server.hasUserToken) {\n return 'personal';\n }\n if (server.hasOrgToken) {\n return 'organization';\n }\n return 'personal';\n};\n\nexport const getModalEffectiveHasToken = ({\n hasOrgToken,\n credentialMode,\n tokenInputValue,\n hasSavedPersonalTokenInModal,\n}: {\n hasOrgToken: boolean;\n credentialMode: CredentialMode;\n tokenInputValue: string;\n hasSavedPersonalTokenInModal: boolean;\n}): boolean => {\n if (credentialMode === 'organization') {\n return hasOrgToken;\n }\n return tokenInputValue.trim().length > 0 || hasSavedPersonalTokenInModal;\n};\n\nexport const getModalVerifiedHasToken = ({\n hasOrgToken,\n credentialMode,\n hasSavedPersonalTokenInModal,\n}: {\n hasOrgToken: boolean;\n credentialMode: CredentialMode;\n hasSavedPersonalTokenInModal: boolean;\n}): boolean => {\n if (credentialMode === 'organization') {\n return hasOrgToken;\n }\n return hasSavedPersonalTokenInModal;\n};\n\nexport const getModalDisplayHasToken = ({\n modalVerifiedHasToken,\n modalEnabled,\n serverHasToken,\n}: {\n modalVerifiedHasToken: boolean;\n modalEnabled: boolean;\n serverHasToken: boolean;\n}): boolean => modalVerifiedHasToken || (!modalEnabled && serverHasToken);\n\nexport const hasModalUnsavedChanges = ({\n tokenInputValue,\n initialTokenInputValue,\n modalEnabled,\n serverEnabled,\n credentialMode,\n initialCredentialMode,\n}: {\n tokenInputValue: string;\n initialTokenInputValue: string;\n modalEnabled: boolean;\n serverEnabled: boolean;\n credentialMode?: CredentialMode;\n initialCredentialMode?: CredentialMode;\n}): boolean =>\n tokenInputValue !== initialTokenInputValue ||\n modalEnabled !== serverEnabled ||\n (credentialMode !== undefined &&\n initialCredentialMode !== undefined &&\n credentialMode !== initialCredentialMode);\n\nexport type TokenValidationState = 'idle' | 'validating' | 'success' | 'error';\n\nexport const isSaveTokenDisabled = ({\n tokenInputValue,\n initialTokenInputValue,\n modalEnabled,\n serverEnabled,\n credentialMode,\n initialCredentialMode,\n hasOrgToken,\n hasSavedPersonalTokenInModal,\n tokenValidationState = 'idle',\n hasRemovedPersonalToken = false,\n isDcrServer = false,\n}: {\n tokenInputValue: string;\n initialTokenInputValue: string;\n modalEnabled: boolean;\n serverEnabled: boolean;\n credentialMode: CredentialMode;\n initialCredentialMode: CredentialMode;\n hasOrgToken: boolean;\n hasSavedPersonalTokenInModal: boolean;\n tokenValidationState?: TokenValidationState;\n hasRemovedPersonalToken?: boolean;\n isDcrServer?: boolean;\n}): boolean => {\n if (\n tokenValidationState === 'error' &&\n tokenInputValue === initialTokenInputValue\n ) {\n return true;\n }\n\n if (hasRemovedPersonalToken) {\n return false;\n }\n\n if (\n !hasModalUnsavedChanges({\n tokenInputValue,\n initialTokenInputValue,\n modalEnabled,\n serverEnabled,\n credentialMode,\n initialCredentialMode,\n })\n ) {\n return true;\n }\n\n if (isDcrServer) {\n return false;\n }\n\n if (credentialMode === 'personal') {\n return !getModalEffectiveHasToken({\n hasOrgToken,\n credentialMode,\n tokenInputValue,\n hasSavedPersonalTokenInModal,\n });\n }\n\n return false;\n};\n\nexport type McpServerModalInput = McpServerDisplayInput & {\n hasUserToken?: boolean;\n};\n\nexport const hasModalEnabledStateChange = ({\n server,\n modalEnabled,\n}: {\n server?: McpServerModalInput;\n modalEnabled: boolean;\n}): boolean => Boolean(server && modalEnabled !== server.enabled);\n\nexport const getModalDisplayStatus = (\n server: McpServerDisplayInput,\n modalEnabled: boolean,\n): ServerStatus => getDisplayStatus({ ...server, enabled: modalEnabled });\n\nexport type ModalEnabledDescriptionKey =\n | 'mcp.settings.modal.enabledDescription'\n | 'mcp.settings.modal.enabledDescriptionOff'\n | 'mcp.settings.modal.enabledDescriptionTokenRequired';\n\nexport const getModalEnabledDescriptionKey = (\n isChecked: boolean,\n displayStatus: ServerStatus,\n): ModalEnabledDescriptionKey => {\n if (isChecked) {\n return 'mcp.settings.modal.enabledDescription';\n }\n if (displayStatus === 'tokenRequired') {\n return 'mcp.settings.modal.enabledDescriptionTokenRequired';\n }\n return 'mcp.settings.modal.enabledDescriptionOff';\n};\n\nexport const isModalEnabledChecked = ({\n displayStatus,\n modalEnabled,\n}: {\n displayStatus: ServerStatus;\n modalEnabled: boolean;\n}): boolean =>\n isEnabledToggleUnavailable(displayStatus) ? false : modalEnabled;\n\n/** Translation function shape accepted by {@link getDisplayDetail}. */\ntype TranslateFn = (key: any, options?: any) => string;\n\nexport const getDisplayDetail = (\n server: { toolCount: number },\n displayStatus: ServerStatus,\n t: TranslateFn,\n): string => {\n if (displayStatus === 'disabled') return t('mcp.settings.status.disabled');\n if (displayStatus === 'tokenRequired')\n return t('mcp.settings.status.tokenRequired');\n if (displayStatus === 'failed') return t('mcp.settings.status.failed');\n if (displayStatus === 'ok') {\n if (server.toolCount === 1) {\n return t('mcp.settings.status.oneTool', {\n count: String(server.toolCount),\n });\n }\n return t('mcp.settings.status.manyTools', {\n count: String(server.toolCount),\n });\n }\n return t('mcp.settings.status.unknown');\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcpServersDisplayUtils.esm.js","sources":["../../src/components/mcpServersDisplayUtils.ts"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport type ServerStatus =\n 'tokenRequired' | 'disabled' | 'ok' | 'failed' | 'unknown';\n\nexport type McpServerSortColumn = 'name' | 'status';\n\nexport type CredentialMode = 'organization' | 'personal';\n\nexport type McpServerDisplayInput = {\n enabled: boolean;\n status: 'connected' | 'error' | 'unknown';\n hasToken: boolean;\n};\n\n/** Shared server shape used by the configure-server modal and its hook. */\nexport type McpConfigureServer = {\n id: string;\n name: string;\n url?: string;\n enabled: boolean;\n status: 'connected' | 'error' | 'unknown';\n toolCount: number;\n hasToken: boolean;\n hasUserToken: boolean;\n hasOrgToken: boolean;\n validationError?: string;\n /** 'dcr' = tokens are minted automatically (no manual token needed). */\n auth?: string;\n};\n\nexport const formatApiError = (error: unknown): string => {\n if (typeof error === 'string') {\n return error;\n }\n if (error instanceof Error) {\n return error.message;\n }\n if (error && typeof error === 'object') {\n if ('message' in error && typeof error.message === 'string') {\n return error.message;\n }\n if ('error' in error) {\n return formatApiError((error as { error: unknown }).error);\n }\n }\n return '';\n};\n\nexport const getDisplayStatus = (\n server: McpServerDisplayInput,\n): ServerStatus => {\n if (!server.hasToken) return 'tokenRequired';\n if (!server.enabled) return 'disabled';\n if (server.status === 'error') return 'failed';\n if (server.status === 'connected') return 'ok';\n return 'unknown';\n};\n\nexport const getStatusSortRank = (status: ServerStatus): number => {\n switch (status) {\n case 'ok':\n return 0;\n case 'disabled':\n return 1;\n case 'unknown':\n return 2;\n case 'tokenRequired':\n return 3;\n case 'failed':\n return 4;\n default:\n return 5;\n }\n};\n\nexport type McpServerSortInput = McpServerDisplayInput & {\n name: string;\n toolCount?: number;\n};\n\nexport const compareMcpServers = (\n a: McpServerSortInput,\n b: McpServerSortInput,\n sortColumn: McpServerSortColumn,\n sortAsc: boolean,\n): number => {\n const direction = sortAsc ? 1 : -1;\n\n if (sortColumn === 'name') {\n return direction * a.name.localeCompare(b.name);\n }\n\n const statusCompare =\n getStatusSortRank(getDisplayStatus(a)) -\n getStatusSortRank(getDisplayStatus(b));\n if (statusCompare !== 0) {\n return direction * statusCompare;\n }\n\n const toolCompare = (a.toolCount ?? 0) - (b.toolCount ?? 0);\n if (toolCompare !== 0) {\n return direction * toolCompare;\n }\n\n return direction * a.name.localeCompare(b.name);\n};\n\nexport const isEnabledToggleUnavailable = (\n displayStatus: ServerStatus,\n): boolean => displayStatus === 'failed' || displayStatus === 'tokenRequired';\n\nexport const getEnabledToggleChecked = (\n server: McpServerDisplayInput,\n displayStatus: ServerStatus,\n): boolean =>\n isEnabledToggleUnavailable(displayStatus) ? false : server.enabled;\n\nexport const getInitialCredentialMode = (server: {\n hasUserToken: boolean;\n hasOrgToken: boolean;\n}): CredentialMode => {\n if (server.hasUserToken) {\n return 'personal';\n }\n if (server.hasOrgToken) {\n return 'organization';\n }\n return 'personal';\n};\n\nexport const getModalEffectiveHasToken = ({\n hasOrgToken,\n credentialMode,\n tokenInputValue,\n hasSavedPersonalTokenInModal,\n}: {\n hasOrgToken: boolean;\n credentialMode: CredentialMode;\n tokenInputValue: string;\n hasSavedPersonalTokenInModal: boolean;\n}): boolean => {\n if (credentialMode === 'organization') {\n return hasOrgToken;\n }\n return tokenInputValue.trim().length > 0 || hasSavedPersonalTokenInModal;\n};\n\nexport const getModalVerifiedHasToken = ({\n hasOrgToken,\n credentialMode,\n hasSavedPersonalTokenInModal,\n}: {\n hasOrgToken: boolean;\n credentialMode: CredentialMode;\n hasSavedPersonalTokenInModal: boolean;\n}): boolean => {\n if (credentialMode === 'organization') {\n return hasOrgToken;\n }\n return hasSavedPersonalTokenInModal;\n};\n\nexport const getModalDisplayHasToken = ({\n modalVerifiedHasToken,\n modalEnabled,\n serverHasToken,\n}: {\n modalVerifiedHasToken: boolean;\n modalEnabled: boolean;\n serverHasToken: boolean;\n}): boolean => modalVerifiedHasToken || (!modalEnabled && serverHasToken);\n\nexport const hasModalUnsavedChanges = ({\n tokenInputValue,\n initialTokenInputValue,\n modalEnabled,\n serverEnabled,\n credentialMode,\n initialCredentialMode,\n}: {\n tokenInputValue: string;\n initialTokenInputValue: string;\n modalEnabled: boolean;\n serverEnabled: boolean;\n credentialMode?: CredentialMode;\n initialCredentialMode?: CredentialMode;\n}): boolean =>\n tokenInputValue !== initialTokenInputValue ||\n modalEnabled !== serverEnabled ||\n (credentialMode !== undefined &&\n initialCredentialMode !== undefined &&\n credentialMode !== initialCredentialMode);\n\nexport type TokenValidationState = 'idle' | 'validating' | 'success' | 'error';\n\nexport const isSaveTokenDisabled = ({\n tokenInputValue,\n initialTokenInputValue,\n modalEnabled,\n serverEnabled,\n credentialMode,\n initialCredentialMode,\n hasOrgToken,\n hasSavedPersonalTokenInModal,\n tokenValidationState = 'idle',\n hasRemovedPersonalToken = false,\n isDcrServer = false,\n}: {\n tokenInputValue: string;\n initialTokenInputValue: string;\n modalEnabled: boolean;\n serverEnabled: boolean;\n credentialMode: CredentialMode;\n initialCredentialMode: CredentialMode;\n hasOrgToken: boolean;\n hasSavedPersonalTokenInModal: boolean;\n tokenValidationState?: TokenValidationState;\n hasRemovedPersonalToken?: boolean;\n isDcrServer?: boolean;\n}): boolean => {\n if (\n tokenValidationState === 'error' &&\n tokenInputValue === initialTokenInputValue\n ) {\n return true;\n }\n\n if (hasRemovedPersonalToken) {\n return false;\n }\n\n if (\n !hasModalUnsavedChanges({\n tokenInputValue,\n initialTokenInputValue,\n modalEnabled,\n serverEnabled,\n credentialMode,\n initialCredentialMode,\n })\n ) {\n return true;\n }\n\n if (isDcrServer) {\n return false;\n }\n\n if (credentialMode === 'personal') {\n return !getModalEffectiveHasToken({\n hasOrgToken,\n credentialMode,\n tokenInputValue,\n hasSavedPersonalTokenInModal,\n });\n }\n\n return false;\n};\n\nexport type McpServerModalInput = McpServerDisplayInput & {\n hasUserToken?: boolean;\n};\n\nexport const hasModalEnabledStateChange = ({\n server,\n modalEnabled,\n}: {\n server?: McpServerModalInput;\n modalEnabled: boolean;\n}): boolean => Boolean(server && modalEnabled !== server.enabled);\n\nexport const getModalDisplayStatus = (\n server: McpServerDisplayInput,\n modalEnabled: boolean,\n): ServerStatus => getDisplayStatus({ ...server, enabled: modalEnabled });\n\nexport type ModalEnabledDescriptionKey =\n | 'mcp.settings.modal.enabledDescription'\n | 'mcp.settings.modal.enabledDescriptionOff'\n | 'mcp.settings.modal.enabledDescriptionTokenRequired';\n\nexport const getModalEnabledDescriptionKey = (\n isChecked: boolean,\n displayStatus: ServerStatus,\n): ModalEnabledDescriptionKey => {\n if (isChecked) {\n return 'mcp.settings.modal.enabledDescription';\n }\n if (displayStatus === 'tokenRequired') {\n return 'mcp.settings.modal.enabledDescriptionTokenRequired';\n }\n return 'mcp.settings.modal.enabledDescriptionOff';\n};\n\nexport const isModalEnabledChecked = ({\n displayStatus,\n modalEnabled,\n}: {\n displayStatus: ServerStatus;\n modalEnabled: boolean;\n}): boolean =>\n isEnabledToggleUnavailable(displayStatus) ? false : modalEnabled;\n\n/** Translation function shape accepted by {@link getDisplayDetail}. */\ntype TranslateFn = (key: any, options?: any) => string;\n\nexport const getDisplayDetail = (\n server: { toolCount: number },\n displayStatus: ServerStatus,\n t: TranslateFn,\n): string => {\n if (displayStatus === 'disabled') return t('mcp.settings.status.disabled');\n if (displayStatus === 'tokenRequired')\n return t('mcp.settings.status.tokenRequired');\n if (displayStatus === 'failed') return t('mcp.settings.status.failed');\n if (displayStatus === 'ok') {\n if (server.toolCount === 1) {\n return t('mcp.settings.status.oneTool', {\n count: String(server.toolCount),\n });\n }\n return t('mcp.settings.status.manyTools', {\n count: String(server.toolCount),\n });\n }\n return t('mcp.settings.status.unknown');\n};\n"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ const intelligentAssistantTranslationDe = createTranslationMessages({
5
5
  ref: intelligentAssistantTranslationRef,
6
6
  messages: {
7
7
  "aria.chatHistoryMenu": "Chatverlauf-Men\xFC",
8
+ "modelSelector.disabledTooltip": "Jede Chatsitzung unterst\xFCtzt nur ein Modell. Um das Modell zu wechseln, starten Sie einen neuen Chat.",
8
9
  "aria.chatbotSelector": "Chatbot-Auswahl",
9
10
  "aria.close": "Chatbot schlie\xDFen",
10
11
  "aria.closeDrawerPanel": "Drawer-Fenster schlie\xDFen",
@@ -1 +1 @@
1
- {"version":3,"file":"de.esm.js","sources":["../../src/translations/de.ts"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\n\nimport { intelligentAssistantTranslationRef } from './ref';\n\n/**\n * de translation for plugin.intelligent-assistant.\n * @public\n */\nconst intelligentAssistantTranslationDe = createTranslationMessages({\n ref: intelligentAssistantTranslationRef,\n messages: {\n 'aria.chatHistoryMenu': 'Chatverlauf-Menü',\n 'aria.chatbotSelector': 'Chatbot-Auswahl',\n 'aria.close': 'Chatbot schließen',\n 'aria.closeDrawerPanel': 'Drawer-Fenster schließen',\n 'aria.important': 'Wichtig',\n 'aria.options.label': 'Optionen',\n 'aria.resize': 'Größe ändern',\n 'aria.scroll.down': 'Zurück zum Ende',\n 'aria.scroll.up': 'Zurück zum Anfang',\n 'aria.search.placeholder': 'Suchen',\n 'aria.searchPreviousConversations': 'Vorherige Unterhaltungen durchsuchen',\n 'attach.menu.description': 'Eine JSON-, YAML- oder TXT-Datei anhängen',\n 'attach.menu.title': 'Anhängen',\n 'button.newChat': 'Neuer Chat',\n 'chatbox.emptyState.noPinnedChats': 'Chats anheften, um sie oben zu halten',\n 'chatbox.emptyState.noRecentChats': 'Keine letzten Chats',\n 'chatbox.emptyState.noResults.body':\n 'Passen Sie Ihre Suchanfrage an, und versuchen Sie es erneut. Überprüfen Sie Ihre Rechtschreibung, oder versuchen Sie es mit einem allgemeineren Begriff.',\n 'chatbox.emptyState.noResults.title': 'Keine Ergebnisse gefunden',\n 'chatbox.fileUpload.failed': 'Datei-Upload fehlgeschlagen',\n 'chatbox.fileUpload.infoText':\n 'Unterstützte Dateitypen: .txt, .yaml und .json. Die maximale Dateigröße beträgt 25 MB.',\n 'chatbox.header.title': 'Developer Hub Intelligenter Assistent',\n 'chatbox.message.placeholder':\n 'Senden Sie eine Nachricht, und laden Sie optional eine JSON-, YAML- oder TXT-Datei hoch ...',\n 'chatbox.provider.other': 'Andere',\n 'chatbox.search.placeholder': 'Suchen',\n 'chatbox.welcome.description': 'Wie kann ich Ihnen heute helfen?',\n 'chatbox.welcome.greeting': 'Hallo {{userName}}',\n 'common.cancel': 'Abbrechen',\n 'common.close': 'Schließen',\n 'common.loading': 'Wird geladen',\n 'common.noSearchResults': 'Keine Ergebnisse, die der Suche entsprechen',\n 'common.readMore': 'Mehr lesen',\n 'common.retry': 'Erneut versuchen',\n 'conversation.addToPinnedChats': 'Anheften',\n 'conversation.announcement.responseStopped': 'Antwort angehalten.',\n 'conversation.announcement.userMessage':\n 'Nachricht vom Benutzer: {{prompt}}. Nachricht vom Bot wird geladen.',\n 'conversation.category.pinnedChats': 'Angeheftete Chats',\n 'conversation.category.recent': 'Chats',\n 'conversation.delete': 'Löschen',\n 'conversation.delete.confirm.action': 'Löschen',\n 'conversation.delete.confirm.message':\n 'Dieser Chat wird hier nicht mehr angezeigt. Dadurch werden auch zugehörige Aktivitäten wie Prompts, Antworten und Feedback aus Ihrer Aktivität gelöscht.',\n 'conversation.delete.confirm.title': 'Chat \"{{chatName}}\" löschen?',\n 'conversation.removeFromPinnedChats': 'Lösen',\n 'conversation.rename': 'Umbenennen',\n 'conversation.rename.confirm.action': 'Umbenennen',\n 'conversation.rename.confirm.title': 'Chat umbenennen?',\n 'conversation.rename.placeholder': 'Chatname',\n 'disclaimer.withValidation':\n 'Diese Funktion nutzt KI-Technologie. Geben Sie bei Ihrer Eingabe keine persönlichen oder sonstigen sensiblen Informationen an. Interaktionen können dazu genutzt werden, die Produkte oder Dienstleistungen von Red Hat zu verbessern.',\n 'disclaimer.withoutValidation':\n 'Diese Funktion nutzt KI-Technologie. Geben Sie bei Ihrer Eingabe keine persönlichen oder sonstigen sensiblen Informationen an. Interaktionen können dazu genutzt werden, die Produkte oder Dienstleistungen von Red Hat zu verbessern.',\n 'error.context.fileAttachment':\n 'useFileAttachmentContext muss innerhalb eines FileAttachmentContextProvider liegen',\n 'feedback.completion.body':\n 'Wir haben Ihre Antwort erhalten. Vielen Dank für Ihr Feedback!',\n 'feedback.completion.title': 'Feedback übermittelt',\n 'feedback.form.submitWord': 'Absenden',\n 'feedback.form.textAreaPlaceholder':\n 'Geben Sie optional zusätzliches Feedback an',\n 'feedback.form.title': 'Warum haben Sie diese Bewertung gewählt?',\n 'feedback.quickResponses.negative.didntAnswer':\n 'Meine Frage wurde nicht beantwortet',\n 'feedback.quickResponses.negative.hardToUnderstand': 'Schwer zu verstehen',\n 'feedback.quickResponses.negative.notHelpful': 'Nicht hilfreich',\n 'feedback.quickResponses.positive.easyToUnderstand': 'Leicht verständlich',\n 'feedback.quickResponses.positive.helpful': 'Hilfreiche Informationen',\n 'feedback.quickResponses.positive.resolvedIssue':\n 'Mein Problem wurde gelöst',\n 'feedback.tooltips.badResponse': 'Schlechte Antwort',\n 'feedback.tooltips.copied': 'Kopiert',\n 'feedback.tooltips.copy': 'Kopieren',\n 'feedback.tooltips.goodResponse': 'Gute Antwort',\n 'feedback.tooltips.listen': 'Überwachen',\n 'feedback.tooltips.listening': 'Überwachung',\n 'file.upload.error.alreadyExists': 'Datei existiert bereits.',\n 'file.upload.error.fileTooLarge':\n 'Ihre Dateigröße ist zu groß. Bitte stellen Sie sicher, dass Ihre Datei kleiner als 25 MB ist.',\n 'file.upload.error.multipleFiles':\n 'Es wurden mehr als eine Datei hochgeladen.',\n 'file.upload.error.readFailed':\n 'Datei konnte nicht gelesen werden: {{errorMessage}}',\n 'file.upload.error.unsupportedType':\n 'Nicht unterstützter Dateityp. Unterstützte Typen: .txt, .yaml und .json.',\n 'footer.accuracy.label':\n 'KI-generierte Inhalte sollten vor der Verwendung stets überprüft werden.',\n 'icon.lightspeed.alt': 'Symbol des intelligenten Assistenten',\n 'icon.permissionRequired.alt': \"Symbol für 'Berechtigung erforderlich'\",\n 'lcore.loadError.description':\n 'Das Backend des intelligenten Assistenten hat keine Modellliste zurückgegeben. Prüfen Sie, ob der Dienst läuft und erreichbar ist, und versuchen Sie es erneut.',\n 'lcore.loadError.title': 'Modelle konnten nicht geladen werden',\n 'lcore.notConfigured.backendDocs':\n 'Backend des intelligenten Assistenten einrichten',\n 'lcore.notConfigured.description':\n 'Der intelligente Assistent erfordert ein registriertes LLM. Wenden Sie sich an den Plattformadministrator Ihrer Organisation, um die Einrichtung abzuschließen.',\n 'lcore.notConfigured.developerLightspeedDocs':\n 'Developer Hub Intelligent Assistant wird konfiguriert',\n 'lcore.notConfigured.title': 'Verbinden Sie ein LLM, um zu starten',\n 'mcp.settings.closeAriaLabel': 'MCP-Einstellungen schließen',\n 'mcp.settings.closeConfigureModalAriaLabel':\n 'Konfigurationsdialog schließen',\n 'mcp.settings.configureServerTitle':\n '{{serverName}} MCP-Server-Einstellungen',\n 'mcp.settings.edit': 'Bearbeiten',\n 'mcp.settings.editServerAriaLabel': '{{serverName}} bearbeiten',\n 'mcp.settings.enabled': 'Aktiviert',\n 'mcp.settings.enterToken': 'Geben Sie Ihren Token ein',\n 'mcp.settings.loading': 'MCP-Server werden geladen...',\n 'mcp.settings.modalDescription':\n 'Anmeldedaten werden verschlüsselt gespeichert und sind auf Ihr Profil beschränkt. Der intelligente Assistent arbeitet mit genau Ihren Berechtigungen.',\n 'mcp.settings.modalDescriptionDcr':\n 'Dieser Server verwendet Dynamic Client Registration (DCR). Token werden automatisch mit Ihrer Backstage-Identität erstellt — kein manuelles Token erforderlich.',\n 'mcp.settings.authenticationToken': 'Authentifizierungstoken',\n 'mcp.settings.modal.authenticationHeading': 'Authentifizierung',\n 'mcp.settings.modal.credentialMode.organization':\n 'Organisations-Standard-Token verwenden',\n 'mcp.settings.modal.credentialMode.organizationDescription':\n 'Verwendet den von Ihrem Administrator konfigurierten Token.',\n 'mcp.settings.modal.credentialMode.personal':\n 'Persönlichen Token verwenden',\n 'mcp.settings.modal.toolsHeading': 'Tools ({{count}})',\n 'mcp.settings.modal.loadingTools': 'Tools werden geladen...',\n 'mcp.settings.modal.fetchingStatus': 'Status wird abgerufen...',\n 'mcp.settings.modal.loadingStatus': 'Verbindung wird getrennt...',\n 'mcp.settings.modal.tokenRemovedWarning':\n 'Token wurde entfernt. Um diesen MCP-Server erneut zu verwenden, geben Sie einen neuen Token ein.',\n 'mcp.settings.modal.noToolsAvailable': 'Keine Tools verfügbar.',\n 'mcp.settings.modal.toolsLoadFailed': 'Tools konnten nicht geladen werden.',\n 'mcp.settings.modal.enabledDescription':\n 'Dieser Server ist aktiv und im Chat verfügbar.',\n 'mcp.settings.modal.enabledDescriptionOff':\n 'Dieser Server ist deaktiviert und im Chat nicht verfügbar.',\n 'mcp.settings.modal.enabledDescriptionTokenRequired':\n 'Dieser Server ist derzeit deaktiviert. Geben Sie einen Token ein, um ihn zu aktivieren.',\n 'mcp.settings.name': 'Name',\n 'mcp.settings.noneAvailable': 'Keine MCP-Server verfügbar.',\n 'mcp.settings.personalAccessToken': 'Persönlicher Zugriffstoken',\n 'mcp.settings.readOnlyAccess':\n 'Sie haben schreibgeschützten Zugriff auf MCP-Server.',\n 'mcp.settings.removePersonalToken': 'Persönlichen Token entfernen',\n 'mcp.settings.savedToken': 'Gespeicherter Token',\n 'mcp.settings.selectedCount':\n '{{selectedCount}} von {{totalCount}} ausgewählt',\n 'mcp.settings.status': 'Status',\n 'mcp.settings.status.disabled': 'Deaktiviert',\n 'mcp.settings.status.failed': 'Fehlgeschlagen',\n 'mcp.settings.status.manyTools': '{{count}} Tools',\n 'mcp.settings.status.oneTool': '{{count}} Tool',\n 'mcp.settings.status.tokenRequired': 'Token erforderlich',\n 'mcp.settings.status.unknown': 'Unbekannt',\n 'mcp.settings.tableAriaLabel': 'MCP-Server-Tabelle',\n 'mcp.settings.title': 'MCP-Server',\n 'mcp.settings.toggleServerAriaLabel': '{{serverName}} umschalten',\n 'mcp.settings.token.clearAriaLabel': 'Tokeneingabe löschen',\n 'mcp.settings.token.connectionSuccessful': 'Verbindung erfolgreich',\n 'mcp.settings.token.invalidCredentials':\n 'Ungültige Anmeldedaten. Überprüfen Sie Server-URL und Token.',\n 'mcp.settings.token.savingAndValidating':\n 'Token wird gespeichert und validiert...',\n 'mcp.settings.token.urlUnavailableForValidation':\n 'Token kann nicht validiert werden, da die Server-URL nicht verfügbar ist.',\n 'mcp.settings.token.validating': 'Token wird validiert...',\n 'mcp.settings.token.validationFailed':\n 'Validierung fehlgeschlagen. Überprüfen Sie Server-URL und Token.',\n 'menu.newConversation': 'Neuer Chat',\n 'message.options.label': 'Optionen',\n 'modal.cancel': 'Abbrechen',\n 'modal.close': 'Schließen',\n 'modal.edit': 'Bearbeiten',\n 'modal.save': 'Speichern',\n 'modal.title.edit': 'Anhang bearbeiten',\n 'modal.title.preview': 'Anhang in der Vorschau anzeigen',\n 'notebook.document.delete': 'Löschen',\n 'notebook.document.delete.action': 'Entfernen',\n 'notebook.document.delete.description':\n 'Sind Sie sicher, dass Sie <documentName/> aus diesem Notizbuch entfernen möchten? Diese Aktion kann nicht rückgängig gemacht werden.',\n 'notebook.document.delete.success':\n '„{{documentName}}\" wurde erfolgreich entfernt.',\n 'notebook.document.delete.title': 'Ressource entfernen?',\n 'notebook.overwrite.modal.action': 'Überschreiben',\n 'notebook.overwrite.modal.description':\n 'Die folgenden Dateien existieren bereits in diesem Notizbuch. Möchten Sie sie mit den neuen Versionen überschreiben?',\n 'notebook.overwrite.modal.title': 'Dateien überschreiben?',\n 'notebook.upload.error.fileTooLarge':\n 'Upload-Fehler: Dateigröße überschreitet das Limit von 25 MB.',\n 'notebook.upload.error.tooManyFiles':\n 'Upload-Fehler: Maximal {{max}} Dateien erlaubt.',\n 'notebook.upload.error.unsupportedType':\n 'Upload-Fehler: Nicht unterstützte Dateitypen gefunden. Bitte laden Sie nur unterstützte Dateitypen hoch.',\n 'notebook.upload.failed': 'Hochladen von \"{{fileName}}\" fehlgeschlagen.',\n 'notebook.upload.modal.addButton': 'Hinzufügen ({{count}})',\n 'notebook.upload.modal.browseButton': 'Hochladen',\n 'notebook.upload.modal.dragDropTitle': 'Dateien hierher ziehen und ablegen',\n 'notebook.upload.modal.infoText':\n 'Akzeptierte Dateitypen: .md, .txt, .pdf, .json, .yaml, .log',\n 'notebook.upload.modal.removeFile': '{{fileName}} entfernen',\n 'notebook.upload.modal.selectedFiles':\n '{{count}} von {{max}} Dateien ausgewählt',\n 'notebook.upload.modal.separator': 'oder',\n 'notebook.upload.modal.title': 'Dokument zum Notizbuch hinzufügen',\n 'notebook.view.close': 'Notizbuch schließen',\n 'notebook.view.documents.add': 'Hinzufügen',\n 'notebook.view.documents.count': '{{count}} Dokumente',\n 'notebook.view.documents.maxReached':\n 'Maximal 10 Dokumente sind erlaubt. Löschen Sie ein Dokument, um ein neues hochzuladen.',\n 'notebook.view.documents.uploading': 'Dokument wird hochgeladen',\n 'notebook.view.input.disabledTooltip':\n 'Wählen Sie mindestens eine geladene Ressource aus, um den Chat zu starten',\n 'notebook.view.input.placeholder': 'Fragen Sie zu Ihren Dokumenten...',\n 'notebook.view.sidebar.collapse': 'Seitenleiste einklappen',\n 'notebook.view.sidebar.expand': 'Seitenleiste ausklappen',\n 'notebook.view.sidebar.resize': 'Größe der Seitenleiste ändern',\n 'notebook.view.title': 'Unbenanntes Notizbuch',\n 'notebook.view.upload.action': 'Ressource hochladen',\n 'notebook.view.processing.description':\n 'Ihre Dateien werden indexiert. Sie können Fragen stellen, sobald die Verarbeitung abgeschlossen ist.',\n 'notebook.view.processing.heading': 'Ressourcen werden verarbeitet...',\n 'notebook.view.upload.heading':\n 'Laden Sie eine Ressource hoch, um zu beginnen',\n 'notebooks.actions.delete': 'Löschen',\n 'notebooks.actions.rename': 'Umbenennen',\n 'notebooks.card.openAria': 'Notizbuch {{name}} öffnen',\n 'notebooks.delete.action': 'Löschen',\n 'notebooks.delete.message':\n 'Dieses Notizbuch wird hier nicht mehr angezeigt. Dadurch werden auch zugehörige Aktivitäten wie Eingaben, Antworten und Feedback aus Ihrer Aktivität gelöscht.',\n 'notebooks.delete.title': '{{name}} löschen?',\n 'notebooks.delete.toast': 'Notizbuch gelöscht!',\n 'notebooks.documents': 'Dokumente',\n 'notebooks.empty.action': 'Neues Notizbuch erstellen',\n 'notebooks.empty.description':\n 'Erstellen Sie ein neues Notizbuch, um Ihre Quellen zu organisieren und KI-gestützte Erkenntnisse zu gewinnen.',\n 'notebooks.empty.title': 'Keine erstellten Notizbücher',\n 'notebooks.prompts.accessIssue.title': 'Hilf mir bei einem Zugriffsproblem',\n 'notebooks.prompts.coreConcepts.title': 'Was sind die Kernkonzepte?',\n 'notebooks.prompts.vulnerabilities.title':\n 'Zeige meine kritischen Schwachstellen',\n 'notebooks.rename.action': 'Senden',\n 'notebooks.rename.description':\n 'Bitte geben Sie den neuen Namen für dieses Notizbuch ein und klicken Sie auf „Senden“, um fortzufahren.',\n 'notebooks.rename.label': 'Neuer Name',\n 'notebooks.rename.placeholder': 'Neuer Name',\n 'notebooks.rename.title': '{{name}} umbenennen?',\n 'notebooks.title': 'Meine Notizbücher',\n 'notebooks.updated.days': 'Vor {{days}} Tagen aktualisiert',\n 'notebooks.updated.on': 'Aktualisiert am',\n 'notebooks.updated.today': 'Heute aktualisiert',\n 'notebooks.updated.yesterday': 'Vor 1 Tag aktualisiert',\n 'page.subtitle': 'KI-gestützter Entwicklungsassistent',\n 'page.title': 'Intelligenter Assistent',\n 'permission.notebooks.goBack': 'Zurück',\n 'permission.required.description':\n 'Um <subject/> anzuzeigen, wenden Sie sich an Ihren Administrator, um die Berechtigung <permissions/> zu erhalten.',\n 'permission.required.title': 'Fehlende Berechtigungen',\n 'permission.subject.notebooks':\n 'die Notizbücher des intelligenten Assistenten',\n 'permission.subject.plugin': 'das Plugin des intelligenten Assistenten',\n 'prompts.codeOptimization.message':\n 'Können Sie gängige Methoden zur Codeoptimierung vorschlagen, um eine bessere Performance zu erzielen?',\n 'prompts.codeOptimization.title':\n 'Vorschläge zur Codeoptimierung unterbreiten',\n 'prompts.codeReadability.message':\n 'Können Sie mir Techniken vorschlagen, mit denen ich meinen Code lesbarer und wartungsfreundlicher gestalten kann?',\n 'prompts.codeReadability.title': 'Hilfe zur Code-Lesbarkeit erhalten',\n 'prompts.debugging.message':\n 'Meine Anwendung gibt beim Versuch einer Verbindung zur Datenbank einen Fehler aus. Können Sie mir helfen, das Problem zu identifizieren?',\n 'prompts.debugging.title': 'Hilfe beim Debuggen erhalten',\n 'prompts.developmentConcept.message':\n 'Können Sie erklären, wie eine Microservices-Architektur funktioniert und welche Vorteile sie gegenüber einem monolithischen Design bietet?',\n 'prompts.developmentConcept.title': 'Ein Entwicklungskonzept erläutern',\n 'prompts.documentation.message':\n 'Können Sie die Dokumentation zur Implementierung der OAuth 2.0-Authentifizierung in einer Webanwendung zusammenfassen?',\n 'prompts.documentation.title': 'Zusammenfassung von Dokumentation',\n 'prompts.eventDriven.message':\n 'Können Sie erklären, was ereignisgesteuerte Architektur bedeutet und wann ihre Verwendung in der Softwareentwicklung von Vorteil ist?',\n 'prompts.eventDriven.title': 'Ereignisgesteuerte Architektur verstehen',\n 'prompts.gitWorkflows.message':\n 'Ich möchte Änderungen am Code in einem anderen Branch vornehmen, ohne meine bestehende Arbeit zu verlieren. Wie geht man dabei mit Git vor?',\n 'prompts.gitWorkflows.title': 'Workflows mit Git',\n 'prompts.openshift.message':\n 'Können Sie mich bei der Erstellung eines neuen Deployments in OpenShift für eine containerisierte Anwendung unterstützen?',\n 'prompts.openshift.title': 'OpenShift-Deployment erstellen',\n 'prompts.rhdh.message':\n 'Können Sie mich bei den ersten Schritten zur Nutzung des Developer Hub als Entwickler unterstützen, z. B. beim Erkunden des Softwarekatalogs und beim Hinzufügen meines Dienstes?',\n 'prompts.rhdh.title': 'Erste Schritte mit dem Red Hat Developer Hub',\n 'prompts.sortingAlgorithms.message':\n 'Können Sie den Unterschied zwischen Quicksort und Mergesort erklären und wann man welchen Algorithmus verwendet?',\n 'prompts.sortingAlgorithms.title':\n 'Sortieralgorithmen verständlich erklären',\n 'prompts.tekton.message':\n 'Können Sie mir helfen, das Deployment meiner Anwendung mithilfe von Tekton-Pipelines zu automatisieren?',\n 'prompts.tekton.title': 'Mit Tekton deployen',\n 'prompts.testingStrategies.message':\n 'Können Sie mir einige gängige Teststrategien empfehlen, die meine Anwendung robust und fehlerfrei machen?',\n 'prompts.testingStrategies.title': 'Teststrategien vorschlagen',\n 'reasoning.thinking': 'Denkvorgang anzeigen',\n 'settings.displayMode.docked': 'An Fenster andocken',\n 'settings.displayMode.fullscreen': 'Vollbild',\n 'settings.displayMode.label': 'Anzeigemodus',\n 'settings.displayMode.overlay': 'Overlay',\n 'settings.mcp.badge': 'Neu',\n 'settings.mcp.label': 'MCP-Einstellungen',\n 'settings.pinned.disable': 'Angeheftete Chats deaktivieren',\n 'settings.pinned.disabled.description':\n 'Angeheftete Chats sind derzeit deaktiviert.',\n 'settings.pinned.enable': 'Angeheftete Chats aktivieren',\n 'settings.pinned.enabled.description':\n 'Angeheftete Chats sind derzeit aktiviert',\n 'sort.alphabeticalAsc': 'Name (A-Z)',\n 'sort.alphabeticalDesc': 'Name (Z-A)',\n 'sort.label': 'Unterhaltungen sortieren',\n 'sort.newest': 'Datum (neuestes zuerst)',\n 'sort.oldest': 'Datum (ältestes zuerst)',\n 'sources.chip.label_one': '{{count}} Quelle',\n 'sources.chip.label_other': '{{count}} Quellen',\n 'sources.modal.description':\n 'Die folgenden Quellen wurden verwendet, um diese KI-Antwort zu generieren und ergänzende Informationen bereitzustellen:',\n 'sources.modal.title': 'Quellen',\n 'sources.popover.closeAriaLabel': 'Quellen schließen',\n 'tabs.ariaLabel': 'Ansichten des intelligenten Assistenten',\n 'tabs.chat': 'Chat',\n 'tabs.notebooks': 'Notizbücher',\n 'tabs.notebooks.devPreview': 'Entwicklervorschau',\n 'tabs.notebooks.empty': 'Inhalte der Notizbücher kommen hierhin.',\n 'toolCall.copyResponse': 'Antwort kopieren',\n 'toolCall.executing': 'Tool wird ausgeführt...',\n 'toolCall.executionTime': 'Ausführungszeit: ',\n 'toolCall.header': 'Antwort des Tools: {{toolName}}',\n 'toolCall.loading': 'Tool wird ausgeführt...',\n 'toolCall.mcpServer': 'MCP-Server',\n 'toolCall.parameters': 'Parameter',\n 'toolCall.response': 'Antwort',\n 'toolCall.showLess': 'Weniger anzeigen',\n 'toolCall.showMore': 'Mehr anzeigen',\n 'toolCall.summary': 'Hier ist eine Zusammenfassung Ihrer Antwort.',\n 'toolCall.thinking': 'Hat {{seconds}} Sekunden nachgedacht',\n 'tooltip.attach': 'Anhängen',\n 'tooltip.backToBottom': 'Zurück zum Ende',\n 'tooltip.backToTop': 'Zurück zum Anfang',\n 'tooltip.chatHistoryMenu': 'Chatverlauf-Menü',\n 'tooltip.close': 'Schließen',\n 'tooltip.collapseHistoryPanel': 'Chatverlauf minimieren',\n 'tooltip.expandHistoryPanel': 'Chatverlauf erweitern',\n 'tooltip.fab.close': 'Intelligenten Assistenten schließen',\n 'tooltip.fab.open': 'Intelligenten Assistenten öffnen',\n 'tooltip.microphone.active': 'Überwachen beenden',\n 'tooltip.microphone.inactive': 'Mikrofon verwenden',\n 'tooltip.quickNewChat': 'Neuer Chat',\n 'tooltip.responseRecorded': 'Antwort aufgezeichnet',\n 'tooltip.send': 'Senden',\n 'user.guest': 'Gast',\n 'user.loading': '...',\n },\n});\n\nexport default intelligentAssistantTranslationDe;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"de.esm.js","sources":["../../src/translations/de.ts"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\n\nimport { intelligentAssistantTranslationRef } from './ref';\n\n/**\n * de translation for plugin.intelligent-assistant.\n * @public\n */\nconst intelligentAssistantTranslationDe = createTranslationMessages({\n ref: intelligentAssistantTranslationRef,\n messages: {\n 'aria.chatHistoryMenu': 'Chatverlauf-Menü',\n 'modelSelector.disabledTooltip':\n 'Jede Chatsitzung unterstützt nur ein Modell. Um das Modell zu wechseln, starten Sie einen neuen Chat.',\n 'aria.chatbotSelector': 'Chatbot-Auswahl',\n 'aria.close': 'Chatbot schließen',\n 'aria.closeDrawerPanel': 'Drawer-Fenster schließen',\n 'aria.important': 'Wichtig',\n 'aria.options.label': 'Optionen',\n 'aria.resize': 'Größe ändern',\n 'aria.scroll.down': 'Zurück zum Ende',\n 'aria.scroll.up': 'Zurück zum Anfang',\n 'aria.search.placeholder': 'Suchen',\n 'aria.searchPreviousConversations': 'Vorherige Unterhaltungen durchsuchen',\n 'attach.menu.description': 'Eine JSON-, YAML- oder TXT-Datei anhängen',\n 'attach.menu.title': 'Anhängen',\n 'button.newChat': 'Neuer Chat',\n 'chatbox.emptyState.noPinnedChats': 'Chats anheften, um sie oben zu halten',\n 'chatbox.emptyState.noRecentChats': 'Keine letzten Chats',\n 'chatbox.emptyState.noResults.body':\n 'Passen Sie Ihre Suchanfrage an, und versuchen Sie es erneut. Überprüfen Sie Ihre Rechtschreibung, oder versuchen Sie es mit einem allgemeineren Begriff.',\n 'chatbox.emptyState.noResults.title': 'Keine Ergebnisse gefunden',\n 'chatbox.fileUpload.failed': 'Datei-Upload fehlgeschlagen',\n 'chatbox.fileUpload.infoText':\n 'Unterstützte Dateitypen: .txt, .yaml und .json. Die maximale Dateigröße beträgt 25 MB.',\n 'chatbox.header.title': 'Developer Hub Intelligenter Assistent',\n 'chatbox.message.placeholder':\n 'Senden Sie eine Nachricht, und laden Sie optional eine JSON-, YAML- oder TXT-Datei hoch ...',\n 'chatbox.provider.other': 'Andere',\n 'chatbox.search.placeholder': 'Suchen',\n 'chatbox.welcome.description': 'Wie kann ich Ihnen heute helfen?',\n 'chatbox.welcome.greeting': 'Hallo {{userName}}',\n 'common.cancel': 'Abbrechen',\n 'common.close': 'Schließen',\n 'common.loading': 'Wird geladen',\n 'common.noSearchResults': 'Keine Ergebnisse, die der Suche entsprechen',\n 'common.readMore': 'Mehr lesen',\n 'common.retry': 'Erneut versuchen',\n 'conversation.addToPinnedChats': 'Anheften',\n 'conversation.announcement.responseStopped': 'Antwort angehalten.',\n 'conversation.announcement.userMessage':\n 'Nachricht vom Benutzer: {{prompt}}. Nachricht vom Bot wird geladen.',\n 'conversation.category.pinnedChats': 'Angeheftete Chats',\n 'conversation.category.recent': 'Chats',\n 'conversation.delete': 'Löschen',\n 'conversation.delete.confirm.action': 'Löschen',\n 'conversation.delete.confirm.message':\n 'Dieser Chat wird hier nicht mehr angezeigt. Dadurch werden auch zugehörige Aktivitäten wie Prompts, Antworten und Feedback aus Ihrer Aktivität gelöscht.',\n 'conversation.delete.confirm.title': 'Chat \"{{chatName}}\" löschen?',\n 'conversation.removeFromPinnedChats': 'Lösen',\n 'conversation.rename': 'Umbenennen',\n 'conversation.rename.confirm.action': 'Umbenennen',\n 'conversation.rename.confirm.title': 'Chat umbenennen?',\n 'conversation.rename.placeholder': 'Chatname',\n 'disclaimer.withValidation':\n 'Diese Funktion nutzt KI-Technologie. Geben Sie bei Ihrer Eingabe keine persönlichen oder sonstigen sensiblen Informationen an. Interaktionen können dazu genutzt werden, die Produkte oder Dienstleistungen von Red Hat zu verbessern.',\n 'disclaimer.withoutValidation':\n 'Diese Funktion nutzt KI-Technologie. Geben Sie bei Ihrer Eingabe keine persönlichen oder sonstigen sensiblen Informationen an. Interaktionen können dazu genutzt werden, die Produkte oder Dienstleistungen von Red Hat zu verbessern.',\n 'error.context.fileAttachment':\n 'useFileAttachmentContext muss innerhalb eines FileAttachmentContextProvider liegen',\n 'feedback.completion.body':\n 'Wir haben Ihre Antwort erhalten. Vielen Dank für Ihr Feedback!',\n 'feedback.completion.title': 'Feedback übermittelt',\n 'feedback.form.submitWord': 'Absenden',\n 'feedback.form.textAreaPlaceholder':\n 'Geben Sie optional zusätzliches Feedback an',\n 'feedback.form.title': 'Warum haben Sie diese Bewertung gewählt?',\n 'feedback.quickResponses.negative.didntAnswer':\n 'Meine Frage wurde nicht beantwortet',\n 'feedback.quickResponses.negative.hardToUnderstand': 'Schwer zu verstehen',\n 'feedback.quickResponses.negative.notHelpful': 'Nicht hilfreich',\n 'feedback.quickResponses.positive.easyToUnderstand': 'Leicht verständlich',\n 'feedback.quickResponses.positive.helpful': 'Hilfreiche Informationen',\n 'feedback.quickResponses.positive.resolvedIssue':\n 'Mein Problem wurde gelöst',\n 'feedback.tooltips.badResponse': 'Schlechte Antwort',\n 'feedback.tooltips.copied': 'Kopiert',\n 'feedback.tooltips.copy': 'Kopieren',\n 'feedback.tooltips.goodResponse': 'Gute Antwort',\n 'feedback.tooltips.listen': 'Überwachen',\n 'feedback.tooltips.listening': 'Überwachung',\n 'file.upload.error.alreadyExists': 'Datei existiert bereits.',\n 'file.upload.error.fileTooLarge':\n 'Ihre Dateigröße ist zu groß. Bitte stellen Sie sicher, dass Ihre Datei kleiner als 25 MB ist.',\n 'file.upload.error.multipleFiles':\n 'Es wurden mehr als eine Datei hochgeladen.',\n 'file.upload.error.readFailed':\n 'Datei konnte nicht gelesen werden: {{errorMessage}}',\n 'file.upload.error.unsupportedType':\n 'Nicht unterstützter Dateityp. Unterstützte Typen: .txt, .yaml und .json.',\n 'footer.accuracy.label':\n 'KI-generierte Inhalte sollten vor der Verwendung stets überprüft werden.',\n 'icon.lightspeed.alt': 'Symbol des intelligenten Assistenten',\n 'icon.permissionRequired.alt': \"Symbol für 'Berechtigung erforderlich'\",\n 'lcore.loadError.description':\n 'Das Backend des intelligenten Assistenten hat keine Modellliste zurückgegeben. Prüfen Sie, ob der Dienst läuft und erreichbar ist, und versuchen Sie es erneut.',\n 'lcore.loadError.title': 'Modelle konnten nicht geladen werden',\n 'lcore.notConfigured.backendDocs':\n 'Backend des intelligenten Assistenten einrichten',\n 'lcore.notConfigured.description':\n 'Der intelligente Assistent erfordert ein registriertes LLM. Wenden Sie sich an den Plattformadministrator Ihrer Organisation, um die Einrichtung abzuschließen.',\n 'lcore.notConfigured.developerLightspeedDocs':\n 'Developer Hub Intelligent Assistant wird konfiguriert',\n 'lcore.notConfigured.title': 'Verbinden Sie ein LLM, um zu starten',\n 'mcp.settings.closeAriaLabel': 'MCP-Einstellungen schließen',\n 'mcp.settings.closeConfigureModalAriaLabel':\n 'Konfigurationsdialog schließen',\n 'mcp.settings.configureServerTitle':\n '{{serverName}} MCP-Server-Einstellungen',\n 'mcp.settings.edit': 'Bearbeiten',\n 'mcp.settings.editServerAriaLabel': '{{serverName}} bearbeiten',\n 'mcp.settings.enabled': 'Aktiviert',\n 'mcp.settings.enterToken': 'Geben Sie Ihren Token ein',\n 'mcp.settings.loading': 'MCP-Server werden geladen...',\n 'mcp.settings.modalDescription':\n 'Anmeldedaten werden verschlüsselt gespeichert und sind auf Ihr Profil beschränkt. Der intelligente Assistent arbeitet mit genau Ihren Berechtigungen.',\n 'mcp.settings.modalDescriptionDcr':\n 'Dieser Server verwendet Dynamic Client Registration (DCR). Token werden automatisch mit Ihrer Backstage-Identität erstellt — kein manuelles Token erforderlich.',\n 'mcp.settings.authenticationToken': 'Authentifizierungstoken',\n 'mcp.settings.modal.authenticationHeading': 'Authentifizierung',\n 'mcp.settings.modal.credentialMode.organization':\n 'Organisations-Standard-Token verwenden',\n 'mcp.settings.modal.credentialMode.organizationDescription':\n 'Verwendet den von Ihrem Administrator konfigurierten Token.',\n 'mcp.settings.modal.credentialMode.personal':\n 'Persönlichen Token verwenden',\n 'mcp.settings.modal.toolsHeading': 'Tools ({{count}})',\n 'mcp.settings.modal.loadingTools': 'Tools werden geladen...',\n 'mcp.settings.modal.fetchingStatus': 'Status wird abgerufen...',\n 'mcp.settings.modal.loadingStatus': 'Verbindung wird getrennt...',\n 'mcp.settings.modal.tokenRemovedWarning':\n 'Token wurde entfernt. Um diesen MCP-Server erneut zu verwenden, geben Sie einen neuen Token ein.',\n 'mcp.settings.modal.noToolsAvailable': 'Keine Tools verfügbar.',\n 'mcp.settings.modal.toolsLoadFailed': 'Tools konnten nicht geladen werden.',\n 'mcp.settings.modal.enabledDescription':\n 'Dieser Server ist aktiv und im Chat verfügbar.',\n 'mcp.settings.modal.enabledDescriptionOff':\n 'Dieser Server ist deaktiviert und im Chat nicht verfügbar.',\n 'mcp.settings.modal.enabledDescriptionTokenRequired':\n 'Dieser Server ist derzeit deaktiviert. Geben Sie einen Token ein, um ihn zu aktivieren.',\n 'mcp.settings.name': 'Name',\n 'mcp.settings.noneAvailable': 'Keine MCP-Server verfügbar.',\n 'mcp.settings.personalAccessToken': 'Persönlicher Zugriffstoken',\n 'mcp.settings.readOnlyAccess':\n 'Sie haben schreibgeschützten Zugriff auf MCP-Server.',\n 'mcp.settings.removePersonalToken': 'Persönlichen Token entfernen',\n 'mcp.settings.savedToken': 'Gespeicherter Token',\n 'mcp.settings.selectedCount':\n '{{selectedCount}} von {{totalCount}} ausgewählt',\n 'mcp.settings.status': 'Status',\n 'mcp.settings.status.disabled': 'Deaktiviert',\n 'mcp.settings.status.failed': 'Fehlgeschlagen',\n 'mcp.settings.status.manyTools': '{{count}} Tools',\n 'mcp.settings.status.oneTool': '{{count}} Tool',\n 'mcp.settings.status.tokenRequired': 'Token erforderlich',\n 'mcp.settings.status.unknown': 'Unbekannt',\n 'mcp.settings.tableAriaLabel': 'MCP-Server-Tabelle',\n 'mcp.settings.title': 'MCP-Server',\n 'mcp.settings.toggleServerAriaLabel': '{{serverName}} umschalten',\n 'mcp.settings.token.clearAriaLabel': 'Tokeneingabe löschen',\n 'mcp.settings.token.connectionSuccessful': 'Verbindung erfolgreich',\n 'mcp.settings.token.invalidCredentials':\n 'Ungültige Anmeldedaten. Überprüfen Sie Server-URL und Token.',\n 'mcp.settings.token.savingAndValidating':\n 'Token wird gespeichert und validiert...',\n 'mcp.settings.token.urlUnavailableForValidation':\n 'Token kann nicht validiert werden, da die Server-URL nicht verfügbar ist.',\n 'mcp.settings.token.validating': 'Token wird validiert...',\n 'mcp.settings.token.validationFailed':\n 'Validierung fehlgeschlagen. Überprüfen Sie Server-URL und Token.',\n 'menu.newConversation': 'Neuer Chat',\n 'message.options.label': 'Optionen',\n 'modal.cancel': 'Abbrechen',\n 'modal.close': 'Schließen',\n 'modal.edit': 'Bearbeiten',\n 'modal.save': 'Speichern',\n 'modal.title.edit': 'Anhang bearbeiten',\n 'modal.title.preview': 'Anhang in der Vorschau anzeigen',\n 'notebook.document.delete': 'Löschen',\n 'notebook.document.delete.action': 'Entfernen',\n 'notebook.document.delete.description':\n 'Sind Sie sicher, dass Sie <documentName/> aus diesem Notizbuch entfernen möchten? Diese Aktion kann nicht rückgängig gemacht werden.',\n 'notebook.document.delete.success':\n '„{{documentName}}\" wurde erfolgreich entfernt.',\n 'notebook.document.delete.title': 'Ressource entfernen?',\n 'notebook.overwrite.modal.action': 'Überschreiben',\n 'notebook.overwrite.modal.description':\n 'Die folgenden Dateien existieren bereits in diesem Notizbuch. Möchten Sie sie mit den neuen Versionen überschreiben?',\n 'notebook.overwrite.modal.title': 'Dateien überschreiben?',\n 'notebook.upload.error.fileTooLarge':\n 'Upload-Fehler: Dateigröße überschreitet das Limit von 25 MB.',\n 'notebook.upload.error.tooManyFiles':\n 'Upload-Fehler: Maximal {{max}} Dateien erlaubt.',\n 'notebook.upload.error.unsupportedType':\n 'Upload-Fehler: Nicht unterstützte Dateitypen gefunden. Bitte laden Sie nur unterstützte Dateitypen hoch.',\n 'notebook.upload.failed': 'Hochladen von \"{{fileName}}\" fehlgeschlagen.',\n 'notebook.upload.modal.addButton': 'Hinzufügen ({{count}})',\n 'notebook.upload.modal.browseButton': 'Hochladen',\n 'notebook.upload.modal.dragDropTitle': 'Dateien hierher ziehen und ablegen',\n 'notebook.upload.modal.infoText':\n 'Akzeptierte Dateitypen: .md, .txt, .pdf, .json, .yaml, .log',\n 'notebook.upload.modal.removeFile': '{{fileName}} entfernen',\n 'notebook.upload.modal.selectedFiles':\n '{{count}} von {{max}} Dateien ausgewählt',\n 'notebook.upload.modal.separator': 'oder',\n 'notebook.upload.modal.title': 'Dokument zum Notizbuch hinzufügen',\n 'notebook.view.close': 'Notizbuch schließen',\n 'notebook.view.documents.add': 'Hinzufügen',\n 'notebook.view.documents.count': '{{count}} Dokumente',\n 'notebook.view.documents.maxReached':\n 'Maximal 10 Dokumente sind erlaubt. Löschen Sie ein Dokument, um ein neues hochzuladen.',\n 'notebook.view.documents.uploading': 'Dokument wird hochgeladen',\n 'notebook.view.input.disabledTooltip':\n 'Wählen Sie mindestens eine geladene Ressource aus, um den Chat zu starten',\n 'notebook.view.input.placeholder': 'Fragen Sie zu Ihren Dokumenten...',\n 'notebook.view.sidebar.collapse': 'Seitenleiste einklappen',\n 'notebook.view.sidebar.expand': 'Seitenleiste ausklappen',\n 'notebook.view.sidebar.resize': 'Größe der Seitenleiste ändern',\n 'notebook.view.title': 'Unbenanntes Notizbuch',\n 'notebook.view.upload.action': 'Ressource hochladen',\n 'notebook.view.processing.description':\n 'Ihre Dateien werden indexiert. Sie können Fragen stellen, sobald die Verarbeitung abgeschlossen ist.',\n 'notebook.view.processing.heading': 'Ressourcen werden verarbeitet...',\n 'notebook.view.upload.heading':\n 'Laden Sie eine Ressource hoch, um zu beginnen',\n 'notebooks.actions.delete': 'Löschen',\n 'notebooks.actions.rename': 'Umbenennen',\n 'notebooks.card.openAria': 'Notizbuch {{name}} öffnen',\n 'notebooks.delete.action': 'Löschen',\n 'notebooks.delete.message':\n 'Dieses Notizbuch wird hier nicht mehr angezeigt. Dadurch werden auch zugehörige Aktivitäten wie Eingaben, Antworten und Feedback aus Ihrer Aktivität gelöscht.',\n 'notebooks.delete.title': '{{name}} löschen?',\n 'notebooks.delete.toast': 'Notizbuch gelöscht!',\n 'notebooks.documents': 'Dokumente',\n 'notebooks.empty.action': 'Neues Notizbuch erstellen',\n 'notebooks.empty.description':\n 'Erstellen Sie ein neues Notizbuch, um Ihre Quellen zu organisieren und KI-gestützte Erkenntnisse zu gewinnen.',\n 'notebooks.empty.title': 'Keine erstellten Notizbücher',\n 'notebooks.prompts.accessIssue.title': 'Hilf mir bei einem Zugriffsproblem',\n 'notebooks.prompts.coreConcepts.title': 'Was sind die Kernkonzepte?',\n 'notebooks.prompts.vulnerabilities.title':\n 'Zeige meine kritischen Schwachstellen',\n 'notebooks.rename.action': 'Senden',\n 'notebooks.rename.description':\n 'Bitte geben Sie den neuen Namen für dieses Notizbuch ein und klicken Sie auf „Senden“, um fortzufahren.',\n 'notebooks.rename.label': 'Neuer Name',\n 'notebooks.rename.placeholder': 'Neuer Name',\n 'notebooks.rename.title': '{{name}} umbenennen?',\n 'notebooks.title': 'Meine Notizbücher',\n 'notebooks.updated.days': 'Vor {{days}} Tagen aktualisiert',\n 'notebooks.updated.on': 'Aktualisiert am',\n 'notebooks.updated.today': 'Heute aktualisiert',\n 'notebooks.updated.yesterday': 'Vor 1 Tag aktualisiert',\n 'page.subtitle': 'KI-gestützter Entwicklungsassistent',\n 'page.title': 'Intelligenter Assistent',\n 'permission.notebooks.goBack': 'Zurück',\n 'permission.required.description':\n 'Um <subject/> anzuzeigen, wenden Sie sich an Ihren Administrator, um die Berechtigung <permissions/> zu erhalten.',\n 'permission.required.title': 'Fehlende Berechtigungen',\n 'permission.subject.notebooks':\n 'die Notizbücher des intelligenten Assistenten',\n 'permission.subject.plugin': 'das Plugin des intelligenten Assistenten',\n 'prompts.codeOptimization.message':\n 'Können Sie gängige Methoden zur Codeoptimierung vorschlagen, um eine bessere Performance zu erzielen?',\n 'prompts.codeOptimization.title':\n 'Vorschläge zur Codeoptimierung unterbreiten',\n 'prompts.codeReadability.message':\n 'Können Sie mir Techniken vorschlagen, mit denen ich meinen Code lesbarer und wartungsfreundlicher gestalten kann?',\n 'prompts.codeReadability.title': 'Hilfe zur Code-Lesbarkeit erhalten',\n 'prompts.debugging.message':\n 'Meine Anwendung gibt beim Versuch einer Verbindung zur Datenbank einen Fehler aus. Können Sie mir helfen, das Problem zu identifizieren?',\n 'prompts.debugging.title': 'Hilfe beim Debuggen erhalten',\n 'prompts.developmentConcept.message':\n 'Können Sie erklären, wie eine Microservices-Architektur funktioniert und welche Vorteile sie gegenüber einem monolithischen Design bietet?',\n 'prompts.developmentConcept.title': 'Ein Entwicklungskonzept erläutern',\n 'prompts.documentation.message':\n 'Können Sie die Dokumentation zur Implementierung der OAuth 2.0-Authentifizierung in einer Webanwendung zusammenfassen?',\n 'prompts.documentation.title': 'Zusammenfassung von Dokumentation',\n 'prompts.eventDriven.message':\n 'Können Sie erklären, was ereignisgesteuerte Architektur bedeutet und wann ihre Verwendung in der Softwareentwicklung von Vorteil ist?',\n 'prompts.eventDriven.title': 'Ereignisgesteuerte Architektur verstehen',\n 'prompts.gitWorkflows.message':\n 'Ich möchte Änderungen am Code in einem anderen Branch vornehmen, ohne meine bestehende Arbeit zu verlieren. Wie geht man dabei mit Git vor?',\n 'prompts.gitWorkflows.title': 'Workflows mit Git',\n 'prompts.openshift.message':\n 'Können Sie mich bei der Erstellung eines neuen Deployments in OpenShift für eine containerisierte Anwendung unterstützen?',\n 'prompts.openshift.title': 'OpenShift-Deployment erstellen',\n 'prompts.rhdh.message':\n 'Können Sie mich bei den ersten Schritten zur Nutzung des Developer Hub als Entwickler unterstützen, z. B. beim Erkunden des Softwarekatalogs und beim Hinzufügen meines Dienstes?',\n 'prompts.rhdh.title': 'Erste Schritte mit dem Red Hat Developer Hub',\n 'prompts.sortingAlgorithms.message':\n 'Können Sie den Unterschied zwischen Quicksort und Mergesort erklären und wann man welchen Algorithmus verwendet?',\n 'prompts.sortingAlgorithms.title':\n 'Sortieralgorithmen verständlich erklären',\n 'prompts.tekton.message':\n 'Können Sie mir helfen, das Deployment meiner Anwendung mithilfe von Tekton-Pipelines zu automatisieren?',\n 'prompts.tekton.title': 'Mit Tekton deployen',\n 'prompts.testingStrategies.message':\n 'Können Sie mir einige gängige Teststrategien empfehlen, die meine Anwendung robust und fehlerfrei machen?',\n 'prompts.testingStrategies.title': 'Teststrategien vorschlagen',\n 'reasoning.thinking': 'Denkvorgang anzeigen',\n 'settings.displayMode.docked': 'An Fenster andocken',\n 'settings.displayMode.fullscreen': 'Vollbild',\n 'settings.displayMode.label': 'Anzeigemodus',\n 'settings.displayMode.overlay': 'Overlay',\n 'settings.mcp.badge': 'Neu',\n 'settings.mcp.label': 'MCP-Einstellungen',\n 'settings.pinned.disable': 'Angeheftete Chats deaktivieren',\n 'settings.pinned.disabled.description':\n 'Angeheftete Chats sind derzeit deaktiviert.',\n 'settings.pinned.enable': 'Angeheftete Chats aktivieren',\n 'settings.pinned.enabled.description':\n 'Angeheftete Chats sind derzeit aktiviert',\n 'sort.alphabeticalAsc': 'Name (A-Z)',\n 'sort.alphabeticalDesc': 'Name (Z-A)',\n 'sort.label': 'Unterhaltungen sortieren',\n 'sort.newest': 'Datum (neuestes zuerst)',\n 'sort.oldest': 'Datum (ältestes zuerst)',\n 'sources.chip.label_one': '{{count}} Quelle',\n 'sources.chip.label_other': '{{count}} Quellen',\n 'sources.modal.description':\n 'Die folgenden Quellen wurden verwendet, um diese KI-Antwort zu generieren und ergänzende Informationen bereitzustellen:',\n 'sources.modal.title': 'Quellen',\n 'sources.popover.closeAriaLabel': 'Quellen schließen',\n 'tabs.ariaLabel': 'Ansichten des intelligenten Assistenten',\n 'tabs.chat': 'Chat',\n 'tabs.notebooks': 'Notizbücher',\n 'tabs.notebooks.devPreview': 'Entwicklervorschau',\n 'tabs.notebooks.empty': 'Inhalte der Notizbücher kommen hierhin.',\n 'toolCall.copyResponse': 'Antwort kopieren',\n 'toolCall.executing': 'Tool wird ausgeführt...',\n 'toolCall.executionTime': 'Ausführungszeit: ',\n 'toolCall.header': 'Antwort des Tools: {{toolName}}',\n 'toolCall.loading': 'Tool wird ausgeführt...',\n 'toolCall.mcpServer': 'MCP-Server',\n 'toolCall.parameters': 'Parameter',\n 'toolCall.response': 'Antwort',\n 'toolCall.showLess': 'Weniger anzeigen',\n 'toolCall.showMore': 'Mehr anzeigen',\n 'toolCall.summary': 'Hier ist eine Zusammenfassung Ihrer Antwort.',\n 'toolCall.thinking': 'Hat {{seconds}} Sekunden nachgedacht',\n 'tooltip.attach': 'Anhängen',\n 'tooltip.backToBottom': 'Zurück zum Ende',\n 'tooltip.backToTop': 'Zurück zum Anfang',\n 'tooltip.chatHistoryMenu': 'Chatverlauf-Menü',\n 'tooltip.close': 'Schließen',\n 'tooltip.collapseHistoryPanel': 'Chatverlauf minimieren',\n 'tooltip.expandHistoryPanel': 'Chatverlauf erweitern',\n 'tooltip.fab.close': 'Intelligenten Assistenten schließen',\n 'tooltip.fab.open': 'Intelligenten Assistenten öffnen',\n 'tooltip.microphone.active': 'Überwachen beenden',\n 'tooltip.microphone.inactive': 'Mikrofon verwenden',\n 'tooltip.quickNewChat': 'Neuer Chat',\n 'tooltip.responseRecorded': 'Antwort aufgezeichnet',\n 'tooltip.send': 'Senden',\n 'user.guest': 'Gast',\n 'user.loading': '...',\n },\n});\n\nexport default intelligentAssistantTranslationDe;\n"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ const intelligentAssistantTranslationEs = createTranslationMessages({
5
5
  ref: intelligentAssistantTranslationRef,
6
6
  messages: {
7
7
  "aria.chatHistoryMenu": "Men\xFA del historial de chat",
8
+ "modelSelector.disabledTooltip": "Cada sesi\xF3n de chat solo admite un modelo. Para cambiar de modelo, abra un nuevo chat.",
8
9
  "aria.chatbotSelector": "Selector de chatbot",
9
10
  "aria.close": "Cerrar chatbot",
10
11
  "aria.closeDrawerPanel": "Cerrar el panel lateral",
@@ -1 +1 @@
1
- {"version":3,"file":"es.esm.js","sources":["../../src/translations/es.ts"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\n\nimport { intelligentAssistantTranslationRef } from './ref';\n\n/**\n * es translation for plugin.intelligent-assistant.\n * @public\n */\nconst intelligentAssistantTranslationEs = createTranslationMessages({\n ref: intelligentAssistantTranslationRef,\n messages: {\n 'aria.chatHistoryMenu': 'Menú del historial de chat',\n 'aria.chatbotSelector': 'Selector de chatbot',\n 'aria.close': 'Cerrar chatbot',\n 'aria.closeDrawerPanel': 'Cerrar el panel lateral',\n 'aria.important': 'Importante',\n 'aria.options.label': 'Opciones',\n 'aria.resize': 'Redimensionar',\n 'aria.scroll.down': 'Volver al final',\n 'aria.scroll.up': 'Volver arriba',\n 'aria.search.placeholder': 'Buscar',\n 'aria.searchPreviousConversations': 'Buscar conversaciones anteriores',\n 'attach.menu.description': 'Adjuntar un archivo JSON, YAML o TXT',\n 'attach.menu.title': 'Adjuntar',\n 'button.newChat': 'Nuevo chat',\n 'chatbox.emptyState.noPinnedChats': 'Fija chats para mantenerlos arriba',\n 'chatbox.emptyState.noRecentChats': 'No hay chats recientes',\n 'chatbox.emptyState.noResults.body':\n 'Ajuste su solicitud de búsqueda y vuelva a intentarlo. Revise la ortografía o pruebe con un término más general.',\n 'chatbox.emptyState.noResults.title': 'No se encontraron resultados',\n 'chatbox.fileUpload.failed': 'Error al cargar el archivo',\n 'chatbox.fileUpload.infoText':\n 'Los tipos de archivo admitidos son .txt, .yaml y .json. El tamaño máximo del archivo es de 25 MB.',\n 'chatbox.header.title': 'Developer Hub Asistente Inteligente',\n 'chatbox.message.placeholder':\n 'Envíe un mensaje y, de forma opcional, cargue un archivo JSON, YAML o TXT...',\n 'chatbox.provider.other': 'Otro',\n 'chatbox.search.placeholder': 'Buscar',\n 'chatbox.welcome.description': '¿Cómo puedo ayudarte hoy?',\n 'chatbox.welcome.greeting': 'Hola, {{userName}}',\n 'common.cancel': 'Cancelar',\n 'common.close': 'Cerrar',\n 'common.loading': 'Cargando',\n 'common.noSearchResults': 'Ningún resultado coincide con la búsqueda',\n 'common.readMore': 'Leer más',\n 'common.retry': 'Volver a intentar',\n 'conversation.addToPinnedChats': 'Fijar',\n 'conversation.announcement.responseStopped': 'Respuesta detenida.',\n 'conversation.announcement.userMessage':\n 'Mensaje del usuario: {{prompt}}. El mensaje del bot se está cargando.',\n 'conversation.category.pinnedChats': 'Chats fijados',\n 'conversation.category.recent': 'Chats',\n 'conversation.delete': 'Eliminar',\n 'conversation.delete.confirm.action': 'Eliminar',\n 'conversation.delete.confirm.message':\n 'Ya no verás este chat aquí. Esto también eliminará la actividad relacionada, como indicaciones, respuestas y comentarios de tu actividad.',\n 'conversation.delete.confirm.title': '¿Eliminar \"{{chatName}}\"?',\n 'conversation.removeFromPinnedChats': 'Quitar fijación',\n 'conversation.rename': 'Cambiar el nombre',\n 'conversation.rename.confirm.action': 'Cambiar el nombre',\n 'conversation.rename.confirm.title': '¿Cambiar el nombre del chat?',\n 'conversation.rename.placeholder': 'Nombre del chat',\n 'disclaimer.withValidation':\n 'Esta funcionalidad utiliza tecnología de IA. No incluya información personal ni otros datos confidenciales en la entrada. Las interacciones pueden utilizarse para mejorar los productos o servicios de Red Hat.',\n 'disclaimer.withoutValidation':\n 'Esta funcionalidad utiliza tecnología de IA. No incluya información personal ni otros datos confidenciales en la entrada. Las interacciones pueden utilizarse para mejorar los productos o servicios de Red Hat.',\n 'error.context.fileAttachment':\n 'useFileAttachmentContext debe estar dentro de un FileAttachmentContextProvider',\n 'feedback.completion.body':\n 'Recibimos su respuesta. ¡Gracias por compartir sus comentarios!',\n 'feedback.completion.title': 'Comentarios enviados',\n 'feedback.form.submitWord': 'Enviar',\n 'feedback.form.textAreaPlaceholder':\n 'Proporcionar comentarios adicionales opcionales',\n 'feedback.form.title': '¿Por qué eligió esta calificación?',\n 'feedback.quickResponses.negative.didntAnswer': 'No respondió mi pregunta',\n 'feedback.quickResponses.negative.hardToUnderstand': 'Difícil de entender',\n 'feedback.quickResponses.negative.notHelpful': 'No es útil',\n 'feedback.quickResponses.positive.easyToUnderstand': 'Fácil de entender',\n 'feedback.quickResponses.positive.helpful': 'Información útil',\n 'feedback.quickResponses.positive.resolvedIssue': 'Resolvió mi problema',\n 'feedback.tooltips.badResponse': 'Mala respuesta',\n 'feedback.tooltips.copied': 'Copiado',\n 'feedback.tooltips.copy': 'Copiar',\n 'feedback.tooltips.goodResponse': 'Buena respuesta',\n 'feedback.tooltips.listen': 'Escuchar',\n 'feedback.tooltips.listening': 'Escuchando',\n 'file.upload.error.alreadyExists': 'El archivo ya existe.',\n 'file.upload.error.fileTooLarge':\n 'El tamaño del archivo es demasiado grande. Asegúrate de que el archivo sea menor de 25 MB.',\n 'file.upload.error.multipleFiles': 'Subió más de un archivo.',\n 'file.upload.error.readFailed':\n 'No se pudo leer el archivo: {{errorMessage}}',\n 'file.upload.error.unsupportedType':\n 'Tipo de archivo no compatible. Los tipos de archivo admitidos son .txt, .yaml y .json.',\n 'footer.accuracy.label':\n 'Revise siempre el contenido generado con IA antes de usarlo.',\n 'icon.lightspeed.alt': 'icono del asistente inteligente',\n 'icon.permissionRequired.alt': 'icono de permiso requerido',\n 'lcore.loadError.description':\n 'El backend del asistente inteligente no devolvió una lista de modelos. Compruebe que el servicio está en ejecución y es accesible, e inténtelo de nuevo.',\n 'lcore.loadError.title': 'No se pudieron cargar los modelos',\n 'lcore.notConfigured.backendDocs':\n 'Configuración del backend del asistente inteligente',\n 'lcore.notConfigured.description':\n 'El asistente inteligente requiere un LLM registrado. Póngase en contacto con el administrador de la plataforma de su organización para completar la configuración.',\n 'lcore.notConfigured.developerLightspeedDocs':\n 'Configurando Developer Hub Intelligent Assistant',\n 'lcore.notConfigured.title': 'Conecte un LLM para empezar',\n 'mcp.settings.closeAriaLabel': 'Cerrar configuración de MCP',\n 'mcp.settings.closeConfigureModalAriaLabel':\n 'Cerrar modal de configuración',\n 'mcp.settings.configureServerTitle':\n '{{serverName}} — configuración del servidor MCP',\n 'mcp.settings.edit': 'Editar',\n 'mcp.settings.editServerAriaLabel': 'Editar {{serverName}}',\n 'mcp.settings.enabled': 'Habilitado',\n 'mcp.settings.enterToken': 'Introduce tu token',\n 'mcp.settings.loading': 'Cargando servidores MCP...',\n 'mcp.settings.modalDescription':\n 'Las credenciales se almacenan cifradas y se limitan a tu perfil. El asistente inteligente funcionará con exactamente tus permisos.',\n 'mcp.settings.modalDescriptionDcr':\n 'Este servidor utiliza Dynamic Client Registration (DCR). Los tokens se generan automáticamente usando tu identidad de Backstage — no se necesita un token manual.',\n 'mcp.settings.authenticationToken': 'Token de autenticación',\n 'mcp.settings.modal.authenticationHeading': 'Autenticación',\n 'mcp.settings.modal.credentialMode.organization':\n 'Usar token predeterminado de la organización',\n 'mcp.settings.modal.credentialMode.organizationDescription':\n 'Usa el token configurado por su administrador.',\n 'mcp.settings.modal.credentialMode.personal': 'Usar token personal',\n 'mcp.settings.modal.toolsHeading': 'Herramientas ({{count}})',\n 'mcp.settings.modal.loadingTools': 'Cargando herramientas...',\n 'mcp.settings.modal.fetchingStatus': 'Obteniendo estado...',\n 'mcp.settings.modal.loadingStatus': 'Desconectando...',\n 'mcp.settings.modal.tokenRemovedWarning':\n 'Se eliminó el token. Para volver a usar este servidor MCP, proporcione un nuevo token.',\n 'mcp.settings.modal.noToolsAvailable': 'No hay herramientas disponibles.',\n 'mcp.settings.modal.toolsLoadFailed':\n 'No se pudieron cargar las herramientas.',\n 'mcp.settings.modal.enabledDescription':\n 'Este servidor está activo y disponible en el chat.',\n 'mcp.settings.modal.enabledDescriptionOff':\n 'Este servidor está deshabilitado y no está disponible en el chat.',\n 'mcp.settings.modal.enabledDescriptionTokenRequired':\n 'Este servidor está deshabilitado actualmente. Proporcione un token para habilitarlo.',\n 'mcp.settings.name': 'Nombre',\n 'mcp.settings.noneAvailable': 'No hay servidores MCP disponibles.',\n 'mcp.settings.personalAccessToken': 'Token de acceso personal',\n 'mcp.settings.readOnlyAccess':\n 'Tienes acceso de solo lectura a los servidores MCP.',\n 'mcp.settings.removePersonalToken': 'Eliminar token personal',\n 'mcp.settings.savedToken': 'Token guardado',\n 'mcp.settings.selectedCount':\n '{{selectedCount}} de {{totalCount}} seleccionados',\n 'mcp.settings.status': 'Estado',\n 'mcp.settings.status.disabled': 'Deshabilitado',\n 'mcp.settings.status.failed': 'Falló',\n 'mcp.settings.status.manyTools': '{{count}} herramientas',\n 'mcp.settings.status.oneTool': '{{count}} herramienta',\n 'mcp.settings.status.tokenRequired': 'Se requiere token',\n 'mcp.settings.status.unknown': 'Desconocido',\n 'mcp.settings.tableAriaLabel': 'Tabla de servidores MCP',\n 'mcp.settings.title': 'Servidores MCP',\n 'mcp.settings.toggleServerAriaLabel': 'Alternar {{serverName}}',\n 'mcp.settings.token.clearAriaLabel': 'Borrar entrada de token',\n 'mcp.settings.token.connectionSuccessful': 'Conexión correcta',\n 'mcp.settings.token.invalidCredentials':\n 'Credenciales no válidas. Revisa la URL del servidor y el token.',\n 'mcp.settings.token.savingAndValidating': 'Guardando y validando token...',\n 'mcp.settings.token.urlUnavailableForValidation':\n 'No se puede validar el token porque la URL del servidor no está disponible.',\n 'mcp.settings.token.validating': 'Validando token...',\n 'mcp.settings.token.validationFailed':\n 'La validación falló. Revisa la URL del servidor y el token.',\n 'menu.newConversation': 'Nuevo chat',\n 'message.options.label': 'Opciones',\n 'modal.cancel': 'Cancelar',\n 'modal.close': 'Cerrar',\n 'modal.edit': 'Modificar',\n 'modal.save': 'Guardar',\n 'modal.title.edit': 'Modificar archivo adjunto',\n 'modal.title.preview': 'Previsualizar archivo adjunto',\n 'notebook.document.delete': 'Eliminar',\n 'notebook.document.delete.action': 'Eliminar',\n 'notebook.document.delete.description':\n '¿Está seguro de que desea eliminar <documentName/> de este cuaderno? Esta acción no se puede deshacer.',\n 'notebook.document.delete.success':\n '«{{documentName}}» se eliminó correctamente.',\n 'notebook.document.delete.title': '¿Eliminar recurso?',\n 'notebook.overwrite.modal.action': 'Sobrescribir',\n 'notebook.overwrite.modal.description':\n 'Los siguientes archivos ya existen en este cuaderno. ¿Desea sobrescribirlos con las nuevas versiones?',\n 'notebook.overwrite.modal.title': '¿Sobrescribir archivos?',\n 'notebook.upload.error.fileTooLarge':\n 'Error de carga: el tamaño del archivo supera el límite de 25 MB.',\n 'notebook.upload.error.tooManyFiles':\n 'Error de carga: se permiten un máximo de {{max}} archivos.',\n 'notebook.upload.error.unsupportedType':\n 'Error de carga: se encontraron tipos de archivo no compatibles. Suba solo tipos de archivo compatibles.',\n 'notebook.upload.failed': 'Error al subir \"{{fileName}}\".',\n 'notebook.upload.modal.addButton': 'Agregar ({{count}})',\n 'notebook.upload.modal.browseButton': 'Subir',\n 'notebook.upload.modal.dragDropTitle':\n 'Arrastra y suelta los archivos aquí',\n 'notebook.upload.modal.infoText':\n 'Tipos de archivo aceptados: .md, .txt, .pdf, .json, .yaml, .log',\n 'notebook.upload.modal.removeFile': 'Eliminar {{fileName}}',\n 'notebook.upload.modal.selectedFiles':\n '{{count}} de {{max}} archivos seleccionados',\n 'notebook.upload.modal.separator': 'o',\n 'notebook.upload.modal.title': 'Agregar un documento al cuaderno',\n 'notebook.view.close': 'Cerrar cuaderno',\n 'notebook.view.documents.add': 'Agregar',\n 'notebook.view.documents.count': '{{count}} Documentos',\n 'notebook.view.documents.maxReached':\n 'Se permiten un máximo de 10 documentos. Elimina un documento para subir uno nuevo.',\n 'notebook.view.documents.uploading': 'Subiendo documento',\n 'notebook.view.input.disabledTooltip':\n 'Selecciona al menos un recurso cargado para comenzar a chatear',\n 'notebook.view.input.placeholder': 'Pregunta sobre tus documentos...',\n 'notebook.view.sidebar.collapse': 'Contraer barra lateral',\n 'notebook.view.sidebar.expand': 'Expandir barra lateral',\n 'notebook.view.sidebar.resize': 'Redimensionar barra lateral',\n 'notebook.view.title': 'Cuaderno sin título',\n 'notebook.view.upload.action': 'Subir un recurso',\n 'notebook.view.processing.description':\n 'Sus archivos están siendo indexados. Puede comenzar a hacer preguntas una vez que se complete el procesamiento.',\n 'notebook.view.processing.heading': 'Procesando recursos...',\n 'notebook.view.upload.heading': 'Sube un recurso para empezar',\n 'notebooks.actions.delete': 'Eliminar',\n 'notebooks.actions.rename': 'Renombrar',\n 'notebooks.card.openAria': 'Abrir el cuaderno {{name}}',\n 'notebooks.delete.action': 'Eliminar',\n 'notebooks.delete.message':\n 'Ya no verás este cuaderno aquí. Esto también eliminará actividad relacionada como solicitudes, respuestas y comentarios de tu actividad.',\n 'notebooks.delete.title': '¿Eliminar {{name}}?',\n 'notebooks.delete.toast': '¡Cuaderno eliminado!',\n 'notebooks.documents': 'Documentos',\n 'notebooks.empty.action': 'Crear un cuaderno nuevo',\n 'notebooks.empty.description':\n 'Crea un nuevo cuaderno para organizar tus fuentes y generar información con IA.',\n 'notebooks.empty.title': 'No hay cuadernos creados',\n 'notebooks.prompts.accessIssue.title': 'Ayúdame con un problema de acceso',\n 'notebooks.prompts.coreConcepts.title': '¿Cuáles son los conceptos clave?',\n 'notebooks.prompts.vulnerabilities.title':\n 'Mostrar mis vulnerabilidades críticas',\n 'notebooks.rename.action': 'Enviar',\n 'notebooks.rename.description':\n 'Introduce el nuevo nombre para este cuaderno y haz clic en Enviar para continuar.',\n 'notebooks.rename.label': 'Nuevo nombre',\n 'notebooks.rename.placeholder': 'Nuevo nombre',\n 'notebooks.rename.title': '¿Renombrar {{name}}?',\n 'notebooks.title': 'Mis cuadernos',\n 'notebooks.updated.days': 'Actualizado hace {{days}} días',\n 'notebooks.updated.on': 'Actualizado el',\n 'notebooks.updated.today': 'Actualizado hoy',\n 'notebooks.updated.yesterday': 'Actualizado hace 1 día',\n 'page.subtitle': 'Asistente de desarrollo con tecnología de IA',\n 'page.title': 'Asistente inteligente',\n 'permission.notebooks.goBack': 'Volver',\n 'permission.required.description':\n 'Para ver <subject/>, contacta a tu administrador para que te otorgue el permiso <permissions/>.',\n 'permission.required.title': 'Permisos faltantes',\n 'permission.subject.notebooks': 'los cuadernos del asistente inteligente',\n 'permission.subject.plugin': 'el plugin del asistente inteligente',\n 'prompts.codeOptimization.message':\n '¿Puedes sugerir formas comunes de optimizar el código para lograr un mejor rendimiento?',\n 'prompts.codeOptimization.title': 'Sugerir optimizaciones de código',\n 'prompts.codeReadability.message':\n '¿Puedes sugerir técnicas que pueda utilizar para hacer que mi código sea más fácil de leer y mantener?',\n 'prompts.codeReadability.title':\n 'Obtener ayuda sobre la legibilidad del código',\n 'prompts.debugging.message':\n 'Mi aplicación genera un error al intentar conectarse a la base de datos. ¿Puedes ayudarme a identificar el problema?',\n 'prompts.debugging.title': 'Obtener ayuda con la depuración',\n 'prompts.developmentConcept.message':\n '¿Puedes explicar cómo funciona la arquitectura de microservicios y sus ventajas frente a un diseño monolítico?',\n 'prompts.developmentConcept.title': 'Explicar un concepto de desarrollo',\n 'prompts.documentation.message':\n '¿Puedes resumir la documentación para implementar la autenticación OAuth 2.0 en una aplicación web?',\n 'prompts.documentation.title': 'Resumir la documentación',\n 'prompts.eventDriven.message':\n '¿Puedes explicar qué es la arquitectura basada en eventos y cuándo es beneficioso usarla en el desarrollo de software?',\n 'prompts.eventDriven.title': 'Comprender la arquitectura basada en eventos',\n 'prompts.gitWorkflows.message':\n 'Quiero realizar cambios en el código en otra rama sin perder mi trabajo existente. ¿Cuál es el procedimiento para hacerlo con Git?',\n 'prompts.gitWorkflows.title': 'Flujos de trabajo con Git',\n 'prompts.openshift.message':\n '¿Puedes guiarme en la creación de una nueva implementación en OpenShift para una aplicación contenerizada?',\n 'prompts.openshift.title': 'Crear una implementación de OpenShift',\n 'prompts.rhdh.message':\n '¿Puedes explicarme los primeros pasos para usar Developer Hub como desarrollador, por ejemplo, cómo explorar el catálogo de software y agregar mi servicio?',\n 'prompts.rhdh.title': 'Empezar a usar Red Hat Developer Hub',\n 'prompts.sortingAlgorithms.message':\n '¿Puedes explicar la diferencia entre un algoritmo de clasificación rápido y un algoritmo de clasificación por combinación, y cuándo utilizar cada uno?',\n 'prompts.sortingAlgorithms.title':\n 'Desmitificar los algoritmos de clasificación',\n 'prompts.tekton.message':\n '¿Puedes ayudarme a automatizar la implementación de mi aplicación con pipelines de Tekton?',\n 'prompts.tekton.title': 'Implementar con Tekton',\n 'prompts.testingStrategies.message':\n '¿Puedes recomendarme algunas estrategias de prueba comunes para lograr una aplicación sólida y libre de errores?',\n 'prompts.testingStrategies.title': 'Sugerir estrategias de prueba',\n 'reasoning.thinking': 'Mostrar pensamiento',\n 'settings.displayMode.docked': 'Anclar a la ventana',\n 'settings.displayMode.fullscreen': 'Pantalla completa',\n 'settings.displayMode.label': 'Modo de visualización',\n 'settings.displayMode.overlay': 'Superposición',\n 'settings.mcp.badge': 'Nuevo',\n 'settings.mcp.label': 'Configuración de MCP',\n 'settings.pinned.disable': 'Deshabilitar chats fijados',\n 'settings.pinned.disabled.description':\n 'Los chats fijados están deshabilitados actualmente',\n 'settings.pinned.enable': 'Habilitar chats fijados',\n 'settings.pinned.enabled.description':\n 'Los chats fijados están habilitados actualmente',\n 'sort.alphabeticalAsc': 'Nombre (A-Z)',\n 'sort.alphabeticalDesc': 'Nombre (Z-A)',\n 'sort.label': 'Ordenar conversaciones',\n 'sort.newest': 'Fecha (la más reciente primero)',\n 'sort.oldest': 'Fecha (la más antigua primero)',\n 'sources.chip.label_one': '{{count}} Fuente',\n 'sources.chip.label_other': '{{count}} Fuentes',\n 'sources.modal.description':\n 'Las siguientes fuentes se utilizaron para generar esta respuesta de IA y proporcionar información complementaria:',\n 'sources.modal.title': 'Fuentes',\n 'sources.popover.closeAriaLabel': 'Cerrar fuentes',\n 'tabs.ariaLabel': 'Vistas del asistente inteligente',\n 'tabs.chat': 'Chat',\n 'tabs.notebooks': 'Cuadernos',\n 'tabs.notebooks.devPreview': 'Vista previa para desarrolladores',\n 'tabs.notebooks.empty': 'El contenido de los cuadernos va aquí.',\n 'toolCall.copyResponse': 'Copiar respuesta',\n 'toolCall.executing': 'Herramienta en ejecución...',\n 'toolCall.executionTime': 'Tiempo de ejecución: ',\n 'toolCall.header': 'Respuesta de la herramienta: {{toolName}}',\n 'toolCall.loading': 'Herramienta en ejecución...',\n 'toolCall.mcpServer': 'Servidor MCP',\n 'toolCall.parameters': 'Parámetros',\n 'toolCall.response': 'Respuesta',\n 'toolCall.showLess': 'mostrar menos',\n 'toolCall.showMore': 'mostrar más',\n 'toolCall.summary': 'Este es un resumen de su respuesta',\n 'toolCall.thinking': 'Pensó durante {{seconds}} segundos',\n 'tooltip.attach': 'Adjuntar',\n 'tooltip.backToBottom': 'Volver al final',\n 'tooltip.backToTop': 'Volver arriba',\n 'tooltip.chatHistoryMenu': 'Menú del historial de chat',\n 'tooltip.close': 'Cerrar',\n 'tooltip.collapseHistoryPanel': 'Colapsar historial de chat',\n 'tooltip.expandHistoryPanel': 'Expandir historial de chat',\n 'tooltip.fab.close': 'Cerrar asistente inteligente',\n 'tooltip.fab.open': 'Abrir asistente inteligente',\n 'tooltip.microphone.active': 'Dejar de escuchar',\n 'tooltip.microphone.inactive': 'Usar micrófono',\n 'tooltip.quickNewChat': 'Nuevo chat',\n 'tooltip.responseRecorded': 'Respuesta grabada',\n 'tooltip.send': 'Enviar',\n 'user.guest': 'Invitado',\n 'user.loading': '...',\n },\n});\n\nexport default intelligentAssistantTranslationEs;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"es.esm.js","sources":["../../src/translations/es.ts"],"sourcesContent":["/*\n * Copyright Red Hat, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTranslationMessages } from '@backstage/core-plugin-api/alpha';\n\nimport { intelligentAssistantTranslationRef } from './ref';\n\n/**\n * es translation for plugin.intelligent-assistant.\n * @public\n */\nconst intelligentAssistantTranslationEs = createTranslationMessages({\n ref: intelligentAssistantTranslationRef,\n messages: {\n 'aria.chatHistoryMenu': 'Menú del historial de chat',\n 'modelSelector.disabledTooltip':\n 'Cada sesión de chat solo admite un modelo. Para cambiar de modelo, abra un nuevo chat.',\n 'aria.chatbotSelector': 'Selector de chatbot',\n 'aria.close': 'Cerrar chatbot',\n 'aria.closeDrawerPanel': 'Cerrar el panel lateral',\n 'aria.important': 'Importante',\n 'aria.options.label': 'Opciones',\n 'aria.resize': 'Redimensionar',\n 'aria.scroll.down': 'Volver al final',\n 'aria.scroll.up': 'Volver arriba',\n 'aria.search.placeholder': 'Buscar',\n 'aria.searchPreviousConversations': 'Buscar conversaciones anteriores',\n 'attach.menu.description': 'Adjuntar un archivo JSON, YAML o TXT',\n 'attach.menu.title': 'Adjuntar',\n 'button.newChat': 'Nuevo chat',\n 'chatbox.emptyState.noPinnedChats': 'Fija chats para mantenerlos arriba',\n 'chatbox.emptyState.noRecentChats': 'No hay chats recientes',\n 'chatbox.emptyState.noResults.body':\n 'Ajuste su solicitud de búsqueda y vuelva a intentarlo. Revise la ortografía o pruebe con un término más general.',\n 'chatbox.emptyState.noResults.title': 'No se encontraron resultados',\n 'chatbox.fileUpload.failed': 'Error al cargar el archivo',\n 'chatbox.fileUpload.infoText':\n 'Los tipos de archivo admitidos son .txt, .yaml y .json. El tamaño máximo del archivo es de 25 MB.',\n 'chatbox.header.title': 'Developer Hub Asistente Inteligente',\n 'chatbox.message.placeholder':\n 'Envíe un mensaje y, de forma opcional, cargue un archivo JSON, YAML o TXT...',\n 'chatbox.provider.other': 'Otro',\n 'chatbox.search.placeholder': 'Buscar',\n 'chatbox.welcome.description': '¿Cómo puedo ayudarte hoy?',\n 'chatbox.welcome.greeting': 'Hola, {{userName}}',\n 'common.cancel': 'Cancelar',\n 'common.close': 'Cerrar',\n 'common.loading': 'Cargando',\n 'common.noSearchResults': 'Ningún resultado coincide con la búsqueda',\n 'common.readMore': 'Leer más',\n 'common.retry': 'Volver a intentar',\n 'conversation.addToPinnedChats': 'Fijar',\n 'conversation.announcement.responseStopped': 'Respuesta detenida.',\n 'conversation.announcement.userMessage':\n 'Mensaje del usuario: {{prompt}}. El mensaje del bot se está cargando.',\n 'conversation.category.pinnedChats': 'Chats fijados',\n 'conversation.category.recent': 'Chats',\n 'conversation.delete': 'Eliminar',\n 'conversation.delete.confirm.action': 'Eliminar',\n 'conversation.delete.confirm.message':\n 'Ya no verás este chat aquí. Esto también eliminará la actividad relacionada, como indicaciones, respuestas y comentarios de tu actividad.',\n 'conversation.delete.confirm.title': '¿Eliminar \"{{chatName}}\"?',\n 'conversation.removeFromPinnedChats': 'Quitar fijación',\n 'conversation.rename': 'Cambiar el nombre',\n 'conversation.rename.confirm.action': 'Cambiar el nombre',\n 'conversation.rename.confirm.title': '¿Cambiar el nombre del chat?',\n 'conversation.rename.placeholder': 'Nombre del chat',\n 'disclaimer.withValidation':\n 'Esta funcionalidad utiliza tecnología de IA. No incluya información personal ni otros datos confidenciales en la entrada. Las interacciones pueden utilizarse para mejorar los productos o servicios de Red Hat.',\n 'disclaimer.withoutValidation':\n 'Esta funcionalidad utiliza tecnología de IA. No incluya información personal ni otros datos confidenciales en la entrada. Las interacciones pueden utilizarse para mejorar los productos o servicios de Red Hat.',\n 'error.context.fileAttachment':\n 'useFileAttachmentContext debe estar dentro de un FileAttachmentContextProvider',\n 'feedback.completion.body':\n 'Recibimos su respuesta. ¡Gracias por compartir sus comentarios!',\n 'feedback.completion.title': 'Comentarios enviados',\n 'feedback.form.submitWord': 'Enviar',\n 'feedback.form.textAreaPlaceholder':\n 'Proporcionar comentarios adicionales opcionales',\n 'feedback.form.title': '¿Por qué eligió esta calificación?',\n 'feedback.quickResponses.negative.didntAnswer': 'No respondió mi pregunta',\n 'feedback.quickResponses.negative.hardToUnderstand': 'Difícil de entender',\n 'feedback.quickResponses.negative.notHelpful': 'No es útil',\n 'feedback.quickResponses.positive.easyToUnderstand': 'Fácil de entender',\n 'feedback.quickResponses.positive.helpful': 'Información útil',\n 'feedback.quickResponses.positive.resolvedIssue': 'Resolvió mi problema',\n 'feedback.tooltips.badResponse': 'Mala respuesta',\n 'feedback.tooltips.copied': 'Copiado',\n 'feedback.tooltips.copy': 'Copiar',\n 'feedback.tooltips.goodResponse': 'Buena respuesta',\n 'feedback.tooltips.listen': 'Escuchar',\n 'feedback.tooltips.listening': 'Escuchando',\n 'file.upload.error.alreadyExists': 'El archivo ya existe.',\n 'file.upload.error.fileTooLarge':\n 'El tamaño del archivo es demasiado grande. Asegúrate de que el archivo sea menor de 25 MB.',\n 'file.upload.error.multipleFiles': 'Subió más de un archivo.',\n 'file.upload.error.readFailed':\n 'No se pudo leer el archivo: {{errorMessage}}',\n 'file.upload.error.unsupportedType':\n 'Tipo de archivo no compatible. Los tipos de archivo admitidos son .txt, .yaml y .json.',\n 'footer.accuracy.label':\n 'Revise siempre el contenido generado con IA antes de usarlo.',\n 'icon.lightspeed.alt': 'icono del asistente inteligente',\n 'icon.permissionRequired.alt': 'icono de permiso requerido',\n 'lcore.loadError.description':\n 'El backend del asistente inteligente no devolvió una lista de modelos. Compruebe que el servicio está en ejecución y es accesible, e inténtelo de nuevo.',\n 'lcore.loadError.title': 'No se pudieron cargar los modelos',\n 'lcore.notConfigured.backendDocs':\n 'Configuración del backend del asistente inteligente',\n 'lcore.notConfigured.description':\n 'El asistente inteligente requiere un LLM registrado. Póngase en contacto con el administrador de la plataforma de su organización para completar la configuración.',\n 'lcore.notConfigured.developerLightspeedDocs':\n 'Configurando Developer Hub Intelligent Assistant',\n 'lcore.notConfigured.title': 'Conecte un LLM para empezar',\n 'mcp.settings.closeAriaLabel': 'Cerrar configuración de MCP',\n 'mcp.settings.closeConfigureModalAriaLabel':\n 'Cerrar modal de configuración',\n 'mcp.settings.configureServerTitle':\n '{{serverName}} — configuración del servidor MCP',\n 'mcp.settings.edit': 'Editar',\n 'mcp.settings.editServerAriaLabel': 'Editar {{serverName}}',\n 'mcp.settings.enabled': 'Habilitado',\n 'mcp.settings.enterToken': 'Introduce tu token',\n 'mcp.settings.loading': 'Cargando servidores MCP...',\n 'mcp.settings.modalDescription':\n 'Las credenciales se almacenan cifradas y se limitan a tu perfil. El asistente inteligente funcionará con exactamente tus permisos.',\n 'mcp.settings.modalDescriptionDcr':\n 'Este servidor utiliza Dynamic Client Registration (DCR). Los tokens se generan automáticamente usando tu identidad de Backstage — no se necesita un token manual.',\n 'mcp.settings.authenticationToken': 'Token de autenticación',\n 'mcp.settings.modal.authenticationHeading': 'Autenticación',\n 'mcp.settings.modal.credentialMode.organization':\n 'Usar token predeterminado de la organización',\n 'mcp.settings.modal.credentialMode.organizationDescription':\n 'Usa el token configurado por su administrador.',\n 'mcp.settings.modal.credentialMode.personal': 'Usar token personal',\n 'mcp.settings.modal.toolsHeading': 'Herramientas ({{count}})',\n 'mcp.settings.modal.loadingTools': 'Cargando herramientas...',\n 'mcp.settings.modal.fetchingStatus': 'Obteniendo estado...',\n 'mcp.settings.modal.loadingStatus': 'Desconectando...',\n 'mcp.settings.modal.tokenRemovedWarning':\n 'Se eliminó el token. Para volver a usar este servidor MCP, proporcione un nuevo token.',\n 'mcp.settings.modal.noToolsAvailable': 'No hay herramientas disponibles.',\n 'mcp.settings.modal.toolsLoadFailed':\n 'No se pudieron cargar las herramientas.',\n 'mcp.settings.modal.enabledDescription':\n 'Este servidor está activo y disponible en el chat.',\n 'mcp.settings.modal.enabledDescriptionOff':\n 'Este servidor está deshabilitado y no está disponible en el chat.',\n 'mcp.settings.modal.enabledDescriptionTokenRequired':\n 'Este servidor está deshabilitado actualmente. Proporcione un token para habilitarlo.',\n 'mcp.settings.name': 'Nombre',\n 'mcp.settings.noneAvailable': 'No hay servidores MCP disponibles.',\n 'mcp.settings.personalAccessToken': 'Token de acceso personal',\n 'mcp.settings.readOnlyAccess':\n 'Tienes acceso de solo lectura a los servidores MCP.',\n 'mcp.settings.removePersonalToken': 'Eliminar token personal',\n 'mcp.settings.savedToken': 'Token guardado',\n 'mcp.settings.selectedCount':\n '{{selectedCount}} de {{totalCount}} seleccionados',\n 'mcp.settings.status': 'Estado',\n 'mcp.settings.status.disabled': 'Deshabilitado',\n 'mcp.settings.status.failed': 'Falló',\n 'mcp.settings.status.manyTools': '{{count}} herramientas',\n 'mcp.settings.status.oneTool': '{{count}} herramienta',\n 'mcp.settings.status.tokenRequired': 'Se requiere token',\n 'mcp.settings.status.unknown': 'Desconocido',\n 'mcp.settings.tableAriaLabel': 'Tabla de servidores MCP',\n 'mcp.settings.title': 'Servidores MCP',\n 'mcp.settings.toggleServerAriaLabel': 'Alternar {{serverName}}',\n 'mcp.settings.token.clearAriaLabel': 'Borrar entrada de token',\n 'mcp.settings.token.connectionSuccessful': 'Conexión correcta',\n 'mcp.settings.token.invalidCredentials':\n 'Credenciales no válidas. Revisa la URL del servidor y el token.',\n 'mcp.settings.token.savingAndValidating': 'Guardando y validando token...',\n 'mcp.settings.token.urlUnavailableForValidation':\n 'No se puede validar el token porque la URL del servidor no está disponible.',\n 'mcp.settings.token.validating': 'Validando token...',\n 'mcp.settings.token.validationFailed':\n 'La validación falló. Revisa la URL del servidor y el token.',\n 'menu.newConversation': 'Nuevo chat',\n 'message.options.label': 'Opciones',\n 'modal.cancel': 'Cancelar',\n 'modal.close': 'Cerrar',\n 'modal.edit': 'Modificar',\n 'modal.save': 'Guardar',\n 'modal.title.edit': 'Modificar archivo adjunto',\n 'modal.title.preview': 'Previsualizar archivo adjunto',\n 'notebook.document.delete': 'Eliminar',\n 'notebook.document.delete.action': 'Eliminar',\n 'notebook.document.delete.description':\n '¿Está seguro de que desea eliminar <documentName/> de este cuaderno? Esta acción no se puede deshacer.',\n 'notebook.document.delete.success':\n '«{{documentName}}» se eliminó correctamente.',\n 'notebook.document.delete.title': '¿Eliminar recurso?',\n 'notebook.overwrite.modal.action': 'Sobrescribir',\n 'notebook.overwrite.modal.description':\n 'Los siguientes archivos ya existen en este cuaderno. ¿Desea sobrescribirlos con las nuevas versiones?',\n 'notebook.overwrite.modal.title': '¿Sobrescribir archivos?',\n 'notebook.upload.error.fileTooLarge':\n 'Error de carga: el tamaño del archivo supera el límite de 25 MB.',\n 'notebook.upload.error.tooManyFiles':\n 'Error de carga: se permiten un máximo de {{max}} archivos.',\n 'notebook.upload.error.unsupportedType':\n 'Error de carga: se encontraron tipos de archivo no compatibles. Suba solo tipos de archivo compatibles.',\n 'notebook.upload.failed': 'Error al subir \"{{fileName}}\".',\n 'notebook.upload.modal.addButton': 'Agregar ({{count}})',\n 'notebook.upload.modal.browseButton': 'Subir',\n 'notebook.upload.modal.dragDropTitle':\n 'Arrastra y suelta los archivos aquí',\n 'notebook.upload.modal.infoText':\n 'Tipos de archivo aceptados: .md, .txt, .pdf, .json, .yaml, .log',\n 'notebook.upload.modal.removeFile': 'Eliminar {{fileName}}',\n 'notebook.upload.modal.selectedFiles':\n '{{count}} de {{max}} archivos seleccionados',\n 'notebook.upload.modal.separator': 'o',\n 'notebook.upload.modal.title': 'Agregar un documento al cuaderno',\n 'notebook.view.close': 'Cerrar cuaderno',\n 'notebook.view.documents.add': 'Agregar',\n 'notebook.view.documents.count': '{{count}} Documentos',\n 'notebook.view.documents.maxReached':\n 'Se permiten un máximo de 10 documentos. Elimina un documento para subir uno nuevo.',\n 'notebook.view.documents.uploading': 'Subiendo documento',\n 'notebook.view.input.disabledTooltip':\n 'Selecciona al menos un recurso cargado para comenzar a chatear',\n 'notebook.view.input.placeholder': 'Pregunta sobre tus documentos...',\n 'notebook.view.sidebar.collapse': 'Contraer barra lateral',\n 'notebook.view.sidebar.expand': 'Expandir barra lateral',\n 'notebook.view.sidebar.resize': 'Redimensionar barra lateral',\n 'notebook.view.title': 'Cuaderno sin título',\n 'notebook.view.upload.action': 'Subir un recurso',\n 'notebook.view.processing.description':\n 'Sus archivos están siendo indexados. Puede comenzar a hacer preguntas una vez que se complete el procesamiento.',\n 'notebook.view.processing.heading': 'Procesando recursos...',\n 'notebook.view.upload.heading': 'Sube un recurso para empezar',\n 'notebooks.actions.delete': 'Eliminar',\n 'notebooks.actions.rename': 'Renombrar',\n 'notebooks.card.openAria': 'Abrir el cuaderno {{name}}',\n 'notebooks.delete.action': 'Eliminar',\n 'notebooks.delete.message':\n 'Ya no verás este cuaderno aquí. Esto también eliminará actividad relacionada como solicitudes, respuestas y comentarios de tu actividad.',\n 'notebooks.delete.title': '¿Eliminar {{name}}?',\n 'notebooks.delete.toast': '¡Cuaderno eliminado!',\n 'notebooks.documents': 'Documentos',\n 'notebooks.empty.action': 'Crear un cuaderno nuevo',\n 'notebooks.empty.description':\n 'Crea un nuevo cuaderno para organizar tus fuentes y generar información con IA.',\n 'notebooks.empty.title': 'No hay cuadernos creados',\n 'notebooks.prompts.accessIssue.title': 'Ayúdame con un problema de acceso',\n 'notebooks.prompts.coreConcepts.title': '¿Cuáles son los conceptos clave?',\n 'notebooks.prompts.vulnerabilities.title':\n 'Mostrar mis vulnerabilidades críticas',\n 'notebooks.rename.action': 'Enviar',\n 'notebooks.rename.description':\n 'Introduce el nuevo nombre para este cuaderno y haz clic en Enviar para continuar.',\n 'notebooks.rename.label': 'Nuevo nombre',\n 'notebooks.rename.placeholder': 'Nuevo nombre',\n 'notebooks.rename.title': '¿Renombrar {{name}}?',\n 'notebooks.title': 'Mis cuadernos',\n 'notebooks.updated.days': 'Actualizado hace {{days}} días',\n 'notebooks.updated.on': 'Actualizado el',\n 'notebooks.updated.today': 'Actualizado hoy',\n 'notebooks.updated.yesterday': 'Actualizado hace 1 día',\n 'page.subtitle': 'Asistente de desarrollo con tecnología de IA',\n 'page.title': 'Asistente inteligente',\n 'permission.notebooks.goBack': 'Volver',\n 'permission.required.description':\n 'Para ver <subject/>, contacta a tu administrador para que te otorgue el permiso <permissions/>.',\n 'permission.required.title': 'Permisos faltantes',\n 'permission.subject.notebooks': 'los cuadernos del asistente inteligente',\n 'permission.subject.plugin': 'el plugin del asistente inteligente',\n 'prompts.codeOptimization.message':\n '¿Puedes sugerir formas comunes de optimizar el código para lograr un mejor rendimiento?',\n 'prompts.codeOptimization.title': 'Sugerir optimizaciones de código',\n 'prompts.codeReadability.message':\n '¿Puedes sugerir técnicas que pueda utilizar para hacer que mi código sea más fácil de leer y mantener?',\n 'prompts.codeReadability.title':\n 'Obtener ayuda sobre la legibilidad del código',\n 'prompts.debugging.message':\n 'Mi aplicación genera un error al intentar conectarse a la base de datos. ¿Puedes ayudarme a identificar el problema?',\n 'prompts.debugging.title': 'Obtener ayuda con la depuración',\n 'prompts.developmentConcept.message':\n '¿Puedes explicar cómo funciona la arquitectura de microservicios y sus ventajas frente a un diseño monolítico?',\n 'prompts.developmentConcept.title': 'Explicar un concepto de desarrollo',\n 'prompts.documentation.message':\n '¿Puedes resumir la documentación para implementar la autenticación OAuth 2.0 en una aplicación web?',\n 'prompts.documentation.title': 'Resumir la documentación',\n 'prompts.eventDriven.message':\n '¿Puedes explicar qué es la arquitectura basada en eventos y cuándo es beneficioso usarla en el desarrollo de software?',\n 'prompts.eventDriven.title': 'Comprender la arquitectura basada en eventos',\n 'prompts.gitWorkflows.message':\n 'Quiero realizar cambios en el código en otra rama sin perder mi trabajo existente. ¿Cuál es el procedimiento para hacerlo con Git?',\n 'prompts.gitWorkflows.title': 'Flujos de trabajo con Git',\n 'prompts.openshift.message':\n '¿Puedes guiarme en la creación de una nueva implementación en OpenShift para una aplicación contenerizada?',\n 'prompts.openshift.title': 'Crear una implementación de OpenShift',\n 'prompts.rhdh.message':\n '¿Puedes explicarme los primeros pasos para usar Developer Hub como desarrollador, por ejemplo, cómo explorar el catálogo de software y agregar mi servicio?',\n 'prompts.rhdh.title': 'Empezar a usar Red Hat Developer Hub',\n 'prompts.sortingAlgorithms.message':\n '¿Puedes explicar la diferencia entre un algoritmo de clasificación rápido y un algoritmo de clasificación por combinación, y cuándo utilizar cada uno?',\n 'prompts.sortingAlgorithms.title':\n 'Desmitificar los algoritmos de clasificación',\n 'prompts.tekton.message':\n '¿Puedes ayudarme a automatizar la implementación de mi aplicación con pipelines de Tekton?',\n 'prompts.tekton.title': 'Implementar con Tekton',\n 'prompts.testingStrategies.message':\n '¿Puedes recomendarme algunas estrategias de prueba comunes para lograr una aplicación sólida y libre de errores?',\n 'prompts.testingStrategies.title': 'Sugerir estrategias de prueba',\n 'reasoning.thinking': 'Mostrar pensamiento',\n 'settings.displayMode.docked': 'Anclar a la ventana',\n 'settings.displayMode.fullscreen': 'Pantalla completa',\n 'settings.displayMode.label': 'Modo de visualización',\n 'settings.displayMode.overlay': 'Superposición',\n 'settings.mcp.badge': 'Nuevo',\n 'settings.mcp.label': 'Configuración de MCP',\n 'settings.pinned.disable': 'Deshabilitar chats fijados',\n 'settings.pinned.disabled.description':\n 'Los chats fijados están deshabilitados actualmente',\n 'settings.pinned.enable': 'Habilitar chats fijados',\n 'settings.pinned.enabled.description':\n 'Los chats fijados están habilitados actualmente',\n 'sort.alphabeticalAsc': 'Nombre (A-Z)',\n 'sort.alphabeticalDesc': 'Nombre (Z-A)',\n 'sort.label': 'Ordenar conversaciones',\n 'sort.newest': 'Fecha (la más reciente primero)',\n 'sort.oldest': 'Fecha (la más antigua primero)',\n 'sources.chip.label_one': '{{count}} Fuente',\n 'sources.chip.label_other': '{{count}} Fuentes',\n 'sources.modal.description':\n 'Las siguientes fuentes se utilizaron para generar esta respuesta de IA y proporcionar información complementaria:',\n 'sources.modal.title': 'Fuentes',\n 'sources.popover.closeAriaLabel': 'Cerrar fuentes',\n 'tabs.ariaLabel': 'Vistas del asistente inteligente',\n 'tabs.chat': 'Chat',\n 'tabs.notebooks': 'Cuadernos',\n 'tabs.notebooks.devPreview': 'Vista previa para desarrolladores',\n 'tabs.notebooks.empty': 'El contenido de los cuadernos va aquí.',\n 'toolCall.copyResponse': 'Copiar respuesta',\n 'toolCall.executing': 'Herramienta en ejecución...',\n 'toolCall.executionTime': 'Tiempo de ejecución: ',\n 'toolCall.header': 'Respuesta de la herramienta: {{toolName}}',\n 'toolCall.loading': 'Herramienta en ejecución...',\n 'toolCall.mcpServer': 'Servidor MCP',\n 'toolCall.parameters': 'Parámetros',\n 'toolCall.response': 'Respuesta',\n 'toolCall.showLess': 'mostrar menos',\n 'toolCall.showMore': 'mostrar más',\n 'toolCall.summary': 'Este es un resumen de su respuesta',\n 'toolCall.thinking': 'Pensó durante {{seconds}} segundos',\n 'tooltip.attach': 'Adjuntar',\n 'tooltip.backToBottom': 'Volver al final',\n 'tooltip.backToTop': 'Volver arriba',\n 'tooltip.chatHistoryMenu': 'Menú del historial de chat',\n 'tooltip.close': 'Cerrar',\n 'tooltip.collapseHistoryPanel': 'Colapsar historial de chat',\n 'tooltip.expandHistoryPanel': 'Expandir historial de chat',\n 'tooltip.fab.close': 'Cerrar asistente inteligente',\n 'tooltip.fab.open': 'Abrir asistente inteligente',\n 'tooltip.microphone.active': 'Dejar de escuchar',\n 'tooltip.microphone.inactive': 'Usar micrófono',\n 'tooltip.quickNewChat': 'Nuevo chat',\n 'tooltip.responseRecorded': 'Respuesta grabada',\n 'tooltip.send': 'Enviar',\n 'user.guest': 'Invitado',\n 'user.loading': '...',\n },\n});\n\nexport default intelligentAssistantTranslationEs;\n"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ const intelligentAssistantTranslationFr = createTranslationMessages({
5
5
  ref: intelligentAssistantTranslationRef,
6
6
  messages: {
7
7
  "aria.chatHistoryMenu": "Menu de l\u2019historique de conversations",
8
+ "modelSelector.disabledTooltip": "Chaque session de chat ne prend en charge qu'un seul mod\xE8le. Pour changer de mod\xE8le, ouvrez un nouveau chat.",
8
9
  "aria.chatbotSelector": "S\xE9lecteur Chatbot",
9
10
  "aria.close": "Fermer le chatbot",
10
11
  "aria.closeDrawerPanel": "Fermer le panneau de tiroirs",