@ecsplico/editor 2.0.0 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/README.md +4 -3
- package/dist/adapters/anchors.d.ts +80 -0
- package/dist/adapters/anchors.js +270 -0
- package/dist/adapters/anchors.js.map +1 -0
- package/dist/adapters/comments/client.d.ts +64 -0
- package/dist/adapters/comments/client.js +536 -0
- package/dist/adapters/comments/client.js.map +1 -0
- package/dist/adapters/comments/drizzle.d.ts +430 -0
- package/dist/adapters/comments/drizzle.js +236 -0
- package/dist/adapters/comments/drizzle.js.map +1 -0
- package/dist/adapters/comments/errors.d.ts +9 -0
- package/dist/adapters/comments/errors.js +19 -0
- package/dist/adapters/comments/errors.js.map +1 -0
- package/dist/adapters/comments/json.d.ts +19 -0
- package/dist/adapters/comments/json.js +94 -0
- package/dist/adapters/comments/json.js.map +1 -0
- package/dist/adapters/comments/record.js +78 -0
- package/dist/adapters/comments/record.js.map +1 -0
- package/dist/adapters/comments/server.d.ts +23 -0
- package/dist/adapters/comments/server.js +102 -0
- package/dist/adapters/comments/server.js.map +1 -0
- package/dist/adapters/comments/types.d.ts +109 -0
- package/dist/adapters/documents.js +108 -0
- package/dist/adapters/documents.js.map +1 -0
- package/dist/adapters/drizzle.d.ts +293 -0
- package/dist/adapters/drizzle.js +157 -0
- package/dist/adapters/drizzle.js.map +1 -0
- package/dist/adapters/files.js +30 -0
- package/dist/adapters/files.js.map +1 -0
- package/dist/adapters/forge.d.ts +58 -0
- package/dist/adapters/forge.js +91 -0
- package/dist/adapters/forge.js.map +1 -0
- package/dist/adapters/index.d.ts +13 -0
- package/dist/adapters/index.js +0 -0
- package/dist/adapters/json.d.ts +24 -0
- package/dist/adapters/json.js +128 -0
- package/dist/adapters/json.js.map +1 -0
- package/dist/adapters/nitro.d.ts +61 -0
- package/dist/adapters/nitro.js +212 -0
- package/dist/adapters/nitro.js.map +1 -0
- package/dist/adapters/routes.js +16 -0
- package/dist/adapters/routes.js.map +1 -0
- package/dist/adapters/shared.d.ts +37 -0
- package/dist/adapters/shared.js +32 -0
- package/dist/adapters/shared.js.map +1 -0
- package/dist/adapters/vue.d.ts +67 -0
- package/dist/adapters/vue.js +187 -0
- package/dist/adapters/vue.js.map +1 -0
- package/dist/code/CodeSurface.vue.d.ts +3 -3
- package/dist/core/doc-anchors.d.ts +5 -0
- package/dist/core/doc-anchors.js +4 -3
- package/dist/core/doc-anchors.js.map +1 -1
- package/dist/core/editor-ui.js +57 -1
- package/dist/core/editor-ui.js.map +1 -1
- package/dist/core/surface-session.js +139 -0
- package/dist/core/surface-session.js.map +1 -0
- package/dist/document/DocumentSurface.d.ts +1 -1
- package/dist/document/DocumentSurface.vue.d.ts +3 -3
- package/dist/features/ai/agent-op-review.d.ts +2 -2
- package/dist/features/ai/agent-op-review.js.map +1 -1
- package/dist/features/ai/agent-ops.d.ts +1 -1
- package/dist/features/ai/agent-ops.js +9 -6
- package/dist/features/ai/agent-ops.js.map +1 -1
- package/dist/features/ai/ai-apply.d.ts +1 -1
- package/dist/features/ai/ai-review.js +10 -1
- package/dist/features/ai/ai-review.js.map +1 -1
- package/dist/features/ai/components/AiSelectionMenu.js +78 -252
- package/dist/features/ai/components/AiSelectionMenu.js.map +1 -1
- package/dist/features/ai/components/AiSelectionMenu.vue.d.ts +2 -1
- package/dist/features/ai/components/AiSidebar.js +2 -2
- package/dist/features/ai/components/DocumentChatAnswer.js +1 -1
- package/dist/features/ai/components/DocumentChatOps.js +1 -0
- package/dist/features/ai/components/DocumentChatOps.js.map +1 -1
- package/dist/features/ai/components/ModelQuickSwitch.js +1 -1
- package/dist/features/ai/components/SettingsAiTab.js +1 -1
- package/dist/features/ai/components/SettingsModelProfiles.js +1 -1
- package/dist/features/ai/document-chat.d.ts +3 -2
- package/dist/features/ai/document-chat.js +16 -19
- package/dist/features/ai/document-chat.js.map +1 -1
- package/dist/features/ai/index.d.ts +5 -3
- package/dist/features/ai/index.js +4 -2
- package/dist/features/ai/protocol/agent-ops.d.ts +22 -17
- package/dist/features/ai/protocol/agent-ops.js +65 -39
- package/dist/features/ai/protocol/agent-ops.js.map +1 -1
- package/dist/features/ai/protocol/block-lines.d.ts +89 -0
- package/dist/features/ai/protocol/block-lines.js +177 -0
- package/dist/features/ai/protocol/block-lines.js.map +1 -0
- package/dist/features/ai/protocol/chat.js +10 -10
- package/dist/features/ai/protocol/chat.js.map +1 -1
- package/dist/features/ai/protocol/index.d.ts +3 -2
- package/dist/features/ai/protocol/index.js +3 -2
- package/dist/features/ai/react/AiSelectionMenu.d.ts +3 -2
- package/dist/features/ai/react/AiSelectionMenu.js +64 -255
- package/dist/features/ai/react/AiSelectionMenu.js.map +1 -1
- package/dist/features/ai/react/AiSidebar.js +2 -2
- package/dist/features/ai/react/DocumentChatAnswer.js +1 -1
- package/dist/features/ai/react/DocumentChatOps.js +1 -0
- package/dist/features/ai/react/DocumentChatOps.js.map +1 -1
- package/dist/features/ai/react/ModelQuickSwitch.js +1 -1
- package/dist/features/ai/react/SettingsAiTab.js +1 -1
- package/dist/features/ai/react/SettingsModelProfiles.js +1 -1
- package/dist/features/ai/react/use-ai-selection-flow.js +34 -0
- package/dist/features/ai/react/use-ai-selection-flow.js.map +1 -0
- package/dist/features/ai/selection-flow.d.ts +133 -0
- package/dist/features/ai/selection-flow.js +283 -0
- package/dist/features/ai/selection-flow.js.map +1 -0
- package/dist/features/ai/use-ai-assistant.d.ts +1 -1
- package/dist/features/ai/use-document-chat.d.ts +1 -1
- package/dist/features/authors/components/AuthorColorsPanel.js +1 -1
- package/dist/features/authors/feature.js +1 -1
- package/dist/features/authors/index.js +1 -1
- package/dist/features/authors/react/AuthorColorsPanel.js +1 -1
- package/dist/features/comments/components/CommentBubble.js +1 -1
- package/dist/features/comments/components/CommentComposer.js +1 -1
- package/dist/features/comments/components/CommentThreadView.js +5 -2
- package/dist/features/comments/components/CommentThreadView.js.map +1 -1
- package/dist/features/comments/components/CommentsMargin.js +108 -230
- package/dist/features/comments/components/CommentsMargin.js.map +1 -1
- package/dist/features/comments/components/CommentsOverlay.js +1 -1
- package/dist/features/comments/feature.js +1 -1
- package/dist/features/comments/index.d.ts +4 -2
- package/dist/features/comments/index.js +4 -2
- package/dist/features/comments/margin-controller.d.ts +44 -0
- package/dist/features/comments/margin-controller.js +132 -0
- package/dist/features/comments/margin-controller.js.map +1 -0
- package/dist/features/comments/margin-layout.d.ts +55 -0
- package/dist/features/comments/margin-layout.js +79 -0
- package/dist/features/comments/margin-layout.js.map +1 -0
- package/dist/features/comments/model.d.ts +8 -0
- package/dist/features/comments/model.js +60 -34
- package/dist/features/comments/model.js.map +1 -1
- package/dist/features/comments/react/CommentBubble.js +1 -1
- package/dist/features/comments/react/CommentComposer.js +1 -1
- package/dist/features/comments/react/CommentThreadView.js +2 -2
- package/dist/features/comments/react/CommentThreadView.js.map +1 -1
- package/dist/features/comments/react/CommentsMargin.d.ts +0 -5
- package/dist/features/comments/react/CommentsMargin.js +85 -251
- package/dist/features/comments/react/CommentsMargin.js.map +1 -1
- package/dist/features/comments/react/CommentsOverlay.js +1 -1
- package/dist/features/comments/react/use-comments.js +1 -1
- package/dist/features/comments/react/use-margin-layout.js +45 -0
- package/dist/features/comments/react/use-margin-layout.js.map +1 -0
- package/dist/features/comments/react.d.ts +1 -1
- package/dist/features/comments/schema.d.ts +23 -0
- package/dist/features/comments/schema.js.map +1 -1
- package/dist/features/comments/snapshot-equality.js +40 -0
- package/dist/features/comments/snapshot-equality.js.map +1 -0
- package/dist/features/comments/thread-anchor.js +33 -0
- package/dist/features/comments/thread-anchor.js.map +1 -0
- package/dist/features/comments/use-comments.d.ts +3 -1
- package/dist/features/comments/use-comments.js +1 -0
- package/dist/features/comments/use-comments.js.map +1 -1
- package/dist/features/comments/use-margin-layout.js +29 -0
- package/dist/features/comments/use-margin-layout.js.map +1 -0
- package/dist/features/comments/vue.d.ts +1 -1
- package/dist/features/composites/accepted-children.d.ts +21 -0
- package/dist/features/composites/accepted-children.js +126 -0
- package/dist/features/composites/accepted-children.js.map +1 -0
- package/dist/features/composites/components/CompositeDetails.js +1 -1
- package/dist/features/composites/components/CompositeInspector.js +38 -164
- package/dist/features/composites/components/CompositeInspector.js.map +1 -1
- package/dist/features/composites/feature.d.ts +2 -1
- package/dist/features/composites/feature.js +8 -2
- package/dist/features/composites/feature.js.map +1 -1
- package/dist/features/composites/index.d.ts +5 -3
- package/dist/features/composites/index.js +8 -6
- package/dist/features/composites/inspector-model.d.ts +97 -0
- package/dist/features/composites/inspector-model.js +255 -0
- package/dist/features/composites/inspector-model.js.map +1 -0
- package/dist/features/composites/kinds.d.ts +11 -0
- package/dist/features/composites/kinds.js +17 -2
- package/dist/features/composites/kinds.js.map +1 -1
- package/dist/features/composites/outline.d.ts +18 -5
- package/dist/features/composites/outline.js +44 -12
- package/dist/features/composites/outline.js.map +1 -1
- package/dist/features/composites/react/CompositeDetails.js +1 -1
- package/dist/features/composites/react/CompositeInspector.d.ts +1 -1
- package/dist/features/composites/react/CompositeInspector.js +21 -180
- package/dist/features/composites/react/CompositeInspector.js.map +1 -1
- package/dist/features/composites/react/CompositeStatusMenu.d.ts +1 -1
- package/dist/features/composites/react/CompositeView.js +1 -1
- package/dist/features/composites/react/use-composite-inspector.js +29 -0
- package/dist/features/composites/react/use-composite-inspector.js.map +1 -0
- package/dist/features/composites/schema.d.ts +2 -2
- package/dist/features/composites/schema.js +2 -2
- package/dist/features/composites/schema.js.map +1 -1
- package/dist/features/composites/use-composite-anchors.d.ts +1 -1
- package/dist/features/composites/use-composite-inspector.js +41 -0
- package/dist/features/composites/use-composite-inspector.js.map +1 -0
- package/dist/features/composites/use-composite-rows.d.ts +1 -1
- package/dist/features/media/index.d.ts +1 -1
- package/dist/features/media/vue.d.ts +1 -1
- package/dist/features/mentions/index.d.ts +3 -3
- package/dist/features/mentions/index.js +3 -3
- package/dist/features/mentions/schema.d.ts +1 -1
- package/dist/features/mentions/schema.js +1 -1
- package/dist/features/themes/index.d.ts +1 -1
- package/dist/features/themes/index.js +1 -1
- package/dist/features/transcript/feature.js +1 -1
- package/dist/features/transcript/index.js +2 -2
- package/dist/i18n/de/ai.js +2 -0
- package/dist/i18n/de/ai.js.map +1 -1
- package/dist/i18n/de/composites.js +8 -1
- package/dist/i18n/de/composites.js.map +1 -1
- package/dist/i18n/de/tree.js +14 -1
- package/dist/i18n/de/tree.js.map +1 -1
- package/dist/i18n/de.d.ts +22 -0
- package/dist/i18n/en/ai.js +2 -0
- package/dist/i18n/en/ai.js.map +1 -1
- package/dist/i18n/en/composites.js +8 -1
- package/dist/i18n/en/composites.js.map +1 -1
- package/dist/i18n/en/tree.js +14 -1
- package/dist/i18n/en/tree.js.map +1 -1
- package/dist/integrations/composite-ai/composite-fill.js +2 -2
- package/dist/integrations/composite-ai/composite-summary.js +2 -2
- package/dist/integrations/composite-ai/index.js +2 -2
- package/dist/integrations/transcript-ai/transcript-cleanup.js +1 -1
- package/dist/markdown/MarkdownSurface.d.ts +1 -1
- package/dist/markdown/MarkdownSurface.js +2 -2
- package/dist/markdown/MarkdownSurface.vue.d.ts +9 -9
- package/dist/markdown/index.d.ts +2 -2
- package/dist/nuxt/runtime/server/routes/collab/[id].js +1 -1
- package/dist/react/EditorSurface.d.ts +1 -1
- package/dist/react/EditorSurface.js +43 -149
- package/dist/react/EditorSurface.js.map +1 -1
- package/dist/react/EditorToolbar.js +3 -40
- package/dist/react/EditorToolbar.js.map +1 -1
- package/dist/schema/advanced.js +2 -2
- package/dist/server/adapter.d.ts +2 -2
- package/dist/server/collab.js +1 -1
- package/dist/server/handlers/ai.d.ts +4 -2
- package/dist/server/handlers/ai.js +11 -9
- package/dist/server/handlers/ai.js.map +1 -1
- package/dist/server/handlers/context.d.ts +1 -1
- package/dist/server/handlers/editor.d.ts +1 -1
- package/dist/server/handlers/editor.js +2 -2
- package/dist/server/host.d.ts +1 -1
- package/dist/server/index.d.ts +2 -2
- package/dist/settings/index.d.ts +1 -1
- package/dist/styles/tokens.css +1 -1
- package/dist/tree/DocumentTree.js +159 -387
- package/dist/tree/DocumentTree.js.map +1 -1
- package/dist/tree/drop-rules.js +37 -0
- package/dist/tree/drop-rules.js.map +1 -0
- package/dist/tree/react/DocumentTree.d.ts +2 -2
- package/dist/tree/react/DocumentTree.js +135 -397
- package/dist/tree/react/DocumentTree.js.map +1 -1
- package/dist/tree/react/use-tree-model.js +129 -0
- package/dist/tree/react/use-tree-model.js.map +1 -0
- package/dist/tree/react.js +1 -1
- package/dist/tree/tree-host.js +100 -0
- package/dist/tree/tree-host.js.map +1 -0
- package/dist/tree/tree-items.js +22 -43
- package/dist/tree/tree-items.js.map +1 -1
- package/dist/tree/tree-model.js +580 -0
- package/dist/tree/tree-model.js.map +1 -0
- package/dist/tree/tree-rows.js +77 -0
- package/dist/tree/tree-rows.js.map +1 -0
- package/dist/tree/use-tree-model.js +94 -0
- package/dist/tree/use-tree-model.js.map +1 -0
- package/dist/tree/vue.js +1 -1
- package/dist/vue/AdvancedEditor.vue.d.ts +6 -6
- package/dist/vue/SimpleEditor.vue.d.ts +2 -2
- package/dist/vue/components/EditorSurface.js +27 -87
- package/dist/vue/components/EditorSurface.js.map +1 -1
- package/dist/vue/components/EditorSurface.vue.d.ts +6 -6
- package/dist/vue/components/EditorToolbar.js +7 -44
- package/dist/vue/components/EditorToolbar.js.map +1 -1
- package/dist/vue/context.d.ts +1 -1
- package/dist/vue/context.js +1 -1
- package/dist/vue/context.js.map +1 -1
- package/dist/vue/use-editor-ui.d.ts +1 -1
- package/dist/vue/use-notifier.d.ts +1 -1
- package/docs/integration.md +97 -4
- package/docs/llms.md +9 -1
- package/docs/usage.md +10 -5
- package/package.json +67 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-composite-inspector.js","names":[],"sources":["../../../../src/features/composites/react/use-composite-inspector.ts"],"sourcesContent":["import type { Editor } from '@tiptap/core'\nimport { useEffect, useState } from 'react'\nimport { useStore } from '../../../react/use-store'\nimport { type CompositeInspector, type CompositeInspectorState, createCompositeInspector } from '../inspector-model'\n\n/** The state of an editor's `createCompositeInspector` model, with the model for its actions. */\nexport interface CompositeInspectorBinding {\n state: CompositeInspectorState\n /** The model of the current editor; replaced when the editor changes. */\n inspector: CompositeInspector\n}\n\n/**\n * The inspector model of `editor` (see `createCompositeInspector`): re-renders when its state changes. Follows the\n * editor when it changes (the previous model commits its pending description draft and is disposed); a missing\n * editor yields empty state. `documentFocused` is forwarded to the model, also to the model of a new editor.\n */\nexport function useCompositeInspector(editor: Editor | undefined, documentFocused: boolean | undefined): CompositeInspectorBinding {\n const [inspector, setInspector] = useState(() => createCompositeInspector(undefined))\n const state = useStore(inspector.state)\n\n // Paired create and dispose, so StrictMode's mount, cleanup, mount leaves exactly one live model.\n useEffect(() => {\n const next = createCompositeInspector(editor)\n setInspector(next)\n return () => next.dispose()\n }, [editor])\n\n useEffect(() => {\n inspector.setDocumentFocused(!!documentFocused)\n }, [inspector, documentFocused])\n\n return { state, inspector }\n}\n"],"mappings":";;;;;;;;;AAiBA,SAAgB,sBAAsB,QAA4B,iBAAiE;CACjI,MAAM,CAAC,WAAW,gBAAgB,eAAe,yBAAyB,KAAA,CAAS,CAAC;CACpF,MAAM,QAAQ,SAAS,UAAU,KAAK;CAGtC,gBAAgB;EACd,MAAM,OAAO,yBAAyB,MAAM;EAC5C,aAAa,IAAI;EACjB,aAAa,KAAK,QAAQ;CAC5B,GAAG,CAAC,MAAM,CAAC;CAEX,gBAAgB;EACd,UAAU,mBAAmB,CAAC,CAAC,eAAe;CAChD,GAAG,CAAC,WAAW,eAAe,CAAC;CAE/B,OAAO;EAAE;EAAO;CAAU;AAC5B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CompositeAiBrief, compositeAiBrief } from "./ai-brief.js";
|
|
2
|
-
import { CompositeKind, CompositeKindAi, CompositeMetaField, compositeKind, defaultCompositeKinds } from "./kinds.js";
|
|
2
|
+
import { CompositeKind, CompositeKindAi, CompositeMetaField, compositeKind, defaultCompositeKinds, kindAccepts } from "./kinds.js";
|
|
3
3
|
import { COMPOSITE_CHROME_COUNT, CompositeDescriptionNode, CompositeNode, CompositeOptions, CompositeStorage, CompositeTagsNode, CompositeTitleNode, compositeJSON, compositeKindsOf } from "./nodes.js";
|
|
4
4
|
import { compositeConversions, convertCompositeBlocks } from "./convert.js";
|
|
5
5
|
import { CompositeFence, FenceSegment, splitCompositeFences } from "../../core/fences.js";
|
|
@@ -17,5 +17,5 @@ export declare function compositeSchemaExtensions(options?: {
|
|
|
17
17
|
kinds?: readonly CompositeKind[];
|
|
18
18
|
}): AnyExtension[];
|
|
19
19
|
//#endregion
|
|
20
|
-
export { COMPOSITE_CHROME_COUNT, type CompositeAiBrief, CompositeDescriptionNode, type CompositeFence, type CompositeKind, type CompositeKindAi, type CompositeMetaField, CompositeNode, type CompositeOptions, type CompositeStorage, CompositeTagsNode, CompositeTitleNode, type FenceSegment, LEGACY_COMPOSITE_NODE, blocksFromMarkdown, compositeAiBrief, compositeChromeBlocks, compositeConversions, compositeFence, compositeFromMarkdown, compositeJSON, compositeKind, compositeKindsOf, convertCompositeBlocks, defaultCompositeKinds, flattenCompositesToHeadings, groupHeadingsIntoComposites, headingGroupRange, migrateLegacyContent, splitCompositeFences, structureBlocks };
|
|
20
|
+
export { COMPOSITE_CHROME_COUNT, type CompositeAiBrief, CompositeDescriptionNode, type CompositeFence, type CompositeKind, type CompositeKindAi, type CompositeMetaField, CompositeNode, type CompositeOptions, type CompositeStorage, CompositeTagsNode, CompositeTitleNode, type FenceSegment, LEGACY_COMPOSITE_NODE, blocksFromMarkdown, compositeAiBrief, compositeChromeBlocks, compositeConversions, compositeFence, compositeFromMarkdown, compositeJSON, compositeKind, compositeKindsOf, convertCompositeBlocks, defaultCompositeKinds, flattenCompositesToHeadings, groupHeadingsIntoComposites, headingGroupRange, kindAccepts, migrateLegacyContent, splitCompositeFences, structureBlocks };
|
|
21
21
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { splitCompositeFences } from "../../core/fences.js";
|
|
2
|
-
import { compositeKind, defaultCompositeKinds } from "./kinds.js";
|
|
2
|
+
import { compositeKind, defaultCompositeKinds, kindAccepts } from "./kinds.js";
|
|
3
3
|
import { blocksFromMarkdown, compositeFence, compositeFromMarkdown } from "./fences.js";
|
|
4
4
|
import { compositeChromeBlocks, flattenCompositesToHeadings, groupHeadingsIntoComposites, headingGroupRange, structureBlocks } from "./heading-composites.js";
|
|
5
5
|
import { COMPOSITE_CHROME_COUNT, CompositeDescriptionNode, CompositeNode, CompositeTagsNode, CompositeTitleNode, compositeJSON, compositeKindsOf } from "./nodes.js";
|
|
@@ -21,6 +21,6 @@ function compositeSchemaExtensions(options = {}) {
|
|
|
21
21
|
];
|
|
22
22
|
}
|
|
23
23
|
//#endregion
|
|
24
|
-
export { COMPOSITE_CHROME_COUNT, CompositeDescriptionNode, CompositeNode, CompositeTagsNode, CompositeTitleNode, LEGACY_COMPOSITE_NODE, blocksFromMarkdown, compositeAiBrief, compositeChromeBlocks, compositeConversions, compositeFence, compositeFromMarkdown, compositeJSON, compositeKind, compositeKindsOf, compositeSchemaExtensions, convertCompositeBlocks, defaultCompositeKinds, flattenCompositesToHeadings, groupHeadingsIntoComposites, headingGroupRange, migrateLegacyContent, splitCompositeFences, structureBlocks };
|
|
24
|
+
export { COMPOSITE_CHROME_COUNT, CompositeDescriptionNode, CompositeNode, CompositeTagsNode, CompositeTitleNode, LEGACY_COMPOSITE_NODE, blocksFromMarkdown, compositeAiBrief, compositeChromeBlocks, compositeConversions, compositeFence, compositeFromMarkdown, compositeJSON, compositeKind, compositeKindsOf, compositeSchemaExtensions, convertCompositeBlocks, defaultCompositeKinds, flattenCompositesToHeadings, groupHeadingsIntoComposites, headingGroupRange, kindAccepts, migrateLegacyContent, splitCompositeFences, structureBlocks };
|
|
25
25
|
|
|
26
26
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","names":[],"sources":["../../../src/features/composites/schema.ts"],"sourcesContent":["// Vue-free entry of the composite feature (`@ecsplico/editor/composites/schema`): the node family, kinds, Markdown\n// fences, legacy migration, heading↔composite transforms and conversions. Servers build their schema from it; it never\n// imports node views, components or the feature factory.\nimport type { AnyExtension } from '@tiptap/core'\nimport { type CompositeKind } from './kinds'\nimport { CompositeNode, CompositeDescriptionNode, CompositeTagsNode, CompositeTitleNode } from './nodes'\n\nexport { type CompositeAiBrief, compositeAiBrief } from './ai-brief'\nexport { compositeConversions, convertCompositeBlocks } from './convert'\nexport { blocksFromMarkdown, type CompositeFence, compositeFence, compositeFromMarkdown, type FenceSegment, splitCompositeFences } from './fences'\nexport { compositeChromeBlocks, flattenCompositesToHeadings, groupHeadingsIntoComposites, headingGroupRange, structureBlocks } from './heading-composites'\nexport { type CompositeKind, type CompositeKindAi, type CompositeMetaField, compositeKind, defaultCompositeKinds } from './kinds'\nexport { LEGACY_COMPOSITE_NODE, migrateLegacyContent } from './legacy'\nexport {\n COMPOSITE_CHROME_COUNT,\n compositeJSON,\n compositeKindsOf,\n CompositeDescriptionNode,\n CompositeNode,\n type CompositeOptions,\n type CompositeStorage,\n CompositeTagsNode,\n CompositeTitleNode,\n} from './nodes'\n\n/**\n * The schema-bearing composite family (composite, title, description, tags) without node views, to append to\n * `coreSchemaExtensions()`: `getSchema([...coreSchemaExtensions(), ...compositeSchemaExtensions({ kinds })])`. `kinds`\n * is the host's kind list (default: the built-in kinds in German, `defaultCompositeKinds`); it is storage, not schema.\n */\nexport function compositeSchemaExtensions(options: { kinds?: readonly CompositeKind[] } = {}): AnyExtension[] {\n return [CompositeNode.configure(options.kinds ? { kinds: options.kinds } : {}), CompositeTitleNode, CompositeDescriptionNode, CompositeTagsNode]\n}\n"],"mappings":";;;;;;;;;;;;;;AA8BA,SAAgB,0BAA0B,UAAgD,CAAC,GAAmB;CAC5G,OAAO;EAAC,cAAc,UAAU,QAAQ,QAAQ,EAAE,OAAO,QAAQ,MAAM,IAAI,CAAC,CAAC;EAAG;EAAoB;EAA0B;CAAiB;AACjJ"}
|
|
1
|
+
{"version":3,"file":"schema.js","names":[],"sources":["../../../src/features/composites/schema.ts"],"sourcesContent":["// Vue-free entry of the composite feature (`@ecsplico/editor/composites/schema`): the node family, kinds, Markdown\n// fences, legacy migration, heading↔composite transforms and conversions. Servers build their schema from it; it never\n// imports node views, components or the feature factory.\nimport type { AnyExtension } from '@tiptap/core'\nimport { type CompositeKind } from './kinds'\nimport { CompositeNode, CompositeDescriptionNode, CompositeTagsNode, CompositeTitleNode } from './nodes'\n\nexport { type CompositeAiBrief, compositeAiBrief } from './ai-brief'\nexport { compositeConversions, convertCompositeBlocks } from './convert'\nexport { blocksFromMarkdown, type CompositeFence, compositeFence, compositeFromMarkdown, type FenceSegment, splitCompositeFences } from './fences'\nexport { compositeChromeBlocks, flattenCompositesToHeadings, groupHeadingsIntoComposites, headingGroupRange, structureBlocks } from './heading-composites'\nexport { type CompositeKind, type CompositeKindAi, type CompositeMetaField, compositeKind, defaultCompositeKinds, kindAccepts } from './kinds'\nexport { LEGACY_COMPOSITE_NODE, migrateLegacyContent } from './legacy'\nexport {\n COMPOSITE_CHROME_COUNT,\n compositeJSON,\n compositeKindsOf,\n CompositeDescriptionNode,\n CompositeNode,\n type CompositeOptions,\n type CompositeStorage,\n CompositeTagsNode,\n CompositeTitleNode,\n} from './nodes'\n\n/**\n * The schema-bearing composite family (composite, title, description, tags) without node views, to append to\n * `coreSchemaExtensions()`: `getSchema([...coreSchemaExtensions(), ...compositeSchemaExtensions({ kinds })])`. `kinds`\n * is the host's kind list (default: the built-in kinds in German, `defaultCompositeKinds`); it is storage, not schema.\n */\nexport function compositeSchemaExtensions(options: { kinds?: readonly CompositeKind[] } = {}): AnyExtension[] {\n return [CompositeNode.configure(options.kinds ? { kinds: options.kinds } : {}), CompositeTitleNode, CompositeDescriptionNode, CompositeTagsNode]\n}\n"],"mappings":";;;;;;;;;;;;;;AA8BA,SAAgB,0BAA0B,UAAgD,CAAC,GAAmB;CAC5G,OAAO;EAAC,cAAc,UAAU,QAAQ,QAAQ,EAAE,OAAO,QAAQ,MAAM,IAAI,CAAC,CAAC;EAAG;EAAoB;EAA0B;CAAiB;AACjJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CompositeRow } from "./rows.js";
|
|
2
2
|
import { CompositeAnchor, CompositeFrame } from "./anchors.js";
|
|
3
|
-
import { MaybeRefOrGetter } from "vue";
|
|
4
3
|
import { Editor } from "@tiptap/core";
|
|
4
|
+
import { MaybeRefOrGetter } from "vue";
|
|
5
5
|
//#region src/features/composites/use-composite-anchors.d.ts
|
|
6
6
|
/**
|
|
7
7
|
* Measures the title line and box of every row's composite, relative to the editor's scroll container (`host`), kept
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { createCompositeInspector } from "./inspector-model.js";
|
|
2
|
+
import { useStoreRef } from "../../vue/store-ref.js";
|
|
3
|
+
import { computed, shallowRef, toValue, watch } from "vue";
|
|
4
|
+
//#region src/features/composites/use-composite-inspector.ts
|
|
5
|
+
/**
|
|
6
|
+
* The inspector model of `editor` (see `createCompositeInspector`) as Vue refs. Follows the editor when the source
|
|
7
|
+
* changes (the previous model commits its pending description draft and is disposed); a missing editor yields empty
|
|
8
|
+
* state. `documentFocused` is forwarded to the model, also to the model of a new editor. Call during component setup:
|
|
9
|
+
* the model is disposed with the scope.
|
|
10
|
+
*/
|
|
11
|
+
function useCompositeInspector(editor, documentFocused) {
|
|
12
|
+
const inspector = shallowRef(createCompositeInspector(void 0));
|
|
13
|
+
const state = useStoreRef(() => inspector.value.state);
|
|
14
|
+
watch(() => toValue(editor), (instance, _previous, onCleanup) => {
|
|
15
|
+
const next = createCompositeInspector(instance);
|
|
16
|
+
next.setDocumentFocused(!!toValue(documentFocused));
|
|
17
|
+
inspector.value = next;
|
|
18
|
+
onCleanup(() => next.dispose());
|
|
19
|
+
}, { immediate: true });
|
|
20
|
+
watch(() => !!toValue(documentFocused), (focused) => inspector.value.setDocumentFocused(focused));
|
|
21
|
+
return {
|
|
22
|
+
inspector,
|
|
23
|
+
section: computed(() => state.value.section),
|
|
24
|
+
editable: computed(() => state.value.editable),
|
|
25
|
+
draft: computed(() => state.value.draft),
|
|
26
|
+
searchTerm: computed(() => state.value.searchTerm),
|
|
27
|
+
tagItems: computed(() => state.value.tagItems),
|
|
28
|
+
kindOptions: computed(() => state.value.kindOptions),
|
|
29
|
+
summarized: computed(() => state.value.summarized),
|
|
30
|
+
hasSummary: computed(() => state.value.hasSummary),
|
|
31
|
+
rows: computed(() => state.value.rows),
|
|
32
|
+
tags: computed(() => state.value.tags),
|
|
33
|
+
kinds: computed(() => state.value.kinds),
|
|
34
|
+
mentions: computed(() => state.value.mentions),
|
|
35
|
+
focused: computed(() => state.value.focused)
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//#endregion
|
|
39
|
+
export { useCompositeInspector };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=use-composite-inspector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-composite-inspector.js","names":[],"sources":["../../../src/features/composites/use-composite-inspector.ts"],"sourcesContent":["import type { Editor } from '@tiptap/core'\nimport { computed, type ComputedRef, type MaybeRefOrGetter, shallowRef, type ShallowRef, toValue, watch } from 'vue'\nimport { useStoreRef } from '../../vue/store-ref'\nimport { type CompositeInspector, type CompositeInspectorSection, type CompositeKindOption, createCompositeInspector } from './inspector-model'\nimport type { CompositeMention, CompositeRow } from './rows'\nimport type { CompositeKindCount } from './rows-model'\n\n/** The state of an editor's `createCompositeInspector` model as Vue refs, with the model for its actions. */\nexport interface CompositeInspectorRefs {\n /** The model of the current editor; replaced when the editor changes, so call its actions through this ref. */\n inspector: Readonly<ShallowRef<CompositeInspector>>\n section: ComputedRef<CompositeInspectorSection>\n editable: ComputedRef<boolean>\n draft: ComputedRef<string>\n searchTerm: ComputedRef<string>\n tagItems: ComputedRef<string[]>\n kindOptions: ComputedRef<CompositeKindOption[]>\n summarized: ComputedRef<number>\n hasSummary: ComputedRef<boolean>\n rows: ComputedRef<readonly CompositeRow[]>\n tags: ComputedRef<readonly string[]>\n kinds: ComputedRef<readonly CompositeKindCount[]>\n mentions: ComputedRef<readonly CompositeMention[]>\n focused: ComputedRef<CompositeRow | null>\n}\n\n/**\n * The inspector model of `editor` (see `createCompositeInspector`) as Vue refs. Follows the editor when the source\n * changes (the previous model commits its pending description draft and is disposed); a missing editor yields empty\n * state. `documentFocused` is forwarded to the model, also to the model of a new editor. Call during component setup:\n * the model is disposed with the scope.\n */\nexport function useCompositeInspector(editor: MaybeRefOrGetter<Editor | undefined>, documentFocused: MaybeRefOrGetter<boolean | undefined>): CompositeInspectorRefs {\n const inspector = shallowRef(createCompositeInspector(undefined))\n const state = useStoreRef(() => inspector.value.state)\n\n watch(() => toValue(editor), (instance, _previous, onCleanup) => {\n const next = createCompositeInspector(instance)\n next.setDocumentFocused(!!toValue(documentFocused))\n inspector.value = next\n onCleanup(() => next.dispose())\n }, { immediate: true })\n watch(() => !!toValue(documentFocused), focused => inspector.value.setDocumentFocused(focused))\n\n return {\n inspector,\n section: computed(() => state.value.section),\n editable: computed(() => state.value.editable),\n draft: computed(() => state.value.draft),\n searchTerm: computed(() => state.value.searchTerm),\n tagItems: computed(() => state.value.tagItems),\n kindOptions: computed(() => state.value.kindOptions),\n summarized: computed(() => state.value.summarized),\n hasSummary: computed(() => state.value.hasSummary),\n rows: computed(() => state.value.rows),\n tags: computed(() => state.value.tags),\n kinds: computed(() => state.value.kinds),\n mentions: computed(() => state.value.mentions),\n focused: computed(() => state.value.focused),\n }\n}\n"],"mappings":";;;;;;;;;;AAgCA,SAAgB,sBAAsB,QAA8C,iBAAgF;CAClK,MAAM,YAAY,WAAW,yBAAyB,KAAA,CAAS,CAAC;CAChE,MAAM,QAAQ,kBAAkB,UAAU,MAAM,KAAK;CAErD,YAAY,QAAQ,MAAM,IAAI,UAAU,WAAW,cAAc;EAC/D,MAAM,OAAO,yBAAyB,QAAQ;EAC9C,KAAK,mBAAmB,CAAC,CAAC,QAAQ,eAAe,CAAC;EAClD,UAAU,QAAQ;EAClB,gBAAgB,KAAK,QAAQ,CAAC;CAChC,GAAG,EAAE,WAAW,KAAK,CAAC;CACtB,YAAY,CAAC,CAAC,QAAQ,eAAe,IAAG,YAAW,UAAU,MAAM,mBAAmB,OAAO,CAAC;CAE9F,OAAO;EACL;EACA,SAAS,eAAe,MAAM,MAAM,OAAO;EAC3C,UAAU,eAAe,MAAM,MAAM,QAAQ;EAC7C,OAAO,eAAe,MAAM,MAAM,KAAK;EACvC,YAAY,eAAe,MAAM,MAAM,UAAU;EACjD,UAAU,eAAe,MAAM,MAAM,QAAQ;EAC7C,aAAa,eAAe,MAAM,MAAM,WAAW;EACnD,YAAY,eAAe,MAAM,MAAM,UAAU;EACjD,YAAY,eAAe,MAAM,MAAM,UAAU;EACjD,MAAM,eAAe,MAAM,MAAM,IAAI;EACrC,MAAM,eAAe,MAAM,MAAM,IAAI;EACrC,OAAO,eAAe,MAAM,MAAM,KAAK;EACvC,UAAU,eAAe,MAAM,MAAM,QAAQ;EAC7C,SAAS,eAAe,MAAM,MAAM,OAAO;CAC7C;AACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CompositeMention, CompositeRow } from "./rows.js";
|
|
2
2
|
import { CompositeKindCount } from "./rows-model.js";
|
|
3
|
-
import { ComputedRef, MaybeRefOrGetter } from "vue";
|
|
4
3
|
import { Editor } from "@tiptap/core";
|
|
4
|
+
import { ComputedRef, MaybeRefOrGetter } from "vue";
|
|
5
5
|
//#region src/features/composites/use-composite-rows.d.ts
|
|
6
6
|
/** The live metadata read model of an editor's document as Vue refs (see `useCompositeRows`). */
|
|
7
7
|
export interface CompositeRowsModel {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { MAX_MEDIA_BYTES, MEDIA_TYPES, MediaKind, acceptFor, mediaKindOf, mediaMime } from "./schema.js";
|
|
1
2
|
import { AudioRecorder, AudioRecorderState, AudioRecorderStatus, createAudioRecorder } from "./audio-recorder.js";
|
|
2
3
|
import { AUDIO_RECORDER_OPEN, ImportFilesFn, Media, fileNodeFor, formatBytes, mediaNodeFor, openAudioRecorder, pickFiles, postUpload, uploadOf } from "./upload.js";
|
|
3
4
|
import { MAX_TEXT_BYTES, fileImport, isTextFile } from "./file-import.js";
|
|
4
5
|
import { MediaNodeViews, mediaBlocks, playerOptions } from "./node-views.js";
|
|
5
6
|
import { MediaUi, mediaFeatureCore } from "./feature.js";
|
|
6
|
-
import { MAX_MEDIA_BYTES, MEDIA_TYPES, MediaKind, acceptFor, mediaKindOf, mediaMime } from "./schema.js";
|
|
7
7
|
export { AUDIO_RECORDER_OPEN, type AudioRecorder, type AudioRecorderState, type AudioRecorderStatus, type ImportFilesFn, MAX_MEDIA_BYTES, MAX_TEXT_BYTES, MEDIA_TYPES, Media, type MediaKind, type MediaNodeViews, type MediaUi, acceptFor, createAudioRecorder, fileImport, fileNodeFor, formatBytes, isTextFile, mediaBlocks, mediaFeatureCore, mediaKindOf, mediaMime, mediaNodeFor, openAudioRecorder, pickFiles, playerOptions, postUpload, uploadOf };
|
|
@@ -2,8 +2,8 @@ import { VueFeature } from "../../vue/index.js";
|
|
|
2
2
|
import { ImportFilesFn } from "./upload.js";
|
|
3
3
|
import _default from "./components/AudioRecorderModal.vue.js";
|
|
4
4
|
import { VueAudioRecorder, useAudioRecorder } from "./use-audio-recorder.js";
|
|
5
|
-
import { MaybeRefOrGetter } from "vue";
|
|
6
5
|
import { Editor } from "@tiptap/core";
|
|
6
|
+
import { MaybeRefOrGetter } from "vue";
|
|
7
7
|
//#region src/features/media/vue.d.ts
|
|
8
8
|
/**
|
|
9
9
|
* `importFiles` with the failures sent to `editor`'s surface notifier, else the app's (see `fileImport`, `useNotifier`),
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { EditorFeature } from "../../core/feature.js";
|
|
2
2
|
import "../../core/index.js";
|
|
3
3
|
import { MentionAttrs, MentionNode, MentionUser } from "./mention.js";
|
|
4
|
+
import { MentionTarget, mentionUsersIn, mentionsFromText } from "./mention-text.js";
|
|
5
|
+
import { TAG_NODE, TagAttrs, TagNode, TagOptions, TagSuggestionItem, TagSuggestionPluginKey, collectTagNames, normalizeTagName, tagsFromText } from "./tag.js";
|
|
6
|
+
import "./schema.js";
|
|
4
7
|
import { mentionSuggestion } from "./mention-suggestion.js";
|
|
5
8
|
import { mentionsMetadata } from "./metadata-defaults.js";
|
|
6
9
|
import { normalizeMentions } from "./normalize.js";
|
|
7
|
-
import { TAG_NODE, TagAttrs, TagNode, TagOptions, TagSuggestionItem, TagSuggestionPluginKey, collectTagNames, normalizeTagName, tagsFromText } from "./tag.js";
|
|
8
10
|
import { tagSuggestion } from "./tag-suggestion.js";
|
|
9
|
-
import { MentionTarget, mentionUsersIn, mentionsFromText } from "./mention-text.js";
|
|
10
|
-
import "./schema.js";
|
|
11
11
|
//#region src/features/mentions/index.d.ts
|
|
12
12
|
/**
|
|
13
13
|
* `@user` mention chips and `#tag` chips with their suggestion popups. Without a host list, `mentions` and `hashtags`
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { metadataOf } from "../../core/metadata.js";
|
|
2
|
-
import { mentionSuggestion } from "./mention-suggestion.js";
|
|
3
|
-
import { TAG_NODE, TagNode, TagSuggestionPluginKey, collectTagNames, normalizeTagName, tagsFromText } from "./tag.js";
|
|
4
|
-
import { mentionsMetadata } from "./metadata-defaults.js";
|
|
5
2
|
import { MentionNode } from "./mention.js";
|
|
3
|
+
import { TAG_NODE, TagNode, TagSuggestionPluginKey, collectTagNames, normalizeTagName, tagsFromText } from "./tag.js";
|
|
6
4
|
import { mentionUsersIn, mentionsFromText } from "./mention-text.js";
|
|
5
|
+
import { mentionSuggestion } from "./mention-suggestion.js";
|
|
6
|
+
import { mentionsMetadata } from "./metadata-defaults.js";
|
|
7
7
|
import { normalizeMentions } from "./normalize.js";
|
|
8
8
|
import { tagSuggestion } from "./tag-suggestion.js";
|
|
9
9
|
//#region src/features/mentions/index.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MentionAttrs, MentionNode, MentionUser } from "./mention.js";
|
|
2
|
-
import { TAG_NODE, TagAttrs, TagNode, TagOptions, TagSuggestionItem, TagSuggestionPluginKey, collectTagNames, normalizeTagName, tagsFromText } from "./tag.js";
|
|
3
2
|
import { MentionTarget, mentionUsersIn, mentionsFromText } from "./mention-text.js";
|
|
3
|
+
import { TAG_NODE, TagAttrs, TagNode, TagOptions, TagSuggestionItem, TagSuggestionPluginKey, collectTagNames, normalizeTagName, tagsFromText } from "./tag.js";
|
|
4
4
|
import { AnyExtension } from "@tiptap/core";
|
|
5
5
|
//#region src/features/mentions/schema.d.ts
|
|
6
6
|
/** The mention and tag nodes of the document schema. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TAG_NODE, TagNode, TagSuggestionPluginKey, collectTagNames, normalizeTagName, tagsFromText } from "./tag.js";
|
|
2
1
|
import { MentionNode } from "./mention.js";
|
|
2
|
+
import { TAG_NODE, TagNode, TagSuggestionPluginKey, collectTagNames, normalizeTagName, tagsFromText } from "./tag.js";
|
|
3
3
|
import { mentionUsersIn, mentionsFromText } from "./mention-text.js";
|
|
4
4
|
//#region src/features/mentions/schema.ts
|
|
5
5
|
/** The mention and tag nodes of the document schema. */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { THEME_ID } from "../../settings/index.js";
|
|
2
|
-
import { ThemesUi, themesFeatureCore } from "./feature.js";
|
|
3
2
|
import { MAX_THEME_BYTES, ThemeManifest, ThemeRecord, themeManifestSchema } from "./schema.js";
|
|
3
|
+
import { ThemesUi, themesFeatureCore } from "./feature.js";
|
|
4
4
|
import { scopeThemeCss } from "./scope-css.js";
|
|
5
5
|
import { THEME_SCOPE_CLASS, startObsidianTheme } from "./theme-runtime.js";
|
|
6
6
|
export { MAX_THEME_BYTES, THEME_ID, THEME_SCOPE_CLASS, type ThemeManifest, type ThemeRecord, type ThemesUi, scopeThemeCss, startObsidianTheme, themeManifestSchema, themesFeatureCore };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { THEME_ID } from "../../settings/index.js";
|
|
2
|
+
import { MAX_THEME_BYTES, themeManifestSchema } from "./schema.js";
|
|
2
3
|
import { scopeThemeCss } from "./scope-css.js";
|
|
3
4
|
import { THEME_SCOPE_CLASS, startObsidianTheme } from "./theme-runtime.js";
|
|
4
5
|
import { themesFeatureCore } from "./feature.js";
|
|
5
|
-
import { MAX_THEME_BYTES, themeManifestSchema } from "./schema.js";
|
|
6
6
|
export { MAX_THEME_BYTES, THEME_ID, THEME_SCOPE_CLASS, scopeThemeCss, startObsidianTheme, themeManifestSchema, themesFeatureCore };
|
|
@@ -2,8 +2,8 @@ import { ABILITY } from "../../core/schema/abilities.js";
|
|
|
2
2
|
import { filterMetadataItems } from "../../core/metadata.js";
|
|
3
3
|
import { commandItem } from "../../core/toolbar.js";
|
|
4
4
|
import { speakersIn } from "./speakers.js";
|
|
5
|
-
import { speakerConversions } from "./convert.js";
|
|
6
5
|
import { TranscriptSegmentNode } from "./segment-node.js";
|
|
6
|
+
import { speakerConversions } from "./convert.js";
|
|
7
7
|
import { segmentSpeakerLines } from "./segment.js";
|
|
8
8
|
//#region src/features/transcript/feature.ts
|
|
9
9
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { lastSpeaker, speakersIn } from "./speakers.js";
|
|
2
|
-
import { speakerConversions } from "./convert.js";
|
|
3
2
|
import { TranscriptSegmentNode, speakerParagraphsToSegments } from "./segment-node.js";
|
|
3
|
+
import { transcriptSchemaExtensions } from "./schema.js";
|
|
4
|
+
import { speakerConversions } from "./convert.js";
|
|
4
5
|
import { segmentSpeakerLines } from "./segment.js";
|
|
5
6
|
import { transcriptFeatureCore, transcriptSegment } from "./feature.js";
|
|
6
|
-
import { transcriptSchemaExtensions } from "./schema.js";
|
|
7
7
|
export { TranscriptSegmentNode, lastSpeaker, segmentSpeakerLines, speakerConversions, speakerParagraphsToSegments, speakersIn, transcriptFeatureCore, transcriptSchemaExtensions, transcriptSegment };
|
package/dist/i18n/de/ai.js
CHANGED
|
@@ -120,6 +120,7 @@ const de = {
|
|
|
120
120
|
"ai.opBadge.invalid": "Verfallen",
|
|
121
121
|
"ai.opBadge.unchanged": "Keine Änderung",
|
|
122
122
|
"ai.opBadge.missing": "Block fehlt",
|
|
123
|
+
"ai.opBadge.stale": "Block gelöscht",
|
|
123
124
|
"ai.opBadge.overlap": "Stelle belegt",
|
|
124
125
|
"ai.opBadge.empty": "Leer",
|
|
125
126
|
"ai.opBadge.blocked": "Außerhalb der Auswahl",
|
|
@@ -130,6 +131,7 @@ const de = {
|
|
|
130
131
|
"ai.opTitle.invalid": "Vorschlag verfallen, weil der Text inzwischen anders geändert wurde",
|
|
131
132
|
"ai.opTitle.unchanged": "Vorschlag nicht angezeigt, weil er dem vorhandenen Text entspricht",
|
|
132
133
|
"ai.opTitle.missing": "Vorschlag nicht angezeigt, weil der Block nicht mehr existiert",
|
|
134
|
+
"ai.opTitle.stale": "Vorschlag nicht angezeigt: Block wurde inzwischen gelöscht",
|
|
133
135
|
"ai.opTitle.overlap": "Vorschlag nicht angezeigt, weil an der Stelle noch andere KI-Änderungen offen sind",
|
|
134
136
|
"ai.opTitle.empty": "Vorschlag nicht angezeigt, weil der Inhalt leer ist",
|
|
135
137
|
"ai.opTitle.blocked": "Vorschlag blockiert, weil er außerhalb des erlaubten Bereichs liegt",
|
package/dist/i18n/de/ai.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.js","names":[],"sources":["../../../src/i18n/de/ai.ts"],"sourcesContent":["export const de = {\n // Tasks (menus, sidebar chips, prompt hints, result headings)\n 'ai.task.reformulate.label': 'Umformulieren',\n 'ai.task.reformulate.promptLabel': 'Hinweis (optional), z. B. „kürzer“ oder „förmlicher“',\n 'ai.task.generate.label': 'Text generieren',\n 'ai.task.generate.promptLabel': 'Was soll geschrieben werden?',\n 'ai.task.transcript.promptLabel': 'Hinweis (optional), z. B. „nur Beschlüsse“ oder „auf Englisch“',\n 'ai.task.transcriptSummary.heading': 'Zusammenfassung',\n 'ai.task.transcriptMinutes.heading': 'Protokoll',\n 'ai.task.transcriptActionItems.heading': 'Aufgaben',\n 'ai.task.fix.label': 'Korrigieren',\n 'ai.task.shorter.label': 'Kürzer',\n 'ai.task.formal.label': 'Förmlicher',\n 'ai.task.casual.label': 'Lockerer',\n 'ai.task.translate.label': 'Übersetzen',\n 'ai.task.summarize.label': 'Zusammenfassen',\n 'ai.task.custom.label': 'Eigene Anweisung',\n 'ai.task.custom.promptLabel': 'Anweisung an die KI, z. B. „als Aufzählung“',\n 'ai.task.continue.label': 'Weiterschreiben',\n 'ai.task.fillBlock.label': 'Baustein füllen',\n 'ai.task.fillBlock.promptLabel': 'Hinweis (optional)',\n\n // Model slots and target languages\n 'ai.slot.complete.label': 'Vorschläge beim Tippen',\n 'ai.slot.complete.description': 'Schnelles Modell; muss Assistant-Prefill unterstützen.',\n 'ai.slot.rewrite.label': 'Text im Block',\n 'ai.slot.rewrite.description': 'Umformulieren, Korrigieren, Übersetzen, Zusammenfassen, Transkript bereinigen.',\n 'ai.slot.generate.label': 'Blöcke erzeugen & Chat',\n 'ai.slot.generate.description': 'Neue Blöcke, Protokolle, Chat-Agent (braucht Tool-Calling).',\n 'ai.slot.ariaLabel': 'Modell für „{slot}“',\n 'ai.slot.manage': 'Modelle verwalten…',\n 'ai.language.de': 'Deutsch',\n 'ai.language.en': 'Englisch',\n 'ai.language.fr': 'Französisch',\n 'ai.language.es': 'Spanisch',\n 'ai.language.it': 'Italienisch',\n\n // Feature entry points (toolbar, block action, slash command, settings tab)\n 'ai.tab': 'KI',\n 'ai.toolbar.sidebar': 'KI-Seitenleiste',\n 'ai.toolbar.autocomplete': 'KI-Vorschläge beim Tippen (Tab übernimmt, Esc verwirft)',\n 'ai.blockAction.label': 'Mit KI bearbeiten',\n 'ai.slash.label': 'KI',\n\n // Notices\n 'ai.rateLimited': 'Zu viele KI-Anfragen, bitte kurz warten',\n 'ai.sse.unknownError': 'Unbekannter Fehler',\n 'ai.sse.httpError': 'Fehler {status}',\n 'ai.sse.aborted': 'Verbindung abgebrochen',\n 'ai.chat.emptyScope': 'Die Auswahl enthält keine bearbeitbaren Blöcke.',\n 'ai.apply.missing.title': 'Textstelle nicht mehr gefunden',\n 'ai.apply.missing.description': 'Das Ergebnis wurde nicht übernommen.',\n 'ai.apply.empty.title': 'Leeres Ergebnis',\n 'ai.apply.empty.description': 'Das Ergebnis wurde nicht übernommen.',\n 'ai.apply.unchanged.title': 'Keine Änderungen',\n 'ai.apply.unchanged.description': 'Das Ergebnis entspricht dem vorhandenen Text.',\n 'ai.apply.overlap.title': 'Textstelle wird bereits geprüft',\n 'ai.apply.overlap.description': 'Erst die offenen KI-Änderungen übernehmen oder verwerfen.',\n\n // In-document review\n 'ai.review.accept': 'Übernehmen',\n 'ai.review.discard': 'Verwerfen',\n 'ai.review.acceptAll': 'Alle übernehmen',\n 'ai.review.rejectAll': 'Alle verwerfen',\n 'ai.review.barLabel': 'KI-Änderungen prüfen',\n 'ai.review.count.one': '1 KI-Änderung',\n 'ai.review.count.other': '{n} KI-Änderungen',\n 'ai.review.previous': 'Vorherige Änderung',\n 'ai.review.next': 'Nächste Änderung',\n 'ai.review.invalid.one': 'KI-Änderung verworfen',\n 'ai.review.invalid.other': '{n} KI-Änderungen verworfen',\n 'ai.review.invalid.description': 'Der ursprüngliche Text wurde inzwischen geändert.',\n\n // Selection / caret menu\n 'ai.menu.trigger': 'KI',\n 'ai.menu.model': 'Modell',\n 'ai.menu.targetLanguage': 'Zielsprache',\n 'ai.menu.sendInstruction': 'Anweisung senden',\n 'ai.menu.requestWithLanguage': '{task} – {language}',\n 'ai.menu.cancel': 'Abbrechen',\n 'ai.menu.discard': 'Verwerfen',\n 'ai.menu.retry': 'Erneut versuchen',\n 'ai.menu.insert': 'Einfügen',\n 'ai.menu.insertBelow': 'Darunter einfügen',\n 'ai.menu.replace': 'Ersetzen',\n 'ai.menu.missing.selection': 'Der markierte Text wurde gelöscht.',\n 'ai.menu.missing.line': 'Die Zeile wurde gelöscht.',\n 'ai.menu.missing.insert': 'Das Ergebnis wurde nicht eingefügt.',\n\n // Sidebar\n 'ai.sidebar.label': 'KI-Seitenleiste',\n 'ai.sidebar.title': 'KI',\n 'ai.sidebar.newConversation': 'Neues Gespräch',\n 'ai.sidebar.close': 'Schließen',\n 'ai.sidebar.selection.one': 'Auswahl: {n} Block',\n 'ai.sidebar.selection.other': 'Auswahl: {n} Blöcke',\n 'ai.sidebar.selection.title': 'Änderungen betreffen nur die markierten Blöcke',\n 'ai.sidebar.selection.clear': 'Auswahl aufheben',\n 'ai.sidebar.intro': 'Stelle eine Frage zum Inhalt, z. B. „Wer hat gesagt, dass das Budget nicht reicht?“, oder bitte um eine Änderung, z. B. „Kürze Abschnitt 2“. Mit einer Markierung im Text betreffen Änderungen nur die markierten Blöcke. Die Schnellaktionen unten erzeugen neue Blöcke, z. B. ein Protokoll.',\n 'ai.sidebar.stop': 'Stopp',\n 'ai.sidebar.discard': 'Verwerfen',\n 'ai.sidebar.apply': 'Übernehmen',\n 'ai.sidebar.generateGroup': 'Blöcke generieren',\n 'ai.sidebar.generate': 'Generieren',\n 'ai.sidebar.placeholder': 'Frage oder Änderungswunsch…',\n 'ai.sidebar.messageLabel': 'Nachricht zum Dokument',\n 'ai.sidebar.send': 'Senden',\n 'ai.sidebar.revealMissing': 'Textstelle nicht mehr im Dokument',\n\n // Chat edit operations\n 'ai.op.addAtStart': 'Einfügen am Dokumentanfang',\n 'ai.op.addAfter': 'Einfügen nach „{snippet}“',\n 'ai.op.convert': 'Umwandeln in {target}: „{snippet}“',\n 'ai.op.update': 'Ändern: „{snippet}“',\n 'ai.op.delete': 'Löschen: „{snippet}“',\n 'ai.op.accept': 'Übernehmen',\n 'ai.op.discard': 'Verwerfen',\n 'ai.op.problems.one': '1 Vorschlag verworfen',\n 'ai.op.problems.other': '{n} Vorschläge verworfen',\n 'ai.op.problems.description': 'Die KI hat auf Blöcke oder Blocktypen verwiesen, die es nicht gibt oder die außerhalb der Auswahl liegen.',\n 'ai.op.invalid.title': 'Änderung nicht mehr anwendbar',\n 'ai.op.invalid.description': 'Der Text wurde inzwischen anders geändert.',\n 'ai.op.snippet.documentStart': 'Dokumentanfang',\n 'ai.op.snippet.missing': 'Block nicht mehr vorhanden',\n 'ai.op.snippet.emptyBlock': 'Leerer Block',\n 'ai.op.snippet.image': 'Bild',\n 'ai.op.snippet.audio': 'Audio',\n 'ai.op.snippet.video': 'Video',\n 'ai.op.snippet.file': 'Datei',\n 'ai.opBadge.pending': 'Offen',\n 'ai.opBadge.accepted': 'Übernommen',\n 'ai.opBadge.rejected': 'Abgelehnt',\n 'ai.opBadge.partial': 'Teilweise',\n 'ai.opBadge.invalid': 'Verfallen',\n 'ai.opBadge.unchanged': 'Keine Änderung',\n 'ai.opBadge.missing': 'Block fehlt',\n 'ai.opBadge.overlap': 'Stelle belegt',\n 'ai.opBadge.empty': 'Leer',\n 'ai.opBadge.blocked': 'Außerhalb der Auswahl',\n 'ai.opTitle.pending': 'Vorschlag noch nicht entschieden',\n 'ai.opTitle.accepted': 'Vorschlag übernommen',\n 'ai.opTitle.rejected': 'Vorschlag abgelehnt',\n 'ai.opTitle.partial': 'Vorschlag teilweise übernommen',\n 'ai.opTitle.invalid': 'Vorschlag verfallen, weil der Text inzwischen anders geändert wurde',\n 'ai.opTitle.unchanged': 'Vorschlag nicht angezeigt, weil er dem vorhandenen Text entspricht',\n 'ai.opTitle.missing': 'Vorschlag nicht angezeigt, weil der Block nicht mehr existiert',\n 'ai.opTitle.overlap': 'Vorschlag nicht angezeigt, weil an der Stelle noch andere KI-Änderungen offen sind',\n 'ai.opTitle.empty': 'Vorschlag nicht angezeigt, weil der Inhalt leer ist',\n 'ai.opTitle.blocked': 'Vorschlag blockiert, weil er außerhalb des erlaubten Bereichs liegt',\n\n // Settings tab\n 'ai.settings.writing.title': 'Beim Schreiben',\n 'ai.settings.autocomplete.label': 'KI-Vorschläge beim Tippen',\n 'ai.settings.autocomplete.description': 'Grauer Text nach dem Cursor; Tab übernimmt, Esc verwirft.',\n 'ai.settings.language.label': 'Zielsprache beim Übersetzen',\n 'ai.settings.language.description': 'Vorausgewählt; im KI-Menü pro Aufruf änderbar.',\n 'ai.settings.slots.title': 'Modell je Aufgabe',\n 'ai.settings.slots.description': 'Welches Profil die einzelnen KI-Funktionen verwenden.',\n 'ai.settings.profiles.title': 'Modellprofile',\n 'ai.settings.profiles.description': 'Server-Presets sind vorkonfiguriert. Eigene Profile werden nur in diesem Browser gespeichert; ihr API-Key wird mit jeder Anfrage gesendet und nicht auf dem Server abgelegt.',\n 'ai.profiles.server': 'Vom Server',\n 'ai.profiles.noPresets': 'Keine Presets geladen.',\n 'ai.profiles.serverBadge': 'Server',\n 'ai.profiles.own': 'Eigene Profile',\n 'ai.profiles.add': 'Profil hinzufügen',\n 'ai.profiles.edit': 'Bearbeiten',\n 'ai.profiles.delete': 'Löschen',\n 'ai.profiles.name': 'Name',\n 'ai.profiles.namePlaceholder': 'z. B. Lokal',\n 'ai.profiles.endpoint': 'Endpunkt',\n 'ai.profiles.endpointHelp': 'OpenAI-kompatible Basis-URL.',\n 'ai.profiles.endpointPlaceholder': 'https://openrouter.ai/api/v1',\n 'ai.profiles.model': 'Modell',\n 'ai.profiles.modelPlaceholder': 'google/gemini-2.5-flash',\n 'ai.profiles.apiKey': 'API-Key',\n 'ai.profiles.testOk': 'Verbindung funktioniert',\n 'ai.profiles.test': 'Testen',\n 'ai.profiles.cancel': 'Abbrechen',\n 'ai.profiles.save': 'Speichern',\n} as const\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai.js","names":[],"sources":["../../../src/i18n/de/ai.ts"],"sourcesContent":["export const de = {\n // Tasks (menus, sidebar chips, prompt hints, result headings)\n 'ai.task.reformulate.label': 'Umformulieren',\n 'ai.task.reformulate.promptLabel': 'Hinweis (optional), z. B. „kürzer“ oder „förmlicher“',\n 'ai.task.generate.label': 'Text generieren',\n 'ai.task.generate.promptLabel': 'Was soll geschrieben werden?',\n 'ai.task.transcript.promptLabel': 'Hinweis (optional), z. B. „nur Beschlüsse“ oder „auf Englisch“',\n 'ai.task.transcriptSummary.heading': 'Zusammenfassung',\n 'ai.task.transcriptMinutes.heading': 'Protokoll',\n 'ai.task.transcriptActionItems.heading': 'Aufgaben',\n 'ai.task.fix.label': 'Korrigieren',\n 'ai.task.shorter.label': 'Kürzer',\n 'ai.task.formal.label': 'Förmlicher',\n 'ai.task.casual.label': 'Lockerer',\n 'ai.task.translate.label': 'Übersetzen',\n 'ai.task.summarize.label': 'Zusammenfassen',\n 'ai.task.custom.label': 'Eigene Anweisung',\n 'ai.task.custom.promptLabel': 'Anweisung an die KI, z. B. „als Aufzählung“',\n 'ai.task.continue.label': 'Weiterschreiben',\n 'ai.task.fillBlock.label': 'Baustein füllen',\n 'ai.task.fillBlock.promptLabel': 'Hinweis (optional)',\n\n // Model slots and target languages\n 'ai.slot.complete.label': 'Vorschläge beim Tippen',\n 'ai.slot.complete.description': 'Schnelles Modell; muss Assistant-Prefill unterstützen.',\n 'ai.slot.rewrite.label': 'Text im Block',\n 'ai.slot.rewrite.description': 'Umformulieren, Korrigieren, Übersetzen, Zusammenfassen, Transkript bereinigen.',\n 'ai.slot.generate.label': 'Blöcke erzeugen & Chat',\n 'ai.slot.generate.description': 'Neue Blöcke, Protokolle, Chat-Agent (braucht Tool-Calling).',\n 'ai.slot.ariaLabel': 'Modell für „{slot}“',\n 'ai.slot.manage': 'Modelle verwalten…',\n 'ai.language.de': 'Deutsch',\n 'ai.language.en': 'Englisch',\n 'ai.language.fr': 'Französisch',\n 'ai.language.es': 'Spanisch',\n 'ai.language.it': 'Italienisch',\n\n // Feature entry points (toolbar, block action, slash command, settings tab)\n 'ai.tab': 'KI',\n 'ai.toolbar.sidebar': 'KI-Seitenleiste',\n 'ai.toolbar.autocomplete': 'KI-Vorschläge beim Tippen (Tab übernimmt, Esc verwirft)',\n 'ai.blockAction.label': 'Mit KI bearbeiten',\n 'ai.slash.label': 'KI',\n\n // Notices\n 'ai.rateLimited': 'Zu viele KI-Anfragen, bitte kurz warten',\n 'ai.sse.unknownError': 'Unbekannter Fehler',\n 'ai.sse.httpError': 'Fehler {status}',\n 'ai.sse.aborted': 'Verbindung abgebrochen',\n 'ai.chat.emptyScope': 'Die Auswahl enthält keine bearbeitbaren Blöcke.',\n 'ai.apply.missing.title': 'Textstelle nicht mehr gefunden',\n 'ai.apply.missing.description': 'Das Ergebnis wurde nicht übernommen.',\n 'ai.apply.empty.title': 'Leeres Ergebnis',\n 'ai.apply.empty.description': 'Das Ergebnis wurde nicht übernommen.',\n 'ai.apply.unchanged.title': 'Keine Änderungen',\n 'ai.apply.unchanged.description': 'Das Ergebnis entspricht dem vorhandenen Text.',\n 'ai.apply.overlap.title': 'Textstelle wird bereits geprüft',\n 'ai.apply.overlap.description': 'Erst die offenen KI-Änderungen übernehmen oder verwerfen.',\n\n // In-document review\n 'ai.review.accept': 'Übernehmen',\n 'ai.review.discard': 'Verwerfen',\n 'ai.review.acceptAll': 'Alle übernehmen',\n 'ai.review.rejectAll': 'Alle verwerfen',\n 'ai.review.barLabel': 'KI-Änderungen prüfen',\n 'ai.review.count.one': '1 KI-Änderung',\n 'ai.review.count.other': '{n} KI-Änderungen',\n 'ai.review.previous': 'Vorherige Änderung',\n 'ai.review.next': 'Nächste Änderung',\n 'ai.review.invalid.one': 'KI-Änderung verworfen',\n 'ai.review.invalid.other': '{n} KI-Änderungen verworfen',\n 'ai.review.invalid.description': 'Der ursprüngliche Text wurde inzwischen geändert.',\n\n // Selection / caret menu\n 'ai.menu.trigger': 'KI',\n 'ai.menu.model': 'Modell',\n 'ai.menu.targetLanguage': 'Zielsprache',\n 'ai.menu.sendInstruction': 'Anweisung senden',\n 'ai.menu.requestWithLanguage': '{task} – {language}',\n 'ai.menu.cancel': 'Abbrechen',\n 'ai.menu.discard': 'Verwerfen',\n 'ai.menu.retry': 'Erneut versuchen',\n 'ai.menu.insert': 'Einfügen',\n 'ai.menu.insertBelow': 'Darunter einfügen',\n 'ai.menu.replace': 'Ersetzen',\n 'ai.menu.missing.selection': 'Der markierte Text wurde gelöscht.',\n 'ai.menu.missing.line': 'Die Zeile wurde gelöscht.',\n 'ai.menu.missing.insert': 'Das Ergebnis wurde nicht eingefügt.',\n\n // Sidebar\n 'ai.sidebar.label': 'KI-Seitenleiste',\n 'ai.sidebar.title': 'KI',\n 'ai.sidebar.newConversation': 'Neues Gespräch',\n 'ai.sidebar.close': 'Schließen',\n 'ai.sidebar.selection.one': 'Auswahl: {n} Block',\n 'ai.sidebar.selection.other': 'Auswahl: {n} Blöcke',\n 'ai.sidebar.selection.title': 'Änderungen betreffen nur die markierten Blöcke',\n 'ai.sidebar.selection.clear': 'Auswahl aufheben',\n 'ai.sidebar.intro': 'Stelle eine Frage zum Inhalt, z. B. „Wer hat gesagt, dass das Budget nicht reicht?“, oder bitte um eine Änderung, z. B. „Kürze Abschnitt 2“. Mit einer Markierung im Text betreffen Änderungen nur die markierten Blöcke. Die Schnellaktionen unten erzeugen neue Blöcke, z. B. ein Protokoll.',\n 'ai.sidebar.stop': 'Stopp',\n 'ai.sidebar.discard': 'Verwerfen',\n 'ai.sidebar.apply': 'Übernehmen',\n 'ai.sidebar.generateGroup': 'Blöcke generieren',\n 'ai.sidebar.generate': 'Generieren',\n 'ai.sidebar.placeholder': 'Frage oder Änderungswunsch…',\n 'ai.sidebar.messageLabel': 'Nachricht zum Dokument',\n 'ai.sidebar.send': 'Senden',\n 'ai.sidebar.revealMissing': 'Textstelle nicht mehr im Dokument',\n\n // Chat edit operations\n 'ai.op.addAtStart': 'Einfügen am Dokumentanfang',\n 'ai.op.addAfter': 'Einfügen nach „{snippet}“',\n 'ai.op.convert': 'Umwandeln in {target}: „{snippet}“',\n 'ai.op.update': 'Ändern: „{snippet}“',\n 'ai.op.delete': 'Löschen: „{snippet}“',\n 'ai.op.accept': 'Übernehmen',\n 'ai.op.discard': 'Verwerfen',\n 'ai.op.problems.one': '1 Vorschlag verworfen',\n 'ai.op.problems.other': '{n} Vorschläge verworfen',\n 'ai.op.problems.description': 'Die KI hat auf Blöcke oder Blocktypen verwiesen, die es nicht gibt oder die außerhalb der Auswahl liegen.',\n 'ai.op.invalid.title': 'Änderung nicht mehr anwendbar',\n 'ai.op.invalid.description': 'Der Text wurde inzwischen anders geändert.',\n 'ai.op.snippet.documentStart': 'Dokumentanfang',\n 'ai.op.snippet.missing': 'Block nicht mehr vorhanden',\n 'ai.op.snippet.emptyBlock': 'Leerer Block',\n 'ai.op.snippet.image': 'Bild',\n 'ai.op.snippet.audio': 'Audio',\n 'ai.op.snippet.video': 'Video',\n 'ai.op.snippet.file': 'Datei',\n 'ai.opBadge.pending': 'Offen',\n 'ai.opBadge.accepted': 'Übernommen',\n 'ai.opBadge.rejected': 'Abgelehnt',\n 'ai.opBadge.partial': 'Teilweise',\n 'ai.opBadge.invalid': 'Verfallen',\n 'ai.opBadge.unchanged': 'Keine Änderung',\n 'ai.opBadge.missing': 'Block fehlt',\n 'ai.opBadge.stale': 'Block gelöscht',\n 'ai.opBadge.overlap': 'Stelle belegt',\n 'ai.opBadge.empty': 'Leer',\n 'ai.opBadge.blocked': 'Außerhalb der Auswahl',\n 'ai.opTitle.pending': 'Vorschlag noch nicht entschieden',\n 'ai.opTitle.accepted': 'Vorschlag übernommen',\n 'ai.opTitle.rejected': 'Vorschlag abgelehnt',\n 'ai.opTitle.partial': 'Vorschlag teilweise übernommen',\n 'ai.opTitle.invalid': 'Vorschlag verfallen, weil der Text inzwischen anders geändert wurde',\n 'ai.opTitle.unchanged': 'Vorschlag nicht angezeigt, weil er dem vorhandenen Text entspricht',\n 'ai.opTitle.missing': 'Vorschlag nicht angezeigt, weil der Block nicht mehr existiert',\n 'ai.opTitle.stale': 'Vorschlag nicht angezeigt: Block wurde inzwischen gelöscht',\n 'ai.opTitle.overlap': 'Vorschlag nicht angezeigt, weil an der Stelle noch andere KI-Änderungen offen sind',\n 'ai.opTitle.empty': 'Vorschlag nicht angezeigt, weil der Inhalt leer ist',\n 'ai.opTitle.blocked': 'Vorschlag blockiert, weil er außerhalb des erlaubten Bereichs liegt',\n\n // Settings tab\n 'ai.settings.writing.title': 'Beim Schreiben',\n 'ai.settings.autocomplete.label': 'KI-Vorschläge beim Tippen',\n 'ai.settings.autocomplete.description': 'Grauer Text nach dem Cursor; Tab übernimmt, Esc verwirft.',\n 'ai.settings.language.label': 'Zielsprache beim Übersetzen',\n 'ai.settings.language.description': 'Vorausgewählt; im KI-Menü pro Aufruf änderbar.',\n 'ai.settings.slots.title': 'Modell je Aufgabe',\n 'ai.settings.slots.description': 'Welches Profil die einzelnen KI-Funktionen verwenden.',\n 'ai.settings.profiles.title': 'Modellprofile',\n 'ai.settings.profiles.description': 'Server-Presets sind vorkonfiguriert. Eigene Profile werden nur in diesem Browser gespeichert; ihr API-Key wird mit jeder Anfrage gesendet und nicht auf dem Server abgelegt.',\n 'ai.profiles.server': 'Vom Server',\n 'ai.profiles.noPresets': 'Keine Presets geladen.',\n 'ai.profiles.serverBadge': 'Server',\n 'ai.profiles.own': 'Eigene Profile',\n 'ai.profiles.add': 'Profil hinzufügen',\n 'ai.profiles.edit': 'Bearbeiten',\n 'ai.profiles.delete': 'Löschen',\n 'ai.profiles.name': 'Name',\n 'ai.profiles.namePlaceholder': 'z. B. Lokal',\n 'ai.profiles.endpoint': 'Endpunkt',\n 'ai.profiles.endpointHelp': 'OpenAI-kompatible Basis-URL.',\n 'ai.profiles.endpointPlaceholder': 'https://openrouter.ai/api/v1',\n 'ai.profiles.model': 'Modell',\n 'ai.profiles.modelPlaceholder': 'google/gemini-2.5-flash',\n 'ai.profiles.apiKey': 'API-Key',\n 'ai.profiles.testOk': 'Verbindung funktioniert',\n 'ai.profiles.test': 'Testen',\n 'ai.profiles.cancel': 'Abbrechen',\n 'ai.profiles.save': 'Speichern',\n} as const\n"],"mappings":"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"}
|
|
@@ -139,7 +139,14 @@ const de = {
|
|
|
139
139
|
"composites.settings.dragHandle.hover.label": "Nur beim Überfahren",
|
|
140
140
|
"composites.settings.dragHandle.hover.description": "Der Ziehgriff erscheint am Block unter der Maus.",
|
|
141
141
|
"composites.settings.dragHandle.always.label": "Immer anzeigen",
|
|
142
|
-
"composites.settings.dragHandle.always.description": "Jeder Block ohne Symbol zeigt seinen Ziehgriff dauerhaft."
|
|
142
|
+
"composites.settings.dragHandle.always.description": "Jeder Block ohne Symbol zeigt seinen Ziehgriff dauerhaft.",
|
|
143
|
+
"composites.nesting.title": "Verschachtelung nicht möglich",
|
|
144
|
+
"composites.nesting.refused": "{parent} nimmt keine {child} auf.",
|
|
145
|
+
"composites.move.blockGone": "Der Block existiert nicht mehr.",
|
|
146
|
+
"composites.move.targetGone": "Das Ziel existiert nicht mehr.",
|
|
147
|
+
"composites.move.targetNotBlock": "Das Ziel ist kein Baustein.",
|
|
148
|
+
"composites.move.intoSelf": "Ein Block kann nicht in sich selbst verschoben werden.",
|
|
149
|
+
"composites.move.intoOwn": "Ein Block kann nicht in einen Baustein verschoben werden, den er selbst enthält."
|
|
143
150
|
};
|
|
144
151
|
//#endregion
|
|
145
152
|
export { de };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composites.js","names":[],"sources":["../../../src/i18n/de/composites.ts"],"sourcesContent":["export const de = {\n // Fallback title of an untitled Baustein (outline, table).\n 'composites.untitled': '(ohne Titel)',\n\n // Built-in kinds (`defaultCompositeKinds`): label, placeholders of the empty title/description, fields and their choices.\n 'composites.kind.section.label': 'Abschnitt',\n 'composites.kind.section.title': 'Überschrift',\n 'composites.kind.section.description': 'Zusammenfassung',\n 'composites.kind.task.label': 'Aufgabe',\n 'composites.kind.task.title': 'Aufgabe',\n 'composites.kind.task.description': 'Beschreibung',\n 'composites.kind.task.field.status': 'Status',\n 'composites.kind.task.status.open': 'Offen',\n 'composites.kind.task.status.doing': 'In Arbeit',\n 'composites.kind.task.status.done': 'Erledigt',\n 'composites.kind.task.field.due': 'Fällig',\n 'composites.kind.task.field.assignee': 'Zuständig',\n 'composites.kind.note.label': 'Notiz',\n 'composites.kind.note.title': 'Titel',\n 'composites.kind.note.description': 'Kurzbeschreibung',\n 'composites.kind.document.label': 'Dokument',\n 'composites.kind.document.title': 'Dokumentname',\n 'composites.kind.document.description': 'Zusammenfassung',\n 'composites.kind.document.field.filename': 'Dateiname',\n 'composites.kind.document.field.mimeType': 'Typ',\n 'composites.kind.document.field.size': 'Größe (Bytes)',\n 'composites.kind.document.field.importedAt': 'Importiert',\n 'composites.kind.document.field.transcript': 'Transkript',\n 'composites.kind.folder.label': 'Ordner',\n 'composites.kind.folder.title': 'Ordnername',\n 'composites.kind.folder.description': 'Beschreibung',\n /** The select that changes a Baustein's kind (details popover, inspector). */\n 'composites.kind.select': 'Art des Bausteins',\n\n // Status chip.\n 'composites.status.none': 'Kein Status',\n 'composites.status.label': 'Status: {status}',\n\n // Feature: settings tab, `/` commands, block action, toolbar.\n 'composites.tab': 'Bearbeiten',\n 'composites.slash.section': 'Abschnitt',\n 'composites.slash.group': 'Überschriften in Bausteine',\n 'composites.slash.groupAll': 'Überschriften in Bausteine (verschachtelt)',\n 'composites.slash.flatten': 'Bausteine in Überschriften',\n 'composites.slash.flattenAll': 'Bausteine in Überschriften (alle Ebenen)',\n 'composites.blockAction.export': 'Als Markdown exportieren',\n 'composites.toolbar.toKind': 'In Baustein umwandeln',\n 'composites.toolbar.structure': 'Gliederung umwandeln',\n 'composites.menu.kindHeading': 'Baustein',\n 'composites.menu.toComposites': 'Überschriften in Bausteine',\n 'composites.menu.toComposites.top': 'Nur oberste Ebene',\n 'composites.menu.toComposites.top.description': 'Nur die höchste Überschriftenebene wird zu Bausteinen',\n 'composites.menu.toComposites.all': 'Alle Ebenen (verschachtelt)',\n 'composites.menu.toComposites.all.description': 'Jede Überschriftenebene wird zu einem verschachtelten Baustein',\n 'composites.menu.toHeadings': 'Bausteine in Überschriften',\n 'composites.menu.toHeadings.top': 'Nur oberste Ebene',\n 'composites.menu.toHeadings.top.description': 'Die obersten Bausteine werden zu Überschriften; innere Bausteine bleiben',\n 'composites.menu.toHeadings.all': 'Alle Ebenen',\n 'composites.menu.toHeadings.all.description': 'Jeder Baustein wird zur Überschrift seiner Ebene; Beschreibung, Tags und Felder als Text',\n 'composites.menu.settings': 'Einstellungen…',\n 'composites.menu.preferred': 'Bevorzugt: {mode}',\n /** Conversion target label: the kind as a Baustein. */\n 'composites.convert.kind': '{kind} (Baustein)',\n\n // Chrome on the title line and the kind icon.\n 'composites.chrome.details': 'Art und Details: {kind}',\n 'composites.chrome.detailsDrag': 'Art und Details: {kind} · Ziehen zum Verschieben',\n 'composites.tag.remove': 'Tag #{tag} entfernen',\n 'composites.tag.add': 'Tag hinzufügen',\n\n // Tags editor (details popover, inspector).\n 'composites.tags.label': 'Tags',\n 'composites.tags.placeholder': 'Tags hinzufügen',\n 'composites.tags.create': '#{tag} erstellen',\n\n // Details popover.\n 'composites.details.confirmLost': 'Art wirklich ändern? Beim Wechsel zu „{kind}“ gehen diese Angaben verloren:',\n 'composites.details.confirm': 'Art wirklich ändern?',\n 'composites.details.cancel': 'Abbrechen',\n 'composites.details.change': 'Ändern',\n 'composites.details.summary': 'Zusammen\\u00ADfassung',\n\n // Summary and field editors.\n 'composites.summary.placeholder': 'Kurze Zusammenfassung des Bausteins',\n 'composites.summary.label': 'Zusammenfassung',\n 'composites.summary.none': 'Keine Zusammenfassung',\n 'composites.summary.formatted': 'Enthält Formatierung oder Erwähnungen und lässt sich nur im Text bearbeiten.',\n 'composites.field.choose': '{field} wählen',\n\n // Inspector.\n 'composites.inspector.label': 'Eigenschaften',\n 'composites.inspector.document': 'Dokument',\n 'composites.inspector.composites': 'Bausteine',\n 'composites.inspector.summarized': '{n} von {total} zusammengefasst',\n 'composites.inspector.none': 'Keine',\n 'composites.inspector.mentions': 'Erwähnungen',\n 'composites.inspector.composite': 'Baustein',\n 'composites.inspector.kind': 'Art',\n 'composites.inspector.title': 'Titel',\n 'composites.inspector.titleHelp': 'Im Dokument bearbeiten',\n 'composites.inspector.untitled': 'Ohne Titel',\n 'composites.inspector.description': 'Beschreibung',\n 'composites.inspector.descriptionHelp': 'Enthält Erwähnungen oder Tags – im Dokument bearbeiten',\n 'composites.inspector.aiStatus': 'KI-Status',\n 'composites.inspector.summaryPresent': 'Zusammenfassung vorhanden',\n 'composites.inspector.summaryMissing': 'Zusammenfassung fehlt',\n\n // Table.\n 'composites.table.label': 'Bausteine als Tabelle',\n 'composites.table.emptyTitle': 'Dieses Dokument enthält noch keine Bausteine',\n 'composites.table.emptyText': 'Bausteine gliedern ein Dokument in Abschnitte, Aufgaben oder Notizen mit Titel, Zusammenfassung und Tags. Füge im Text über „/“ einen Baustein ein, dann erscheint er hier mit allen Angaben.',\n 'composites.table.column.composite': 'Baustein',\n 'composites.table.column.kind': 'Art',\n 'composites.table.column.tags': 'Tags',\n 'composites.table.column.summary': 'Zusammenfassung',\n 'composites.table.search.placeholder': 'Titel, Zusammenfassung, Tags',\n 'composites.table.search.label': 'Bausteine durchsuchen',\n 'composites.table.search.clear': 'Suche leeren',\n 'composites.table.filter.all': 'Alle',\n 'composites.table.filter.reset': 'Filter zurücksetzen',\n 'composites.table.filter.byKind': 'Nach Art filtern',\n 'composites.table.filter.byTag': 'Nach Tag filtern',\n 'composites.table.filter.noMatch': 'Kein Baustein passt zu diesen Filtern.',\n 'composites.table.count.one': '{n} von {total} Baustein',\n 'composites.table.count.other': '{n} von {total} Bausteinen',\n 'composites.table.noValue': 'Kein Wert',\n 'composites.table.noTags': 'Keine Tags',\n 'composites.table.summaryPresent': 'Zusammenfassung vorhanden',\n\n // Settings tab „Bearbeiten“.\n 'composites.settings.structure.title': 'Gliederung',\n 'composites.settings.structure.legend': 'Bevorzugte Gliederung',\n 'composites.settings.structure.flat.label': 'Überschriften',\n 'composites.settings.structure.flat.description': 'Werkzeugleiste mit Überschrift 1–3. KI-Texte werden flach mit Überschriften (##, ###) gegliedert; Bausteine, die die KI dennoch schreibt, werden zu Überschriften.',\n 'composites.settings.structure.composite.label': 'Bausteine',\n 'composites.settings.structure.composite.description': 'Werkzeugleiste ohne Überschrift 1–3. KI-Texte werden als Bausteine gegliedert, Unterabschnitte als verschachtelte Bausteine; Überschriften, die die KI dennoch schreibt, werden zu Bausteinen.',\n 'composites.settings.scope.legend': '„Gliederung umwandeln“ ohne Markierung bezieht sich auf',\n 'composites.settings.scope.container.label': 'Umgebender Baustein',\n 'composites.settings.scope.container.description': 'Den Baustein, in dem der Cursor steht; außerhalb von Bausteinen das ganze Dokument.',\n 'composites.settings.scope.document.label': 'Gesamtes Dokument',\n 'composites.settings.scope.document.description': 'Immer alle Blöcke des Dokuments.',\n 'composites.settings.scope.heading.label': 'Überschrift oder Baustein am Cursor',\n 'composites.settings.scope.heading.description': 'Beim Umwandeln in Bausteine: die Überschrift am oder vor dem Cursor mit ihrem Inhalt. Beim Umwandeln in Überschriften: der innerste Baustein um den Cursor.',\n 'composites.settings.sidebar.title': 'Seitenleiste',\n 'composites.settings.treeRoot.legend': 'Baum der Dokumente',\n 'composites.settings.treeRoot.folders.label': 'Ordner und Dateien verschachteln',\n 'composites.settings.treeRoot.folders.description': 'Die Seitenleiste zeigt die Ordner mit ihren Dateien; die geöffnete Datei steht als Eintrag darin.',\n 'composites.settings.treeRoot.file.label': 'Wurzel ist eine einzelne Datei',\n 'composites.settings.treeRoot.file.description': 'Ist eine Baustein-Datei geöffnet, zeigt die Seitenleiste sie als Wurzel mit ihren Ordnern und Dokumenten. Ohne geöffnete Baustein-Datei sind es die Ordner.',\n 'composites.settings.composites.title': 'Bausteine',\n 'composites.settings.defaultKind.label': 'Standard-Baustein',\n 'composites.settings.defaultKind.description': 'Art der Bausteine, die die Werkzeugleiste, „/“-Befehle und „Überschriften in Bausteine“ anlegen.',\n 'composites.settings.kindIcon.legend': 'Art-Symbol',\n 'composites.settings.kindIcon.always.label': 'Immer anzeigen',\n 'composites.settings.kindIcon.always.description': 'Das Symbol der Bausteinart steht dauerhaft vor dem Baustein.',\n 'composites.settings.kindIcon.hover.label': 'Nur beim Überfahren',\n 'composites.settings.kindIcon.hover.description': 'Das Symbol erscheint, wenn die Maus über dem Baustein steht, er den Fokus hat oder seine Details geöffnet sind.',\n 'composites.settings.dragHandle.legend': 'Ziehgriff (Blöcke ohne Symbol)',\n 'composites.settings.dragHandle.hover.label': 'Nur beim Überfahren',\n 'composites.settings.dragHandle.hover.description': 'Der Ziehgriff erscheint am Block unter der Maus.',\n 'composites.settings.dragHandle.always.label': 'Immer anzeigen',\n 'composites.settings.dragHandle.always.description': 'Jeder Block ohne Symbol zeigt seinen Ziehgriff dauerhaft.',\n} as const\n"],"mappings":";AAAA,MAAa,KAAK;CAEhB,uBAAuB;CAGvB,iCAAiC;CACjC,iCAAiC;CACjC,uCAAuC;CACvC,8BAA8B;CAC9B,8BAA8B;CAC9B,oCAAoC;CACpC,qCAAqC;CACrC,oCAAoC;CACpC,qCAAqC;CACrC,oCAAoC;CACpC,kCAAkC;CAClC,uCAAuC;CACvC,8BAA8B;CAC9B,8BAA8B;CAC9B,oCAAoC;CACpC,kCAAkC;CAClC,kCAAkC;CAClC,wCAAwC;CACxC,2CAA2C;CAC3C,2CAA2C;CAC3C,uCAAuC;CACvC,6CAA6C;CAC7C,6CAA6C;CAC7C,gCAAgC;CAChC,gCAAgC;CAChC,sCAAsC;;CAEtC,0BAA0B;CAG1B,0BAA0B;CAC1B,2BAA2B;CAG3B,kBAAkB;CAClB,4BAA4B;CAC5B,0BAA0B;CAC1B,6BAA6B;CAC7B,4BAA4B;CAC5B,+BAA+B;CAC/B,iCAAiC;CACjC,6BAA6B;CAC7B,gCAAgC;CAChC,+BAA+B;CAC/B,gCAAgC;CAChC,oCAAoC;CACpC,gDAAgD;CAChD,oCAAoC;CACpC,gDAAgD;CAChD,8BAA8B;CAC9B,kCAAkC;CAClC,8CAA8C;CAC9C,kCAAkC;CAClC,8CAA8C;CAC9C,4BAA4B;CAC5B,6BAA6B;;CAE7B,2BAA2B;CAG3B,6BAA6B;CAC7B,iCAAiC;CACjC,yBAAyB;CACzB,sBAAsB;CAGtB,yBAAyB;CACzB,+BAA+B;CAC/B,0BAA0B;CAG1B,kCAAkC;CAClC,8BAA8B;CAC9B,6BAA6B;CAC7B,6BAA6B;CAC7B,8BAA8B;CAG9B,kCAAkC;CAClC,4BAA4B;CAC5B,2BAA2B;CAC3B,gCAAgC;CAChC,2BAA2B;CAG3B,8BAA8B;CAC9B,iCAAiC;CACjC,mCAAmC;CACnC,mCAAmC;CACnC,6BAA6B;CAC7B,iCAAiC;CACjC,kCAAkC;CAClC,6BAA6B;CAC7B,8BAA8B;CAC9B,kCAAkC;CAClC,iCAAiC;CACjC,oCAAoC;CACpC,wCAAwC;CACxC,iCAAiC;CACjC,uCAAuC;CACvC,uCAAuC;CAGvC,0BAA0B;CAC1B,+BAA+B;CAC/B,8BAA8B;CAC9B,qCAAqC;CACrC,gCAAgC;CAChC,gCAAgC;CAChC,mCAAmC;CACnC,uCAAuC;CACvC,iCAAiC;CACjC,iCAAiC;CACjC,+BAA+B;CAC/B,iCAAiC;CACjC,kCAAkC;CAClC,iCAAiC;CACjC,mCAAmC;CACnC,8BAA8B;CAC9B,gCAAgC;CAChC,4BAA4B;CAC5B,2BAA2B;CAC3B,mCAAmC;CAGnC,uCAAuC;CACvC,wCAAwC;CACxC,4CAA4C;CAC5C,kDAAkD;CAClD,iDAAiD;CACjD,uDAAuD;CACvD,oCAAoC;CACpC,6CAA6C;CAC7C,mDAAmD;CACnD,4CAA4C;CAC5C,kDAAkD;CAClD,2CAA2C;CAC3C,iDAAiD;CACjD,qCAAqC;CACrC,uCAAuC;CACvC,8CAA8C;CAC9C,oDAAoD;CACpD,2CAA2C;CAC3C,iDAAiD;CACjD,wCAAwC;CACxC,yCAAyC;CACzC,+CAA+C;CAC/C,uCAAuC;CACvC,6CAA6C;CAC7C,mDAAmD;CACnD,4CAA4C;CAC5C,kDAAkD;CAClD,yCAAyC;CACzC,8CAA8C;CAC9C,oDAAoD;CACpD,+CAA+C;CAC/C,qDAAqD;AACvD"}
|
|
1
|
+
{"version":3,"file":"composites.js","names":[],"sources":["../../../src/i18n/de/composites.ts"],"sourcesContent":["export const de = {\n // Fallback title of an untitled Baustein (outline, table).\n 'composites.untitled': '(ohne Titel)',\n\n // Built-in kinds (`defaultCompositeKinds`): label, placeholders of the empty title/description, fields and their choices.\n 'composites.kind.section.label': 'Abschnitt',\n 'composites.kind.section.title': 'Überschrift',\n 'composites.kind.section.description': 'Zusammenfassung',\n 'composites.kind.task.label': 'Aufgabe',\n 'composites.kind.task.title': 'Aufgabe',\n 'composites.kind.task.description': 'Beschreibung',\n 'composites.kind.task.field.status': 'Status',\n 'composites.kind.task.status.open': 'Offen',\n 'composites.kind.task.status.doing': 'In Arbeit',\n 'composites.kind.task.status.done': 'Erledigt',\n 'composites.kind.task.field.due': 'Fällig',\n 'composites.kind.task.field.assignee': 'Zuständig',\n 'composites.kind.note.label': 'Notiz',\n 'composites.kind.note.title': 'Titel',\n 'composites.kind.note.description': 'Kurzbeschreibung',\n 'composites.kind.document.label': 'Dokument',\n 'composites.kind.document.title': 'Dokumentname',\n 'composites.kind.document.description': 'Zusammenfassung',\n 'composites.kind.document.field.filename': 'Dateiname',\n 'composites.kind.document.field.mimeType': 'Typ',\n 'composites.kind.document.field.size': 'Größe (Bytes)',\n 'composites.kind.document.field.importedAt': 'Importiert',\n 'composites.kind.document.field.transcript': 'Transkript',\n 'composites.kind.folder.label': 'Ordner',\n 'composites.kind.folder.title': 'Ordnername',\n 'composites.kind.folder.description': 'Beschreibung',\n /** The select that changes a Baustein's kind (details popover, inspector). */\n 'composites.kind.select': 'Art des Bausteins',\n\n // Status chip.\n 'composites.status.none': 'Kein Status',\n 'composites.status.label': 'Status: {status}',\n\n // Feature: settings tab, `/` commands, block action, toolbar.\n 'composites.tab': 'Bearbeiten',\n 'composites.slash.section': 'Abschnitt',\n 'composites.slash.group': 'Überschriften in Bausteine',\n 'composites.slash.groupAll': 'Überschriften in Bausteine (verschachtelt)',\n 'composites.slash.flatten': 'Bausteine in Überschriften',\n 'composites.slash.flattenAll': 'Bausteine in Überschriften (alle Ebenen)',\n 'composites.blockAction.export': 'Als Markdown exportieren',\n 'composites.toolbar.toKind': 'In Baustein umwandeln',\n 'composites.toolbar.structure': 'Gliederung umwandeln',\n 'composites.menu.kindHeading': 'Baustein',\n 'composites.menu.toComposites': 'Überschriften in Bausteine',\n 'composites.menu.toComposites.top': 'Nur oberste Ebene',\n 'composites.menu.toComposites.top.description': 'Nur die höchste Überschriftenebene wird zu Bausteinen',\n 'composites.menu.toComposites.all': 'Alle Ebenen (verschachtelt)',\n 'composites.menu.toComposites.all.description': 'Jede Überschriftenebene wird zu einem verschachtelten Baustein',\n 'composites.menu.toHeadings': 'Bausteine in Überschriften',\n 'composites.menu.toHeadings.top': 'Nur oberste Ebene',\n 'composites.menu.toHeadings.top.description': 'Die obersten Bausteine werden zu Überschriften; innere Bausteine bleiben',\n 'composites.menu.toHeadings.all': 'Alle Ebenen',\n 'composites.menu.toHeadings.all.description': 'Jeder Baustein wird zur Überschrift seiner Ebene; Beschreibung, Tags und Felder als Text',\n 'composites.menu.settings': 'Einstellungen…',\n 'composites.menu.preferred': 'Bevorzugt: {mode}',\n /** Conversion target label: the kind as a Baustein. */\n 'composites.convert.kind': '{kind} (Baustein)',\n\n // Chrome on the title line and the kind icon.\n 'composites.chrome.details': 'Art und Details: {kind}',\n 'composites.chrome.detailsDrag': 'Art und Details: {kind} · Ziehen zum Verschieben',\n 'composites.tag.remove': 'Tag #{tag} entfernen',\n 'composites.tag.add': 'Tag hinzufügen',\n\n // Tags editor (details popover, inspector).\n 'composites.tags.label': 'Tags',\n 'composites.tags.placeholder': 'Tags hinzufügen',\n 'composites.tags.create': '#{tag} erstellen',\n\n // Details popover.\n 'composites.details.confirmLost': 'Art wirklich ändern? Beim Wechsel zu „{kind}“ gehen diese Angaben verloren:',\n 'composites.details.confirm': 'Art wirklich ändern?',\n 'composites.details.cancel': 'Abbrechen',\n 'composites.details.change': 'Ändern',\n 'composites.details.summary': 'Zusammen\\u00ADfassung',\n\n // Summary and field editors.\n 'composites.summary.placeholder': 'Kurze Zusammenfassung des Bausteins',\n 'composites.summary.label': 'Zusammenfassung',\n 'composites.summary.none': 'Keine Zusammenfassung',\n 'composites.summary.formatted': 'Enthält Formatierung oder Erwähnungen und lässt sich nur im Text bearbeiten.',\n 'composites.field.choose': '{field} wählen',\n\n // Inspector.\n 'composites.inspector.label': 'Eigenschaften',\n 'composites.inspector.document': 'Dokument',\n 'composites.inspector.composites': 'Bausteine',\n 'composites.inspector.summarized': '{n} von {total} zusammengefasst',\n 'composites.inspector.none': 'Keine',\n 'composites.inspector.mentions': 'Erwähnungen',\n 'composites.inspector.composite': 'Baustein',\n 'composites.inspector.kind': 'Art',\n 'composites.inspector.title': 'Titel',\n 'composites.inspector.titleHelp': 'Im Dokument bearbeiten',\n 'composites.inspector.untitled': 'Ohne Titel',\n 'composites.inspector.description': 'Beschreibung',\n 'composites.inspector.descriptionHelp': 'Enthält Erwähnungen oder Tags – im Dokument bearbeiten',\n 'composites.inspector.aiStatus': 'KI-Status',\n 'composites.inspector.summaryPresent': 'Zusammenfassung vorhanden',\n 'composites.inspector.summaryMissing': 'Zusammenfassung fehlt',\n\n // Table.\n 'composites.table.label': 'Bausteine als Tabelle',\n 'composites.table.emptyTitle': 'Dieses Dokument enthält noch keine Bausteine',\n 'composites.table.emptyText': 'Bausteine gliedern ein Dokument in Abschnitte, Aufgaben oder Notizen mit Titel, Zusammenfassung und Tags. Füge im Text über „/“ einen Baustein ein, dann erscheint er hier mit allen Angaben.',\n 'composites.table.column.composite': 'Baustein',\n 'composites.table.column.kind': 'Art',\n 'composites.table.column.tags': 'Tags',\n 'composites.table.column.summary': 'Zusammenfassung',\n 'composites.table.search.placeholder': 'Titel, Zusammenfassung, Tags',\n 'composites.table.search.label': 'Bausteine durchsuchen',\n 'composites.table.search.clear': 'Suche leeren',\n 'composites.table.filter.all': 'Alle',\n 'composites.table.filter.reset': 'Filter zurücksetzen',\n 'composites.table.filter.byKind': 'Nach Art filtern',\n 'composites.table.filter.byTag': 'Nach Tag filtern',\n 'composites.table.filter.noMatch': 'Kein Baustein passt zu diesen Filtern.',\n 'composites.table.count.one': '{n} von {total} Baustein',\n 'composites.table.count.other': '{n} von {total} Bausteinen',\n 'composites.table.noValue': 'Kein Wert',\n 'composites.table.noTags': 'Keine Tags',\n 'composites.table.summaryPresent': 'Zusammenfassung vorhanden',\n\n // Settings tab „Bearbeiten“.\n 'composites.settings.structure.title': 'Gliederung',\n 'composites.settings.structure.legend': 'Bevorzugte Gliederung',\n 'composites.settings.structure.flat.label': 'Überschriften',\n 'composites.settings.structure.flat.description': 'Werkzeugleiste mit Überschrift 1–3. KI-Texte werden flach mit Überschriften (##, ###) gegliedert; Bausteine, die die KI dennoch schreibt, werden zu Überschriften.',\n 'composites.settings.structure.composite.label': 'Bausteine',\n 'composites.settings.structure.composite.description': 'Werkzeugleiste ohne Überschrift 1–3. KI-Texte werden als Bausteine gegliedert, Unterabschnitte als verschachtelte Bausteine; Überschriften, die die KI dennoch schreibt, werden zu Bausteinen.',\n 'composites.settings.scope.legend': '„Gliederung umwandeln“ ohne Markierung bezieht sich auf',\n 'composites.settings.scope.container.label': 'Umgebender Baustein',\n 'composites.settings.scope.container.description': 'Den Baustein, in dem der Cursor steht; außerhalb von Bausteinen das ganze Dokument.',\n 'composites.settings.scope.document.label': 'Gesamtes Dokument',\n 'composites.settings.scope.document.description': 'Immer alle Blöcke des Dokuments.',\n 'composites.settings.scope.heading.label': 'Überschrift oder Baustein am Cursor',\n 'composites.settings.scope.heading.description': 'Beim Umwandeln in Bausteine: die Überschrift am oder vor dem Cursor mit ihrem Inhalt. Beim Umwandeln in Überschriften: der innerste Baustein um den Cursor.',\n 'composites.settings.sidebar.title': 'Seitenleiste',\n 'composites.settings.treeRoot.legend': 'Baum der Dokumente',\n 'composites.settings.treeRoot.folders.label': 'Ordner und Dateien verschachteln',\n 'composites.settings.treeRoot.folders.description': 'Die Seitenleiste zeigt die Ordner mit ihren Dateien; die geöffnete Datei steht als Eintrag darin.',\n 'composites.settings.treeRoot.file.label': 'Wurzel ist eine einzelne Datei',\n 'composites.settings.treeRoot.file.description': 'Ist eine Baustein-Datei geöffnet, zeigt die Seitenleiste sie als Wurzel mit ihren Ordnern und Dokumenten. Ohne geöffnete Baustein-Datei sind es die Ordner.',\n 'composites.settings.composites.title': 'Bausteine',\n 'composites.settings.defaultKind.label': 'Standard-Baustein',\n 'composites.settings.defaultKind.description': 'Art der Bausteine, die die Werkzeugleiste, „/“-Befehle und „Überschriften in Bausteine“ anlegen.',\n 'composites.settings.kindIcon.legend': 'Art-Symbol',\n 'composites.settings.kindIcon.always.label': 'Immer anzeigen',\n 'composites.settings.kindIcon.always.description': 'Das Symbol der Bausteinart steht dauerhaft vor dem Baustein.',\n 'composites.settings.kindIcon.hover.label': 'Nur beim Überfahren',\n 'composites.settings.kindIcon.hover.description': 'Das Symbol erscheint, wenn die Maus über dem Baustein steht, er den Fokus hat oder seine Details geöffnet sind.',\n 'composites.settings.dragHandle.legend': 'Ziehgriff (Blöcke ohne Symbol)',\n 'composites.settings.dragHandle.hover.label': 'Nur beim Überfahren',\n 'composites.settings.dragHandle.hover.description': 'Der Ziehgriff erscheint am Block unter der Maus.',\n 'composites.settings.dragHandle.always.label': 'Immer anzeigen',\n 'composites.settings.dragHandle.always.description': 'Jeder Block ohne Symbol zeigt seinen Ziehgriff dauerhaft.',\n\n // Accepted children per kind (`AcceptedChildren`, `moveIntoVerdict`): the notice of a refused edit and why a block cannot move.\n 'composites.nesting.title': 'Verschachtelung nicht möglich',\n 'composites.nesting.refused': '{parent} nimmt keine {child} auf.',\n 'composites.move.blockGone': 'Der Block existiert nicht mehr.',\n 'composites.move.targetGone': 'Das Ziel existiert nicht mehr.',\n 'composites.move.targetNotBlock': 'Das Ziel ist kein Baustein.',\n 'composites.move.intoSelf': 'Ein Block kann nicht in sich selbst verschoben werden.',\n 'composites.move.intoOwn': 'Ein Block kann nicht in einen Baustein verschoben werden, den er selbst enthält.',\n} as const\n"],"mappings":";AAAA,MAAa,KAAK;CAEhB,uBAAuB;CAGvB,iCAAiC;CACjC,iCAAiC;CACjC,uCAAuC;CACvC,8BAA8B;CAC9B,8BAA8B;CAC9B,oCAAoC;CACpC,qCAAqC;CACrC,oCAAoC;CACpC,qCAAqC;CACrC,oCAAoC;CACpC,kCAAkC;CAClC,uCAAuC;CACvC,8BAA8B;CAC9B,8BAA8B;CAC9B,oCAAoC;CACpC,kCAAkC;CAClC,kCAAkC;CAClC,wCAAwC;CACxC,2CAA2C;CAC3C,2CAA2C;CAC3C,uCAAuC;CACvC,6CAA6C;CAC7C,6CAA6C;CAC7C,gCAAgC;CAChC,gCAAgC;CAChC,sCAAsC;;CAEtC,0BAA0B;CAG1B,0BAA0B;CAC1B,2BAA2B;CAG3B,kBAAkB;CAClB,4BAA4B;CAC5B,0BAA0B;CAC1B,6BAA6B;CAC7B,4BAA4B;CAC5B,+BAA+B;CAC/B,iCAAiC;CACjC,6BAA6B;CAC7B,gCAAgC;CAChC,+BAA+B;CAC/B,gCAAgC;CAChC,oCAAoC;CACpC,gDAAgD;CAChD,oCAAoC;CACpC,gDAAgD;CAChD,8BAA8B;CAC9B,kCAAkC;CAClC,8CAA8C;CAC9C,kCAAkC;CAClC,8CAA8C;CAC9C,4BAA4B;CAC5B,6BAA6B;;CAE7B,2BAA2B;CAG3B,6BAA6B;CAC7B,iCAAiC;CACjC,yBAAyB;CACzB,sBAAsB;CAGtB,yBAAyB;CACzB,+BAA+B;CAC/B,0BAA0B;CAG1B,kCAAkC;CAClC,8BAA8B;CAC9B,6BAA6B;CAC7B,6BAA6B;CAC7B,8BAA8B;CAG9B,kCAAkC;CAClC,4BAA4B;CAC5B,2BAA2B;CAC3B,gCAAgC;CAChC,2BAA2B;CAG3B,8BAA8B;CAC9B,iCAAiC;CACjC,mCAAmC;CACnC,mCAAmC;CACnC,6BAA6B;CAC7B,iCAAiC;CACjC,kCAAkC;CAClC,6BAA6B;CAC7B,8BAA8B;CAC9B,kCAAkC;CAClC,iCAAiC;CACjC,oCAAoC;CACpC,wCAAwC;CACxC,iCAAiC;CACjC,uCAAuC;CACvC,uCAAuC;CAGvC,0BAA0B;CAC1B,+BAA+B;CAC/B,8BAA8B;CAC9B,qCAAqC;CACrC,gCAAgC;CAChC,gCAAgC;CAChC,mCAAmC;CACnC,uCAAuC;CACvC,iCAAiC;CACjC,iCAAiC;CACjC,+BAA+B;CAC/B,iCAAiC;CACjC,kCAAkC;CAClC,iCAAiC;CACjC,mCAAmC;CACnC,8BAA8B;CAC9B,gCAAgC;CAChC,4BAA4B;CAC5B,2BAA2B;CAC3B,mCAAmC;CAGnC,uCAAuC;CACvC,wCAAwC;CACxC,4CAA4C;CAC5C,kDAAkD;CAClD,iDAAiD;CACjD,uDAAuD;CACvD,oCAAoC;CACpC,6CAA6C;CAC7C,mDAAmD;CACnD,4CAA4C;CAC5C,kDAAkD;CAClD,2CAA2C;CAC3C,iDAAiD;CACjD,qCAAqC;CACrC,uCAAuC;CACvC,8CAA8C;CAC9C,oDAAoD;CACpD,2CAA2C;CAC3C,iDAAiD;CACjD,wCAAwC;CACxC,yCAAyC;CACzC,+CAA+C;CAC/C,uCAAuC;CACvC,6CAA6C;CAC7C,mDAAmD;CACnD,4CAA4C;CAC5C,kDAAkD;CAClD,yCAAyC;CACzC,8CAA8C;CAC9C,oDAAoD;CACpD,+CAA+C;CAC/C,qDAAqD;CAGrD,4BAA4B;CAC5B,8BAA8B;CAC9B,6BAA6B;CAC7B,8BAA8B;CAC9B,kCAAkC;CAClC,4BAA4B;CAC5B,2BAA2B;AAC7B"}
|
package/dist/i18n/de/tree.js
CHANGED
|
@@ -23,7 +23,20 @@ const de = {
|
|
|
23
23
|
"tree.folder.placeholderIn": "Neuer Ordner in {parent}",
|
|
24
24
|
"tree.folder.renameFailed": "Ordner nicht umbenannt",
|
|
25
25
|
"tree.removed": "Dokument gelöscht",
|
|
26
|
-
"tree.undo": "Rückgängig"
|
|
26
|
+
"tree.undo": "Rückgängig",
|
|
27
|
+
"tree.filterText.placeholder": "Titel filtern",
|
|
28
|
+
"tree.filterText.clear": "Titelfilter löschen",
|
|
29
|
+
"tree.noMatches": "Keine Treffer",
|
|
30
|
+
"tree.drop.nothing": "Es wird nichts gezogen.",
|
|
31
|
+
"tree.drop.noDocumentMove": "Im geöffneten Dokument lassen sich Dokumente und Ordner nicht verschieben.",
|
|
32
|
+
"tree.drop.foldersOnly": "Nur Ordner nehmen Einträge auf.",
|
|
33
|
+
"tree.drop.documentInFolder": "Das Dokument liegt schon in diesem Ordner.",
|
|
34
|
+
"tree.drop.folderIntoSelf": "Ein Ordner lässt sich nicht in sich selbst oder einen seiner Unterordner verschieben.",
|
|
35
|
+
"tree.drop.folderInFolder": "Der Ordner liegt schon in diesem Ordner.",
|
|
36
|
+
"tree.drop.blocksOnlyInDocument": "Bausteine lassen sich nur im geöffneten Dokument verschieben.",
|
|
37
|
+
"tree.drop.noBlocksHere": "Hier lassen sich keine Bausteine ablegen.",
|
|
38
|
+
"tree.drop.blockWithoutId": "Dieser Baustein hat noch keine ID und lässt sich nicht als Ziel ansprechen.",
|
|
39
|
+
"tree.drop.editorClosed": "Der Editor ist nicht mehr geöffnet."
|
|
27
40
|
};
|
|
28
41
|
//#endregion
|
|
29
42
|
export { de };
|
package/dist/i18n/de/tree.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.js","names":[],"sources":["../../../src/i18n/de/tree.ts"],"sourcesContent":["export const de = {\n 'tree.aria': 'Dokumente',\n 'tree.loading': 'Lädt…',\n 'tree.loadFailed': 'Dokumente konnten nicht geladen werden',\n 'tree.empty': 'Noch keine Dokumente',\n 'tree.rootFallback': 'Dokument',\n 'tree.untitled': '(ohne Titel)',\n 'tree.summary': 'Zusammenfassung vorhanden',\n 'tree.filter.show': 'Anzeigen',\n 'tree.filter.title': 'Anzeige filtern',\n 'tree.filter.reset': 'Filter zurücksetzen',\n 'tree.add': 'Hinzufügen',\n 'tree.delete': 'Löschen',\n 'tree.menu.newDocument': 'Neues Dokument',\n 'tree.menu.newFolder': 'Neuer Ordner',\n 'tree.menu.newSubfolder': 'Neuer Unterordner',\n 'tree.menu.newCompositeFolder': 'Neuer Ordner-Baustein',\n 'tree.menu.importFile': 'Datei importieren…',\n 'tree.menu.rename': 'Umbenennen',\n 'tree.folder.name': 'Ordnername',\n 'tree.folder.placeholder': 'Neuer Ordner',\n 'tree.folder.placeholderIn': 'Neuer Ordner in {parent}',\n 'tree.folder.renameFailed': 'Ordner nicht umbenannt',\n 'tree.removed': 'Dokument gelöscht',\n 'tree.undo': 'Rückgängig',\n} as const\n"],"mappings":";AAAA,MAAa,KAAK;CAChB,aAAa;CACb,gBAAgB;CAChB,mBAAmB;CACnB,cAAc;CACd,qBAAqB;CACrB,iBAAiB;CACjB,gBAAgB;CAChB,oBAAoB;CACpB,qBAAqB;CACrB,qBAAqB;CACrB,YAAY;CACZ,eAAe;CACf,yBAAyB;CACzB,uBAAuB;CACvB,0BAA0B;CAC1B,gCAAgC;CAChC,wBAAwB;CACxB,oBAAoB;CACpB,oBAAoB;CACpB,2BAA2B;CAC3B,6BAA6B;CAC7B,4BAA4B;CAC5B,gBAAgB;CAChB,aAAa;
|
|
1
|
+
{"version":3,"file":"tree.js","names":[],"sources":["../../../src/i18n/de/tree.ts"],"sourcesContent":["export const de = {\n 'tree.aria': 'Dokumente',\n 'tree.loading': 'Lädt…',\n 'tree.loadFailed': 'Dokumente konnten nicht geladen werden',\n 'tree.empty': 'Noch keine Dokumente',\n 'tree.rootFallback': 'Dokument',\n 'tree.untitled': '(ohne Titel)',\n 'tree.summary': 'Zusammenfassung vorhanden',\n 'tree.filter.show': 'Anzeigen',\n 'tree.filter.title': 'Anzeige filtern',\n 'tree.filter.reset': 'Filter zurücksetzen',\n 'tree.add': 'Hinzufügen',\n 'tree.delete': 'Löschen',\n 'tree.menu.newDocument': 'Neues Dokument',\n 'tree.menu.newFolder': 'Neuer Ordner',\n 'tree.menu.newSubfolder': 'Neuer Unterordner',\n 'tree.menu.newCompositeFolder': 'Neuer Ordner-Baustein',\n 'tree.menu.importFile': 'Datei importieren…',\n 'tree.menu.rename': 'Umbenennen',\n 'tree.folder.name': 'Ordnername',\n 'tree.folder.placeholder': 'Neuer Ordner',\n 'tree.folder.placeholderIn': 'Neuer Ordner in {parent}',\n 'tree.folder.renameFailed': 'Ordner nicht umbenannt',\n 'tree.removed': 'Dokument gelöscht',\n 'tree.undo': 'Rückgängig',\n 'tree.filterText.placeholder': 'Titel filtern',\n 'tree.filterText.clear': 'Titelfilter löschen',\n 'tree.noMatches': 'Keine Treffer',\n\n // Why a drop on a row is refused (`dropVerdict`).\n 'tree.drop.nothing': 'Es wird nichts gezogen.',\n 'tree.drop.noDocumentMove': 'Im geöffneten Dokument lassen sich Dokumente und Ordner nicht verschieben.',\n 'tree.drop.foldersOnly': 'Nur Ordner nehmen Einträge auf.',\n 'tree.drop.documentInFolder': 'Das Dokument liegt schon in diesem Ordner.',\n 'tree.drop.folderIntoSelf': 'Ein Ordner lässt sich nicht in sich selbst oder einen seiner Unterordner verschieben.',\n 'tree.drop.folderInFolder': 'Der Ordner liegt schon in diesem Ordner.',\n 'tree.drop.blocksOnlyInDocument': 'Bausteine lassen sich nur im geöffneten Dokument verschieben.',\n 'tree.drop.noBlocksHere': 'Hier lassen sich keine Bausteine ablegen.',\n 'tree.drop.blockWithoutId': 'Dieser Baustein hat noch keine ID und lässt sich nicht als Ziel ansprechen.',\n 'tree.drop.editorClosed': 'Der Editor ist nicht mehr geöffnet.',\n} as const\n"],"mappings":";AAAA,MAAa,KAAK;CAChB,aAAa;CACb,gBAAgB;CAChB,mBAAmB;CACnB,cAAc;CACd,qBAAqB;CACrB,iBAAiB;CACjB,gBAAgB;CAChB,oBAAoB;CACpB,qBAAqB;CACrB,qBAAqB;CACrB,YAAY;CACZ,eAAe;CACf,yBAAyB;CACzB,uBAAuB;CACvB,0BAA0B;CAC1B,gCAAgC;CAChC,wBAAwB;CACxB,oBAAoB;CACpB,oBAAoB;CACpB,2BAA2B;CAC3B,6BAA6B;CAC7B,4BAA4B;CAC5B,gBAAgB;CAChB,aAAa;CACb,+BAA+B;CAC/B,yBAAyB;CACzB,kBAAkB;CAGlB,qBAAqB;CACrB,4BAA4B;CAC5B,yBAAyB;CACzB,8BAA8B;CAC9B,4BAA4B;CAC5B,4BAA4B;CAC5B,kCAAkC;CAClC,0BAA0B;CAC1B,4BAA4B;CAC5B,0BAA0B;AAC5B"}
|
package/dist/i18n/de.d.ts
CHANGED
|
@@ -85,6 +85,19 @@ export declare const de: {
|
|
|
85
85
|
readonly 'tree.folder.renameFailed': "Ordner nicht umbenannt";
|
|
86
86
|
readonly 'tree.removed': "Dokument gelöscht";
|
|
87
87
|
readonly 'tree.undo': "Rückgängig";
|
|
88
|
+
readonly 'tree.filterText.placeholder': "Titel filtern";
|
|
89
|
+
readonly 'tree.filterText.clear': "Titelfilter löschen";
|
|
90
|
+
readonly 'tree.noMatches': "Keine Treffer";
|
|
91
|
+
readonly 'tree.drop.nothing': "Es wird nichts gezogen.";
|
|
92
|
+
readonly 'tree.drop.noDocumentMove': "Im geöffneten Dokument lassen sich Dokumente und Ordner nicht verschieben.";
|
|
93
|
+
readonly 'tree.drop.foldersOnly': "Nur Ordner nehmen Einträge auf.";
|
|
94
|
+
readonly 'tree.drop.documentInFolder': "Das Dokument liegt schon in diesem Ordner.";
|
|
95
|
+
readonly 'tree.drop.folderIntoSelf': "Ein Ordner lässt sich nicht in sich selbst oder einen seiner Unterordner verschieben.";
|
|
96
|
+
readonly 'tree.drop.folderInFolder': "Der Ordner liegt schon in diesem Ordner.";
|
|
97
|
+
readonly 'tree.drop.blocksOnlyInDocument': "Bausteine lassen sich nur im geöffneten Dokument verschieben.";
|
|
98
|
+
readonly 'tree.drop.noBlocksHere': "Hier lassen sich keine Bausteine ablegen.";
|
|
99
|
+
readonly 'tree.drop.blockWithoutId': "Dieser Baustein hat noch keine ID und lässt sich nicht als Ziel ansprechen.";
|
|
100
|
+
readonly 'tree.drop.editorClosed': "Der Editor ist nicht mehr geöffnet.";
|
|
88
101
|
readonly 'themes.tab': "Darstellung";
|
|
89
102
|
readonly 'themes.title': "Darstellung";
|
|
90
103
|
readonly 'themes.standard': "Standard";
|
|
@@ -262,6 +275,13 @@ export declare const de: {
|
|
|
262
275
|
readonly 'composites.settings.dragHandle.hover.description': "Der Ziehgriff erscheint am Block unter der Maus.";
|
|
263
276
|
readonly 'composites.settings.dragHandle.always.label': "Immer anzeigen";
|
|
264
277
|
readonly 'composites.settings.dragHandle.always.description': "Jeder Block ohne Symbol zeigt seinen Ziehgriff dauerhaft.";
|
|
278
|
+
readonly 'composites.nesting.title': "Verschachtelung nicht möglich";
|
|
279
|
+
readonly 'composites.nesting.refused': "{parent} nimmt keine {child} auf.";
|
|
280
|
+
readonly 'composites.move.blockGone': "Der Block existiert nicht mehr.";
|
|
281
|
+
readonly 'composites.move.targetGone': "Das Ziel existiert nicht mehr.";
|
|
282
|
+
readonly 'composites.move.targetNotBlock': "Das Ziel ist kein Baustein.";
|
|
283
|
+
readonly 'composites.move.intoSelf': "Ein Block kann nicht in sich selbst verschoben werden.";
|
|
284
|
+
readonly 'composites.move.intoOwn': "Ein Block kann nicht in einen Baustein verschoben werden, den er selbst enthält.";
|
|
265
285
|
readonly 'authors.tab': "Autorenfarben";
|
|
266
286
|
readonly 'authors.title': "Autorenfarben";
|
|
267
287
|
readonly 'authors.switch.label': "Text nach Autor einfärben";
|
|
@@ -424,6 +444,7 @@ export declare const de: {
|
|
|
424
444
|
readonly 'ai.opBadge.invalid': "Verfallen";
|
|
425
445
|
readonly 'ai.opBadge.unchanged': "Keine Änderung";
|
|
426
446
|
readonly 'ai.opBadge.missing': "Block fehlt";
|
|
447
|
+
readonly 'ai.opBadge.stale': "Block gelöscht";
|
|
427
448
|
readonly 'ai.opBadge.overlap': "Stelle belegt";
|
|
428
449
|
readonly 'ai.opBadge.empty': "Leer";
|
|
429
450
|
readonly 'ai.opBadge.blocked': "Außerhalb der Auswahl";
|
|
@@ -434,6 +455,7 @@ export declare const de: {
|
|
|
434
455
|
readonly 'ai.opTitle.invalid': "Vorschlag verfallen, weil der Text inzwischen anders geändert wurde";
|
|
435
456
|
readonly 'ai.opTitle.unchanged': "Vorschlag nicht angezeigt, weil er dem vorhandenen Text entspricht";
|
|
436
457
|
readonly 'ai.opTitle.missing': "Vorschlag nicht angezeigt, weil der Block nicht mehr existiert";
|
|
458
|
+
readonly 'ai.opTitle.stale': "Vorschlag nicht angezeigt: Block wurde inzwischen gelöscht";
|
|
437
459
|
readonly 'ai.opTitle.overlap': "Vorschlag nicht angezeigt, weil an der Stelle noch andere KI-Änderungen offen sind";
|
|
438
460
|
readonly 'ai.opTitle.empty': "Vorschlag nicht angezeigt, weil der Inhalt leer ist";
|
|
439
461
|
readonly 'ai.opTitle.blocked': "Vorschlag blockiert, weil er außerhalb des erlaubten Bereichs liegt";
|
package/dist/i18n/en/ai.js
CHANGED
|
@@ -120,6 +120,7 @@ const en = {
|
|
|
120
120
|
"ai.opBadge.invalid": "Expired",
|
|
121
121
|
"ai.opBadge.unchanged": "No change",
|
|
122
122
|
"ai.opBadge.missing": "Block missing",
|
|
123
|
+
"ai.opBadge.stale": "Block deleted",
|
|
123
124
|
"ai.opBadge.overlap": "Spot occupied",
|
|
124
125
|
"ai.opBadge.empty": "Empty",
|
|
125
126
|
"ai.opBadge.blocked": "Outside the selection",
|
|
@@ -130,6 +131,7 @@ const en = {
|
|
|
130
131
|
"ai.opTitle.invalid": "Suggestion expired because the text has been changed differently in the meantime",
|
|
131
132
|
"ai.opTitle.unchanged": "Suggestion not shown because it matches the existing text",
|
|
132
133
|
"ai.opTitle.missing": "Suggestion not shown because the block no longer exists",
|
|
134
|
+
"ai.opTitle.stale": "Suggestion not shown: the block was deleted in the meantime",
|
|
133
135
|
"ai.opTitle.overlap": "Suggestion not shown because other AI changes are still open at that spot",
|
|
134
136
|
"ai.opTitle.empty": "Suggestion not shown because its content is empty",
|
|
135
137
|
"ai.opTitle.blocked": "Suggestion blocked because it lies outside the permitted area",
|