@12ui/design 0.2.76 → 0.2.78
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/SKILL.md +1 -1
- package/dist/cli-codex-readiness.d.ts +6 -0
- package/dist/cli-codex-readiness.d.ts.map +1 -1
- package/dist/cli-codex-readiness.js +12 -12
- package/dist/cli-codex-readiness.js.map +1 -1
- package/dist/cli-help/design.d.ts +2 -2
- package/dist/cli-help/design.d.ts.map +1 -1
- package/dist/cli-help/design.js +2 -0
- package/dist/cli-help/design.js.map +1 -1
- package/dist/cli-help/index.d.ts +2 -2
- package/dist/cli-review-command.d.ts.map +1 -1
- package/dist/cli-review-command.js +2 -0
- package/dist/cli-review-command.js.map +1 -1
- package/dist/cli-run.d.ts.map +1 -1
- package/dist/cli-run.js +6 -0
- package/dist/cli-run.js.map +1 -1
- package/dist/cli-workspace-draw.d.ts +1 -11
- package/dist/cli-workspace-draw.d.ts.map +1 -1
- package/dist/cli-workspace-draw.js +18 -18
- package/dist/cli-workspace-draw.js.map +1 -1
- package/dist/cli-workspace-runner.d.ts +30 -0
- package/dist/cli-workspace-runner.d.ts.map +1 -0
- package/dist/cli-workspace-runner.js +105 -0
- package/dist/cli-workspace-runner.js.map +1 -0
- package/dist/mcp-slate-image.js +1 -1
- package/dist/mcp-slate-image.js.map +1 -1
- package/dist/mcp-slate-tool-defs.js +1 -1
- package/dist/mcp-slate-tool-defs.js.map +1 -1
- package/dist/mcp-slate-ui-copy.d.ts +403 -33
- package/dist/mcp-slate-ui-copy.d.ts.map +1 -1
- package/dist/mcp-slate-ui-copy.js +247 -57
- package/dist/mcp-slate-ui-copy.js.map +1 -1
- package/dist/mcp-slate-ui-icu.d.ts +47 -0
- package/dist/mcp-slate-ui-icu.d.ts.map +1 -0
- package/dist/mcp-slate-ui-icu.js +229 -0
- package/dist/mcp-slate-ui-icu.js.map +1 -0
- package/dist/mcp-slate-ui-locale-match.d.ts +12 -0
- package/dist/mcp-slate-ui-locale-match.d.ts.map +1 -0
- package/dist/mcp-slate-ui-locale-match.js +34 -0
- package/dist/mcp-slate-ui-locale-match.js.map +1 -0
- package/dist/mcp-slate-ui-locales/de-DE.d.ts +9 -0
- package/dist/mcp-slate-ui-locales/de-DE.d.ts.map +1 -0
- package/dist/mcp-slate-ui-locales/de-DE.js +217 -0
- package/dist/mcp-slate-ui-locales/de-DE.js.map +1 -0
- package/dist/mcp-slate-ui-locales/es-419.d.ts +9 -0
- package/dist/mcp-slate-ui-locales/es-419.d.ts.map +1 -0
- package/dist/mcp-slate-ui-locales/es-419.js +217 -0
- package/dist/mcp-slate-ui-locales/es-419.js.map +1 -0
- package/dist/mcp-slate-ui-locales/es-ES.d.ts +9 -0
- package/dist/mcp-slate-ui-locales/es-ES.d.ts.map +1 -0
- package/dist/mcp-slate-ui-locales/es-ES.js +217 -0
- package/dist/mcp-slate-ui-locales/es-ES.js.map +1 -0
- package/dist/mcp-slate-ui-locales/fr-FR.d.ts +9 -0
- package/dist/mcp-slate-ui-locales/fr-FR.d.ts.map +1 -0
- package/dist/mcp-slate-ui-locales/fr-FR.js +217 -0
- package/dist/mcp-slate-ui-locales/fr-FR.js.map +1 -0
- package/dist/mcp-slate-ui-locales/hi-IN.d.ts +9 -0
- package/dist/mcp-slate-ui-locales/hi-IN.d.ts.map +1 -0
- package/dist/mcp-slate-ui-locales/hi-IN.js +217 -0
- package/dist/mcp-slate-ui-locales/hi-IN.js.map +1 -0
- package/dist/mcp-slate-ui-locales/index.d.ts +11 -0
- package/dist/mcp-slate-ui-locales/index.d.ts.map +1 -0
- package/dist/mcp-slate-ui-locales/index.js +34 -0
- package/dist/mcp-slate-ui-locales/index.js.map +1 -0
- package/dist/mcp-slate-ui-locales/it-IT.d.ts +9 -0
- package/dist/mcp-slate-ui-locales/it-IT.d.ts.map +1 -0
- package/dist/mcp-slate-ui-locales/it-IT.js +217 -0
- package/dist/mcp-slate-ui-locales/it-IT.js.map +1 -0
- package/dist/mcp-slate-ui-locales/ja-JP.d.ts +9 -0
- package/dist/mcp-slate-ui-locales/ja-JP.d.ts.map +1 -0
- package/dist/mcp-slate-ui-locales/ja-JP.js +217 -0
- package/dist/mcp-slate-ui-locales/ja-JP.js.map +1 -0
- package/dist/mcp-slate-ui-locales/ko-KR.d.ts +9 -0
- package/dist/mcp-slate-ui-locales/ko-KR.d.ts.map +1 -0
- package/dist/mcp-slate-ui-locales/ko-KR.js +217 -0
- package/dist/mcp-slate-ui-locales/ko-KR.js.map +1 -0
- package/dist/mcp-slate-ui-locales/pt-BR.d.ts +9 -0
- package/dist/mcp-slate-ui-locales/pt-BR.d.ts.map +1 -0
- package/dist/mcp-slate-ui-locales/pt-BR.js +217 -0
- package/dist/mcp-slate-ui-locales/pt-BR.js.map +1 -0
- package/dist/mcp-slate-ui-locales/zh-CN.d.ts +9 -0
- package/dist/mcp-slate-ui-locales/zh-CN.d.ts.map +1 -0
- package/dist/mcp-slate-ui-locales/zh-CN.js +217 -0
- package/dist/mcp-slate-ui-locales/zh-CN.js.map +1 -0
- package/dist/mcp-slate-ui-locales/zh-TW.d.ts +9 -0
- package/dist/mcp-slate-ui-locales/zh-TW.d.ts.map +1 -0
- package/dist/mcp-slate-ui-locales/zh-TW.js +217 -0
- package/dist/mcp-slate-ui-locales/zh-TW.js.map +1 -0
- package/dist/mcp-slate-ui-script-bridge.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script-bridge.js +8 -9
- package/dist/mcp-slate-ui-script-bridge.js.map +1 -1
- package/dist/mcp-slate-ui-script-dialog.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script-dialog.js +60 -30
- package/dist/mcp-slate-ui-script-dialog.js.map +1 -1
- package/dist/mcp-slate-ui-script-inline.d.ts +9 -6
- package/dist/mcp-slate-ui-script-inline.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script-inline.js +91 -46
- package/dist/mcp-slate-ui-script-inline.js.map +1 -1
- package/dist/mcp-slate-ui-script-inspiration-collage.d.ts +20 -0
- package/dist/mcp-slate-ui-script-inspiration-collage.d.ts.map +1 -0
- package/dist/mcp-slate-ui-script-inspiration-collage.js +68 -0
- package/dist/mcp-slate-ui-script-inspiration-collage.js.map +1 -0
- package/dist/mcp-slate-ui-script-inspiration-grid.d.ts +26 -0
- package/dist/mcp-slate-ui-script-inspiration-grid.d.ts.map +1 -0
- package/dist/mcp-slate-ui-script-inspiration-grid.js +246 -0
- package/dist/mcp-slate-ui-script-inspiration-grid.js.map +1 -0
- package/dist/mcp-slate-ui-script-inspiration.d.ts +10 -9
- package/dist/mcp-slate-ui-script-inspiration.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script-inspiration.js +161 -120
- package/dist/mcp-slate-ui-script-inspiration.js.map +1 -1
- package/dist/mcp-slate-ui-script-l10n.d.ts +29 -0
- package/dist/mcp-slate-ui-script-l10n.d.ts.map +1 -0
- package/dist/mcp-slate-ui-script-l10n.js +135 -0
- package/dist/mcp-slate-ui-script-l10n.js.map +1 -0
- package/dist/mcp-slate-ui-script-more.d.ts +3 -2
- package/dist/mcp-slate-ui-script-more.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script-more.js +19 -18
- package/dist/mcp-slate-ui-script-more.js.map +1 -1
- package/dist/mcp-slate-ui-script-pause.d.ts +33 -0
- package/dist/mcp-slate-ui-script-pause.d.ts.map +1 -0
- package/dist/mcp-slate-ui-script-pause.js +217 -0
- package/dist/mcp-slate-ui-script-pause.js.map +1 -0
- package/dist/mcp-slate-ui-script-remote.d.ts +2 -0
- package/dist/mcp-slate-ui-script-remote.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script-remote.js +47 -6
- package/dist/mcp-slate-ui-script-remote.js.map +1 -1
- package/dist/mcp-slate-ui-script-scribble.js +1 -1
- package/dist/mcp-slate-ui-script-select.js +6 -6
- package/dist/mcp-slate-ui-script-stage.d.ts +3 -2
- package/dist/mcp-slate-ui-script-stage.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script-stage.js +31 -19
- package/dist/mcp-slate-ui-script-stage.js.map +1 -1
- package/dist/mcp-slate-ui-script-state.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script-state.js +77 -57
- package/dist/mcp-slate-ui-script-state.js.map +1 -1
- package/dist/mcp-slate-ui-script.d.ts +2 -2
- package/dist/mcp-slate-ui-script.d.ts.map +1 -1
- package/dist/mcp-slate-ui-script.js +21 -7
- package/dist/mcp-slate-ui-script.js.map +1 -1
- package/dist/mcp-slate-ui-styles-dialog.d.ts +6 -7
- package/dist/mcp-slate-ui-styles-dialog.d.ts.map +1 -1
- package/dist/mcp-slate-ui-styles-dialog.js +13 -29
- package/dist/mcp-slate-ui-styles-dialog.js.map +1 -1
- package/dist/mcp-slate-ui-styles-inspiration.d.ts +18 -0
- package/dist/mcp-slate-ui-styles-inspiration.d.ts.map +1 -0
- package/dist/mcp-slate-ui-styles-inspiration.js +43 -0
- package/dist/mcp-slate-ui-styles-inspiration.js.map +1 -0
- package/dist/mcp-slate-ui-styles-pause.d.ts +10 -0
- package/dist/mcp-slate-ui-styles-pause.d.ts.map +1 -0
- package/dist/mcp-slate-ui-styles-pause.js +25 -0
- package/dist/mcp-slate-ui-styles-pause.js.map +1 -0
- package/dist/mcp-slate-ui-styles-stage.d.ts +10 -6
- package/dist/mcp-slate-ui-styles-stage.d.ts.map +1 -1
- package/dist/mcp-slate-ui-styles-stage.js +24 -16
- package/dist/mcp-slate-ui-styles-stage.js.map +1 -1
- package/dist/mcp-slate-ui-styles.d.ts +12 -5
- package/dist/mcp-slate-ui-styles.d.ts.map +1 -1
- package/dist/mcp-slate-ui-styles.js +38 -21
- package/dist/mcp-slate-ui-styles.js.map +1 -1
- package/dist/mcp-slate-ui.d.ts +11 -3
- package/dist/mcp-slate-ui.d.ts.map +1 -1
- package/dist/mcp-slate-ui.js +24 -16
- package/dist/mcp-slate-ui.js.map +1 -1
- package/dist/mosaic-bands.d.ts +44 -0
- package/dist/mosaic-bands.d.ts.map +1 -0
- package/dist/mosaic-bands.js +153 -0
- package/dist/mosaic-bands.js.map +1 -0
- package/dist/review-discovery.d.ts.map +1 -1
- package/dist/review-discovery.js +36 -54
- package/dist/review-discovery.js.map +1 -1
- package/dist/review-page.d.ts.map +1 -1
- package/dist/review-page.js +2 -1
- package/dist/review-page.js.map +1 -1
- package/dist/review-run-roots.d.ts +40 -0
- package/dist/review-run-roots.d.ts.map +1 -0
- package/dist/review-run-roots.js +94 -0
- package/dist/review-run-roots.js.map +1 -0
- package/dist/review-server.d.ts +2 -0
- package/dist/review-server.d.ts.map +1 -1
- package/dist/review-server.js +2 -0
- package/dist/review-server.js.map +1 -1
- package/dist/review-types.d.ts +10 -0
- package/dist/review-types.d.ts.map +1 -1
- package/dist/slate-actions.d.ts +3 -3
- package/dist/slate-actions.d.ts.map +1 -1
- package/dist/slate-actions.js +9 -8
- package/dist/slate-actions.js.map +1 -1
- package/dist/slate-browser-host-script.d.ts +4 -0
- package/dist/slate-browser-host-script.d.ts.map +1 -1
- package/dist/slate-browser-host-script.js +25 -6
- package/dist/slate-browser-host-script.js.map +1 -1
- package/dist/slate-browser-host.d.ts +2 -1
- package/dist/slate-browser-host.d.ts.map +1 -1
- package/dist/slate-browser-host.js +18 -5
- package/dist/slate-browser-host.js.map +1 -1
- package/dist/slate-commit.js +7 -7
- package/dist/slate-commit.js.map +1 -1
- package/dist/slate-corpus.d.ts.map +1 -1
- package/dist/slate-corpus.js +3 -2
- package/dist/slate-corpus.js.map +1 -1
- package/dist/slate-edit-runner.d.ts.map +1 -1
- package/dist/slate-edit-runner.js +5 -4
- package/dist/slate-edit-runner.js.map +1 -1
- package/dist/slate-editability.d.ts +2 -0
- package/dist/slate-editability.d.ts.map +1 -1
- package/dist/slate-editability.js +1 -1
- package/dist/slate-editability.js.map +1 -1
- package/dist/slate-errors.d.ts +7 -1
- package/dist/slate-errors.d.ts.map +1 -1
- package/dist/slate-errors.js +3 -2
- package/dist/slate-errors.js.map +1 -1
- package/dist/slate-handoff-options.d.ts +2 -1
- package/dist/slate-handoff-options.d.ts.map +1 -1
- package/dist/slate-handoff-options.js +2 -2
- package/dist/slate-handoff-options.js.map +1 -1
- package/dist/slate-handoff.js +1 -1
- package/dist/slate-handoff.js.map +1 -1
- package/dist/slate-image-executor.d.ts +28 -3
- package/dist/slate-image-executor.d.ts.map +1 -1
- package/dist/slate-image-executor.js +55 -11
- package/dist/slate-image-executor.js.map +1 -1
- package/dist/slate-inspiration.js +2 -2
- package/dist/slate-inspiration.js.map +1 -1
- package/dist/slate-local-image.d.ts.map +1 -1
- package/dist/slate-local-image.js +4 -1
- package/dist/slate-local-image.js.map +1 -1
- package/dist/slate-lock.js +1 -1
- package/dist/slate-lock.js.map +1 -1
- package/dist/slate-resume.js +6 -6
- package/dist/slate-resume.js.map +1 -1
- package/dist/slate-round-params.d.ts +3 -0
- package/dist/slate-round-params.d.ts.map +1 -1
- package/dist/slate-round-params.js +5 -0
- package/dist/slate-round-params.js.map +1 -1
- package/dist/slate-round-prompt.d.ts +15 -3
- package/dist/slate-round-prompt.d.ts.map +1 -1
- package/dist/slate-round-prompt.js +14 -5
- package/dist/slate-round-prompt.js.map +1 -1
- package/dist/slate-round-queries.d.ts +18 -0
- package/dist/slate-round-queries.d.ts.map +1 -0
- package/dist/slate-round-queries.js +29 -0
- package/dist/slate-round-queries.js.map +1 -0
- package/dist/slate-round-runner.d.ts.map +1 -1
- package/dist/slate-round-runner.js +12 -9
- package/dist/slate-round-runner.js.map +1 -1
- package/dist/slate-round-search.js +5 -5
- package/dist/slate-round-search.js.map +1 -1
- package/dist/slate-run-action.d.ts.map +1 -1
- package/dist/slate-run-action.js +2 -1
- package/dist/slate-run-action.js.map +1 -1
- package/dist/slate-runner-context.d.ts +3 -1
- package/dist/slate-runner-context.d.ts.map +1 -1
- package/dist/slate-runner-context.js +4 -3
- package/dist/slate-runner-context.js.map +1 -1
- package/dist/slate-runner-failure.d.ts +7 -1
- package/dist/slate-runner-failure.d.ts.map +1 -1
- package/dist/slate-runner-failure.js +6 -5
- package/dist/slate-runner-failure.js.map +1 -1
- package/dist/slate-runtime.d.ts.map +1 -1
- package/dist/slate-runtime.js +1 -0
- package/dist/slate-runtime.js.map +1 -1
- package/dist/slate-versions.js +3 -3
- package/dist/slate-versions.js.map +1 -1
- package/dist/slate-view-contract.d.ts +62 -1
- package/dist/slate-view-contract.d.ts.map +1 -1
- package/dist/slate-view-contract.js +30 -0
- package/dist/slate-view-contract.js.map +1 -1
- package/dist/slate-view.d.ts.map +1 -1
- package/dist/slate-view.js +19 -3
- package/dist/slate-view.js.map +1 -1
- package/dist/slate-workspace-parse.d.ts.map +1 -1
- package/dist/slate-workspace-parse.js +22 -0
- package/dist/slate-workspace-parse.js.map +1 -1
- package/dist/slate-workspace-types.d.ts +3 -1
- package/dist/slate-workspace-types.d.ts.map +1 -1
- package/dist/workspace-draw-client.d.ts +58 -5
- package/dist/workspace-draw-client.d.ts.map +1 -1
- package/dist/workspace-draw-client.js +82 -9
- package/dist/workspace-draw-client.js.map +1 -1
- package/dist/workspace-draw-codex.d.ts +9 -4
- package/dist/workspace-draw-codex.d.ts.map +1 -1
- package/dist/workspace-draw-codex.js +17 -3
- package/dist/workspace-draw-codex.js.map +1 -1
- package/dist/workspace-draw-messages.d.ts +31 -0
- package/dist/workspace-draw-messages.d.ts.map +1 -1
- package/dist/workspace-draw-messages.js +30 -0
- package/dist/workspace-draw-messages.js.map +1 -1
- package/dist/workspace-draw-run.d.ts +19 -1
- package/dist/workspace-draw-run.d.ts.map +1 -1
- package/dist/workspace-draw-run.js +98 -5
- package/dist/workspace-draw-run.js.map +1 -1
- package/dist/workspace-draw-store.d.ts +2 -0
- package/dist/workspace-draw-store.d.ts.map +1 -1
- package/dist/workspace-draw-store.js +3 -1
- package/dist/workspace-draw-store.js.map +1 -1
- package/dist/workspace-draw-types.d.ts +2 -0
- package/dist/workspace-draw-types.d.ts.map +1 -1
- package/dist/workspace-draw-types.js +2 -0
- package/dist/workspace-draw-types.js.map +1 -1
- package/dist/workspace-origin.d.ts +15 -0
- package/dist/workspace-origin.d.ts.map +1 -0
- package/dist/workspace-origin.js +36 -0
- package/dist/workspace-origin.js.map +1 -0
- package/dist/workspace-runner-children.d.ts +39 -0
- package/dist/workspace-runner-children.d.ts.map +1 -0
- package/dist/workspace-runner-children.js +139 -0
- package/dist/workspace-runner-children.js.map +1 -0
- package/dist/workspace-runner-client.d.ts +43 -0
- package/dist/workspace-runner-client.d.ts.map +1 -0
- package/dist/workspace-runner-client.js +72 -0
- package/dist/workspace-runner-client.js.map +1 -0
- package/dist/workspace-runner-main.d.ts +56 -0
- package/dist/workspace-runner-main.d.ts.map +1 -0
- package/dist/workspace-runner-main.js +378 -0
- package/dist/workspace-runner-main.js.map +1 -0
- package/dist/workspace-runner-policy.d.ts +40 -0
- package/dist/workspace-runner-policy.d.ts.map +1 -0
- package/dist/workspace-runner-policy.js +47 -0
- package/dist/workspace-runner-policy.js.map +1 -0
- package/dist/workspace-runner-spawn.d.ts +42 -0
- package/dist/workspace-runner-spawn.d.ts.map +1 -0
- package/dist/workspace-runner-spawn.js +60 -0
- package/dist/workspace-runner-spawn.js.map +1 -0
- package/dist/workspace-runner-stop.d.ts +25 -0
- package/dist/workspace-runner-stop.d.ts.map +1 -0
- package/dist/workspace-runner-stop.js +44 -0
- package/dist/workspace-runner-stop.js.map +1 -0
- package/dist/workspace-runner-store.d.ts +26 -0
- package/dist/workspace-runner-store.d.ts.map +1 -0
- package/dist/workspace-runner-store.js +114 -0
- package/dist/workspace-runner-store.js.map +1 -0
- package/open-design.json +2 -2
- package/package.json +1 -1
- package/runtime/codex-conversion/src/images/native-frame.mjs +103 -0
- package/runtime/codex-conversion/src/images/native-invoke.mjs +24 -5
- package/runtime/codex-conversion/src/images/native.mjs +14 -5
- package/runtime/codex-conversion/src/run-store.mjs +21 -1
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ICU MessageFormat for the Design workspace screen: the subset its catalogue uses, parsed and formatted without a
|
|
3
|
+
* library. A message is text with arguments: `{name}`, `{name, number}`, `{name, plural, =0 {...} one {...} other
|
|
4
|
+
* {...}}` (with `#` for the number inside a branch) and `{name, select, a {...} other {...}}`. An apostrophe quotes
|
|
5
|
+
* only before a brace, a `#` or another apostrophe (ICU's "double optional" mode), so French and Italian text needs no
|
|
6
|
+
* doubling.
|
|
7
|
+
*
|
|
8
|
+
* SELF-CONTAINED ON PURPOSE, like `mosaic-bands.ts`: the screen is one HTML document with an inline script, so it
|
|
9
|
+
* embeds these functions' own source (`parseIcu.toString()`, ...). Each function closes over nothing in this module:
|
|
10
|
+
* every helper is inside its body, the types are erased at compile time, and no body holds a backtick or a
|
|
11
|
+
* dollar-brace (the script is String.raw).
|
|
12
|
+
*/
|
|
13
|
+
/** Parses one message; throws on a brace that is not closed or a selector without its branch. */
|
|
14
|
+
export function parseIcu(source) {
|
|
15
|
+
let at = 0;
|
|
16
|
+
const fail = (why) => { throw new Error('message ' + JSON.stringify(source) + ': ' + why + ' at ' + at); };
|
|
17
|
+
const space = () => { while (at < source.length && /\s/u.test(source.charAt(at)))
|
|
18
|
+
at += 1; };
|
|
19
|
+
const word = () => {
|
|
20
|
+
space();
|
|
21
|
+
const start = at;
|
|
22
|
+
while (at < source.length && !/[\s,{}]/u.test(source.charAt(at)))
|
|
23
|
+
at += 1;
|
|
24
|
+
if (at === start)
|
|
25
|
+
fail('a name is missing');
|
|
26
|
+
return source.slice(start, at);
|
|
27
|
+
};
|
|
28
|
+
const nodes = (inPlural, nested) => {
|
|
29
|
+
const out = [];
|
|
30
|
+
let text = '';
|
|
31
|
+
const flush = () => { if (text) {
|
|
32
|
+
out.push(text);
|
|
33
|
+
text = '';
|
|
34
|
+
} };
|
|
35
|
+
while (at < source.length) {
|
|
36
|
+
const ch = source.charAt(at);
|
|
37
|
+
if (ch === "'") {
|
|
38
|
+
const next = source.charAt(at + 1);
|
|
39
|
+
if (next === "'") {
|
|
40
|
+
text += "'";
|
|
41
|
+
at += 2;
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
if (next === '{' || next === '}' || (inPlural && next === '#')) {
|
|
45
|
+
const end = source.indexOf("'", at + 1);
|
|
46
|
+
if (end < 0)
|
|
47
|
+
fail('a quote is not closed');
|
|
48
|
+
text += source.slice(at + 1, end);
|
|
49
|
+
at = end + 1;
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
text += ch;
|
|
53
|
+
at += 1;
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
if (ch === '}') {
|
|
57
|
+
if (!nested)
|
|
58
|
+
fail('a closing brace has no opening one');
|
|
59
|
+
flush();
|
|
60
|
+
return out;
|
|
61
|
+
}
|
|
62
|
+
if (ch === '#' && inPlural) {
|
|
63
|
+
flush();
|
|
64
|
+
out.push({ pound: true });
|
|
65
|
+
at += 1;
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
if (ch === '{') {
|
|
69
|
+
flush();
|
|
70
|
+
at += 1;
|
|
71
|
+
out.push(argument(inPlural));
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
text += ch;
|
|
75
|
+
at += 1;
|
|
76
|
+
}
|
|
77
|
+
if (nested)
|
|
78
|
+
fail('a brace is not closed');
|
|
79
|
+
flush();
|
|
80
|
+
return out;
|
|
81
|
+
};
|
|
82
|
+
const argument = (inPlural) => {
|
|
83
|
+
const arg = word();
|
|
84
|
+
space();
|
|
85
|
+
if (source.charAt(at) === '}') {
|
|
86
|
+
at += 1;
|
|
87
|
+
return { arg, kind: 'simple' };
|
|
88
|
+
}
|
|
89
|
+
if (source.charAt(at) !== ',')
|
|
90
|
+
fail('expected a comma or a closing brace');
|
|
91
|
+
at += 1;
|
|
92
|
+
const type = word();
|
|
93
|
+
space();
|
|
94
|
+
if (type === 'number') {
|
|
95
|
+
if (source.charAt(at) !== '}')
|
|
96
|
+
fail('a number takes no style here');
|
|
97
|
+
at += 1;
|
|
98
|
+
return { arg, kind: 'number' };
|
|
99
|
+
}
|
|
100
|
+
if (type !== 'plural' && type !== 'select')
|
|
101
|
+
fail('unknown argument type ' + type);
|
|
102
|
+
if (source.charAt(at) !== ',')
|
|
103
|
+
fail('expected the branches');
|
|
104
|
+
at += 1;
|
|
105
|
+
const options = {};
|
|
106
|
+
for (;;) {
|
|
107
|
+
space();
|
|
108
|
+
if (at >= source.length)
|
|
109
|
+
fail('a brace is not closed');
|
|
110
|
+
if (source.charAt(at) === '}') {
|
|
111
|
+
at += 1;
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
const selector = word();
|
|
115
|
+
if (selector.indexOf('offset:') === 0)
|
|
116
|
+
fail('offset is not supported');
|
|
117
|
+
space();
|
|
118
|
+
if (source.charAt(at) !== '{')
|
|
119
|
+
fail('the branch ' + selector + ' has no message');
|
|
120
|
+
at += 1;
|
|
121
|
+
if (Object.prototype.hasOwnProperty.call(options, selector))
|
|
122
|
+
fail('the branch ' + selector + ' is repeated');
|
|
123
|
+
options[selector] = nodes(type === 'plural' || inPlural, true);
|
|
124
|
+
at += 1;
|
|
125
|
+
}
|
|
126
|
+
if (!Object.prototype.hasOwnProperty.call(options, 'other'))
|
|
127
|
+
fail('the ' + type + ' of ' + arg + ' has no other branch');
|
|
128
|
+
return { arg, kind: type === 'plural' ? 'plural' : 'select', options };
|
|
129
|
+
};
|
|
130
|
+
return nodes(false, false);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Formats parsed nodes with their values. A number value is said in the locale's digits and grouping; a missing value
|
|
134
|
+
* stays `{name}`, so a slip shows rather than vanishes. A plural takes its `=N` branch, else its category, else other.
|
|
135
|
+
*/
|
|
136
|
+
export function formatIcu(nodes, values, formatters) {
|
|
137
|
+
const say = (list, pound) => {
|
|
138
|
+
let out = '';
|
|
139
|
+
for (const node of list) {
|
|
140
|
+
if (typeof node === 'string') {
|
|
141
|
+
out += node;
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
144
|
+
if ('pound' in node) {
|
|
145
|
+
out += pound === null ? '#' : formatters.number(pound);
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
148
|
+
const value = values[node.arg];
|
|
149
|
+
if (node.kind === 'plural') {
|
|
150
|
+
const n = Number(value);
|
|
151
|
+
const branch = node.options['=' + n] || node.options[formatters.plural(n)] || node.options.other;
|
|
152
|
+
out += say(branch, n);
|
|
153
|
+
}
|
|
154
|
+
else if (node.kind === 'select') {
|
|
155
|
+
const branch = node.options[String(value)] || node.options.other;
|
|
156
|
+
out += say(branch, pound);
|
|
157
|
+
}
|
|
158
|
+
else if (value === undefined || value === null)
|
|
159
|
+
out += '{' + node.arg + '}';
|
|
160
|
+
else
|
|
161
|
+
out += typeof value === 'number' ? formatters.number(value) : String(value);
|
|
162
|
+
}
|
|
163
|
+
return out;
|
|
164
|
+
};
|
|
165
|
+
return say(nodes, null);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* The pseudo-locale (en-XA) of a message, for layout tests: every letter accented, the whole wrapped in ⟦ ⟧, and longer
|
|
169
|
+
* by about as much as translations grow: double for 10 characters or fewer, falling to a third more above 50. A short
|
|
170
|
+
* label grows as one unbreakable compound (the German case); a longer one grows by words. A message with no letters of
|
|
171
|
+
* its own (a join of two others) is left as it is, so the pieces it joins carry the markers.
|
|
172
|
+
*/
|
|
173
|
+
export function pseudoIcu(nodes) {
|
|
174
|
+
const LOWER = 'abcdefghijklmnopqrstuvwxyz';
|
|
175
|
+
const ACCENTED_LOWER = 'áƀçðéƒĝĥîĵķļɱñöþǫŕšţûṽŵẋýž';
|
|
176
|
+
const UPPER = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
177
|
+
const ACCENTED_UPPER = 'ÅƁÇĐÉƑĜĤÎĴĶĻṀÑÖÞǪŔŠŢÛṼŴẊÝŽ';
|
|
178
|
+
const FILLER = 'ļöŕéɱîþšûɱðöļöŕšîţåɱéţçöñšéçţéţûŕåðîþîšçîñĝéļîţšéððöéîûšɱöð';
|
|
179
|
+
const accent = (text) => text.replace(/[A-Za-z]/gu, (ch) => {
|
|
180
|
+
const lower = LOWER.indexOf(ch);
|
|
181
|
+
return lower >= 0 ? ACCENTED_LOWER.charAt(lower) : ACCENTED_UPPER.charAt(UPPER.indexOf(ch));
|
|
182
|
+
});
|
|
183
|
+
let letters = 0;
|
|
184
|
+
const walk = (list) => list.map((node) => {
|
|
185
|
+
if (typeof node === 'string') {
|
|
186
|
+
letters += (node.match(/[A-Za-z]/gu) || []).length;
|
|
187
|
+
return accent(node);
|
|
188
|
+
}
|
|
189
|
+
if ('options' in node) {
|
|
190
|
+
const options = {};
|
|
191
|
+
for (const key of Object.keys(node.options))
|
|
192
|
+
options[key] = walk(node.options[key]);
|
|
193
|
+
return { arg: node.arg, kind: node.kind, options };
|
|
194
|
+
}
|
|
195
|
+
return node;
|
|
196
|
+
});
|
|
197
|
+
const accented = walk(nodes);
|
|
198
|
+
if (letters === 0)
|
|
199
|
+
return nodes;
|
|
200
|
+
const rate = letters <= 10 ? 1 : letters <= 20 ? 0.8 : letters <= 50 ? 0.5 : 0.35;
|
|
201
|
+
const extra = Math.ceil(letters * rate);
|
|
202
|
+
let pad = '';
|
|
203
|
+
if (letters <= 10)
|
|
204
|
+
pad = FILLER.slice(0, extra);
|
|
205
|
+
else
|
|
206
|
+
for (let used = 0; used < extra; used += 6)
|
|
207
|
+
pad += ' ' + FILLER.slice(used % 40, (used % 40) + 5);
|
|
208
|
+
return ['⟦', ...accented, pad + '⟧'];
|
|
209
|
+
}
|
|
210
|
+
/** The argument names a message reads, and for each plural or select argument its branch selectors. */
|
|
211
|
+
export function icuArguments(nodes) {
|
|
212
|
+
const names = new Set();
|
|
213
|
+
const branches = {};
|
|
214
|
+
const walk = (list) => {
|
|
215
|
+
for (const node of list) {
|
|
216
|
+
if (typeof node === 'string' || 'pound' in node)
|
|
217
|
+
continue;
|
|
218
|
+
names.add(node.arg);
|
|
219
|
+
if ('options' in node) {
|
|
220
|
+
branches[node.arg + ':' + node.kind] = [...new Set([...(branches[node.arg + ':' + node.kind] ?? []), ...Object.keys(node.options)])];
|
|
221
|
+
for (const key of Object.keys(node.options))
|
|
222
|
+
walk(node.options[key]);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
};
|
|
226
|
+
walk(nodes);
|
|
227
|
+
return { names: [...names].sort(), branches };
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=mcp-slate-ui-icu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-slate-ui-icu.js","sourceRoot":"","sources":["../src/mcp-slate-ui-icu.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which shipped locale a BCP 47 tag is spoken in: the one policy for the Design workspace screen and the browser page
|
|
3
|
+
* around it (CLAUDE.md item 9). By language; Chinese by script (Traditional for zh-TW, zh-HK, zh-MO and zh-Hant,
|
|
4
|
+
* Simplified otherwise) and Spanish by region (Spain's for es, es-ES and Spain's territories, Latin American for every
|
|
5
|
+
* other region). A language that is not shipped is English, the source. `en-XA`, the layout tests' pseudo-locale, is
|
|
6
|
+
* itself.
|
|
7
|
+
*
|
|
8
|
+
* SELF-CONTAINED ON PURPOSE (like `mcp-slate-ui-icu.ts`): both pages embed its source (`matchShippedLocale.toString()`),
|
|
9
|
+
* so it closes over nothing in this module, and its body holds no backtick or dollar-brace.
|
|
10
|
+
*/
|
|
11
|
+
export declare function matchShippedLocale(tag: string, shipped: readonly string[]): string;
|
|
12
|
+
//# sourceMappingURL=mcp-slate-ui-locale-match.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-slate-ui-locale-match.d.ts","sourceRoot":"","sources":["../src/mcp-slate-ui-locale-match.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAmBlF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which shipped locale a BCP 47 tag is spoken in: the one policy for the Design workspace screen and the browser page
|
|
3
|
+
* around it (CLAUDE.md item 9). By language; Chinese by script (Traditional for zh-TW, zh-HK, zh-MO and zh-Hant,
|
|
4
|
+
* Simplified otherwise) and Spanish by region (Spain's for es, es-ES and Spain's territories, Latin American for every
|
|
5
|
+
* other region). A language that is not shipped is English, the source. `en-XA`, the layout tests' pseudo-locale, is
|
|
6
|
+
* itself.
|
|
7
|
+
*
|
|
8
|
+
* SELF-CONTAINED ON PURPOSE (like `mcp-slate-ui-icu.ts`): both pages embed its source (`matchShippedLocale.toString()`),
|
|
9
|
+
* so it closes over nothing in this module, and its body holds no backtick or dollar-brace.
|
|
10
|
+
*/
|
|
11
|
+
export function matchShippedLocale(tag, shipped) {
|
|
12
|
+
const has = (candidate) => shipped.indexOf(candidate) >= 0;
|
|
13
|
+
if (tag === 'en-XA')
|
|
14
|
+
return 'en-XA';
|
|
15
|
+
let asked;
|
|
16
|
+
let full;
|
|
17
|
+
try {
|
|
18
|
+
asked = new Intl.Locale(tag);
|
|
19
|
+
full = asked.maximize();
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return 'en';
|
|
23
|
+
}
|
|
24
|
+
const pick = (candidate) => (has(candidate) ? candidate : 'en');
|
|
25
|
+
if (full.language === 'zh')
|
|
26
|
+
return pick(full.script === 'Hant' ? 'zh-TW' : 'zh-CN');
|
|
27
|
+
if (full.language === 'es') {
|
|
28
|
+
const spain = !asked.region || asked.region === 'ES' || asked.region === 'EA' || asked.region === 'IC';
|
|
29
|
+
return pick(spain ? 'es-ES' : 'es-419');
|
|
30
|
+
}
|
|
31
|
+
const byLanguage = { fr: 'fr-FR', de: 'de-DE', it: 'it-IT', pt: 'pt-BR', ja: 'ja-JP', ko: 'ko-KR', hi: 'hi-IN' };
|
|
32
|
+
return byLanguage[full.language] ? pick(byLanguage[full.language]) : 'en';
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=mcp-slate-ui-locale-match.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-slate-ui-locale-match.js","sourceRoot":"","sources":["../src/mcp-slate-ui-locale-match.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,OAA0B;IACxE,MAAM,GAAG,GAAG,CAAC,SAAiB,EAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5E,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IACpC,IAAI,KAAkB,CAAC;IACvB,IAAI,IAAiB,CAAC;IACtB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,SAAiB,EAAU,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChF,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACpF,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC;QACvG,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,UAAU,GAA2B,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IACzI,OAAO,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7E,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SlateUiMessages } from '../mcp-slate-ui-copy.js';
|
|
2
|
+
/**
|
|
3
|
+
* The Design workspace screen in German (de-DE): every key of the English catalogue (`mcp-slate-ui-copy.ts`).
|
|
4
|
+
* Drafted from the catalogue and its notes, back-translated blind by a separate pass, reviewed key by key against
|
|
5
|
+
* the English and the back-translation, and fixed; key parity and ICU structure are tested in
|
|
6
|
+
* mcp-slate-ui-locales.test.ts.
|
|
7
|
+
*/
|
|
8
|
+
export declare const DE_DE: SlateUiMessages;
|
|
9
|
+
//# sourceMappingURL=de-DE.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"de-DE.d.ts","sourceRoot":"","sources":["../../src/mcp-slate-ui-locales/de-DE.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,eAiNnB,CAAC"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Design workspace screen in German (de-DE): every key of the English catalogue (`mcp-slate-ui-copy.ts`).
|
|
3
|
+
* Drafted from the catalogue and its notes, back-translated blind by a separate pass, reviewed key by key against
|
|
4
|
+
* the English and the back-translation, and fixed; key parity and ICU structure are tested in
|
|
5
|
+
* mcp-slate-ui-locales.test.ts.
|
|
6
|
+
*/
|
|
7
|
+
export const DE_DE = {
|
|
8
|
+
"title": "Design-Arbeitsbereich",
|
|
9
|
+
"empty": "Es wurde kein abgeschlossener Entwurfslauf gefunden. Starte einen und öffne diese Ansicht danach erneut.",
|
|
10
|
+
"tabDesigns": "Designs",
|
|
11
|
+
"tabInspiration": "Inspiration",
|
|
12
|
+
"openWorkspace": "Arbeitsbereich öffnen",
|
|
13
|
+
"closeWorkspace": "Arbeitsbereich schließen",
|
|
14
|
+
"select": "Auswählen",
|
|
15
|
+
"selected": "Ausgewählt",
|
|
16
|
+
"edit": "Bearbeiten",
|
|
17
|
+
"branch": "Erweitern",
|
|
18
|
+
"convert": "Konvertieren",
|
|
19
|
+
"generate": "Generieren",
|
|
20
|
+
"apply": "Anwenden",
|
|
21
|
+
"send": "Senden",
|
|
22
|
+
"search": "Suchen",
|
|
23
|
+
"resume": "Fortsetzen",
|
|
24
|
+
"cancel": "Abbrechen",
|
|
25
|
+
"clear": "Löschen",
|
|
26
|
+
"undo": "Rückgängig",
|
|
27
|
+
"change": "Ändern",
|
|
28
|
+
"continueRound": "Weiter",
|
|
29
|
+
"generateMore": "Mehr generieren",
|
|
30
|
+
"moreHelpFresh": "Erstellt neue Optionen aus neuen Referenzen.",
|
|
31
|
+
"moreHelpSelected": "Erstellt neue Optionen aus deiner ausgewählten Inspiration.",
|
|
32
|
+
"moreHelpLike": "Erstellt Optionen, die nah an {label} bleiben.",
|
|
33
|
+
"moreBasedOn": "Basierend auf {label}",
|
|
34
|
+
"moreLikeUnavailable": "Diese Version hat kein Bild als Grundlage.",
|
|
35
|
+
"moreInspirationLabel": "Inspiration",
|
|
36
|
+
"removeReference": "{name} entfernen",
|
|
37
|
+
"moreNotePlaceholder": "Beschreibe, wie sich die neuen Optionen unterscheiden sollen (optional)",
|
|
38
|
+
"moreCountLabel": "Wie viele",
|
|
39
|
+
"pauseLabel": "Vor dem Erstellen",
|
|
40
|
+
"pauseCountdown": "Start in {n} s. Ändere eine Referenz oder klicke auf Weiter.",
|
|
41
|
+
"pauseHeld": "Pausiert. Klicke auf Weiter, wenn du bereit bist.",
|
|
42
|
+
"pauseStarting": "Start läuft.",
|
|
43
|
+
"pauseDrawsFrom": "Option {label} wird aus dieser Referenz erstellt.",
|
|
44
|
+
"pauseReferenceFor": "Referenz für {label}",
|
|
45
|
+
"pauseNoReference": "Noch keine Referenz. Wähle eine unter Inspiration aus.",
|
|
46
|
+
"pauseNone": "Wähle mindestens eine Referenz aus.",
|
|
47
|
+
"pauseAtMost": "Höchstens {n}, eine pro Option.",
|
|
48
|
+
"pauseFrom": "{m, plural, one {Jede Option wird aus # Referenz erstellt.} other {{n} Optionen werden der Reihe nach aus # Referenzen erstellt.}}",
|
|
49
|
+
"scribbleHint": "Zeichne auf das Bild, um die Stelle zu zeigen. Ein X oder ein Kreis genügt.",
|
|
50
|
+
"editAria": "Bearbeitungsanweisung",
|
|
51
|
+
"editPlaceholder": "Optional, wenn du auf das Bild gezeichnet hast. Zum Beispiel: Mach die Überschrift größer.",
|
|
52
|
+
"editHelp": "Wendet die Änderung auf {label} an und speichert das Ergebnis als neue Version.",
|
|
53
|
+
"editHelpMarks": "Nur Markierungen: Die Änderung wird aus deiner Zeichnung abgeleitet.",
|
|
54
|
+
"editTooLong": "Diese Anweisung ist zu lang. Kürze sie um {n, plural, one {# Zeichen} other {# Zeichen}}.",
|
|
55
|
+
"branchAria": "Was erstellt werden soll",
|
|
56
|
+
"branchPlaceholder": "Optional. Welche Seiten oder Zustände hinzukommen sollen, zum Beispiel Preise, Anmeldung und Einstellungen.",
|
|
57
|
+
"branchHelp": "Dein Agent erweitert dieses Design um weitere Seiten und App-Zustände.",
|
|
58
|
+
"convertLabel": "Format",
|
|
59
|
+
"serviceGroup": "12ui-Dienst",
|
|
60
|
+
"qualityLabel": "Qualität",
|
|
61
|
+
"qualityHelp": "Höhere Qualität dauert länger.",
|
|
62
|
+
"fast": "Schnell",
|
|
63
|
+
"standard": "Standard",
|
|
64
|
+
"pro": "Pro",
|
|
65
|
+
"widthLabel": "Breite",
|
|
66
|
+
"widthPlaceholder": "Pixel",
|
|
67
|
+
"widthHelp": "Optional. Ausgabebreite in Pixeln; bleibt das Feld leer, wird die Originalgröße beibehalten.",
|
|
68
|
+
"layoutsLabel": "Layouts",
|
|
69
|
+
"layoutsHelp": "Wie sorgfältig sich die Layouts an andere Bildschirmgrößen anpassen.",
|
|
70
|
+
"inspirationLabel": "Inspiration durchsuchen",
|
|
71
|
+
"inspirationPlaceholder": "Welchen Stil suchst du?",
|
|
72
|
+
"inspirationEmpty": "Suche nach einem Stil, um Referenzen für deine nächsten Optionen auszuwählen.",
|
|
73
|
+
"inspirationNoMatches": "Keine Treffer. Versuche andere Wörter.",
|
|
74
|
+
"searching": "Suche läuft.",
|
|
75
|
+
"eightAtMost": "Höchstens acht.",
|
|
76
|
+
"searchFailed": "Suche fehlgeschlagen: {message}",
|
|
77
|
+
"tryAgain": "Versuche es in {n, plural, one {# Sekunde} other {# Sekunden}} erneut.",
|
|
78
|
+
"queryFrom": "Das sind die Suchbegriffe aus {count, plural, one {Runde {rounds}} other {Runden {rounds}}}.",
|
|
79
|
+
"queryNewestOthers": "Die neuesten Suchbegriffe, aus {count, plural, one {Runde {rounds}} other {Runden {rounds}}}. In {otherCount, plural, one {Runde {others}} other {Runden {others}}} wurde nach anderen Begriffen gesucht.",
|
|
80
|
+
"queryLastSearch": "Deine letzte Suche.",
|
|
81
|
+
"queryCut": "Eine Suche berücksichtigt die ersten {n} Zeichen.",
|
|
82
|
+
"resultsMax": "{n, plural, one {# Ergebnis} other {# Ergebnisse}}, mehr liefert eine Suche nicht.",
|
|
83
|
+
"resultsCount": "{n, plural, one {# Ergebnis.} other {# Ergebnisse.}}",
|
|
84
|
+
"usedIn": "Verwendet in {places}",
|
|
85
|
+
"usedPlace": "{options, plural, =0 {Runde {round}} one {Runde {round}, Option {labels}} other {Runde {round}, Optionen {labels}}}",
|
|
86
|
+
"usedSeparator": "; ",
|
|
87
|
+
"selectionDraws": "{m, plural, one {# Referenz ausgewählt. Daraus werden {n} neue Optionen erstellt.} other {# Referenzen ausgewählt. Daraus werden {n} neue Optionen erstellt.}}",
|
|
88
|
+
"roundRunning": "Warte, bis die laufende Runde abgeschlossen ist.",
|
|
89
|
+
"roundHeading": "Runde {n}",
|
|
90
|
+
"likeTitle": "Wie {label}",
|
|
91
|
+
"newOptionsTitle": "Neue Optionen",
|
|
92
|
+
"optionName": "Option {label}",
|
|
93
|
+
"optionNameFailed": "Option {label}, fehlgeschlagen",
|
|
94
|
+
"versionName": "Version {label}",
|
|
95
|
+
"versionTitle": "{label}: {prompt}",
|
|
96
|
+
"versionTitleMarks": "{label}: nur gezeichnete Markierungen",
|
|
97
|
+
"referenceName": "Referenz {description}",
|
|
98
|
+
"optionsGroup": "Optionen",
|
|
99
|
+
"fileMissing": "Datei fehlt auf diesem Mac",
|
|
100
|
+
"fileChanged": "Diese Datei wurde auf dem Datenträger geändert",
|
|
101
|
+
"recording": "Wird ausgewählt …",
|
|
102
|
+
"selectedLine": "{label} ausgewählt. Dein Agent wurde informiert.",
|
|
103
|
+
"selectedRefused": "{label} ausgewählt und gespeichert, aber der Host hat die Nachricht nicht übernommen: {detail}",
|
|
104
|
+
"couldNotSelect": "Auswahl nicht möglich: {detail}",
|
|
105
|
+
"pickMissing": "Das gewählte Bild fehlt auf diesem Mac. Wähle es erneut aus.",
|
|
106
|
+
"pickChanged": "Das gewählte Bild wurde auf dem Datenträger geändert. Wähle eine andere Version aus.",
|
|
107
|
+
"sent": "An deinen Agent gesendet.",
|
|
108
|
+
"sentRefused": "Anfrage gespeichert, aber der Host hat die Nachricht nicht übernommen: {detail}",
|
|
109
|
+
"designing": "Designs werden erstellt.",
|
|
110
|
+
"designingProgress": "Designs werden erstellt. {n} von {m} fertig.",
|
|
111
|
+
"editing": "{label} wird bearbeitet.",
|
|
112
|
+
"interrupted": "Die Arbeit wurde vor dem Abschluss beendet.",
|
|
113
|
+
"sentenceJoin": "{first} {second}",
|
|
114
|
+
"markFailed": "Die Markierungen konnten nicht auf das Bild gezeichnet werden: {detail}",
|
|
115
|
+
"markReadFailed": "das Bild konnte nicht gelesen werden",
|
|
116
|
+
"markNoCanvas": "es ist keine Zeichenfläche verfügbar",
|
|
117
|
+
"markNoSize": "das Bild hat keine Größe",
|
|
118
|
+
"markNoJpeg": "die Zeichenfläche konnte das Bild nicht exportieren",
|
|
119
|
+
"markTooLarge": "das markierte Bild wäre zu groß",
|
|
120
|
+
"noConnection": "Verbindung zum Host nicht möglich: {detail}",
|
|
121
|
+
"needsHost": "Diese Ansicht benötigt einen Host, der Apps anzeigen kann. Öffne sie dort, wo ui://-Ressourcen dargestellt werden.",
|
|
122
|
+
"toolError": "Das Tool hat einen Fehler zurückgegeben.",
|
|
123
|
+
"toolErrorDetail": "Das Tool hat einen Fehler zurückgegeben: {detail}",
|
|
124
|
+
"toolFailed": "Das Tool ist fehlgeschlagen.",
|
|
125
|
+
"toolCancelled": "Der Tool-Aufruf wurde abgebrochen: {detail}",
|
|
126
|
+
"toolCancelledNoReason": "Der Tool-Aufruf wurde abgebrochen.",
|
|
127
|
+
"requestFailed": "Die Anfrage ist fehlgeschlagen.",
|
|
128
|
+
"pictureNotReturned": "Es kam kein Bild zurück.",
|
|
129
|
+
"noView": "Das Tool-Ergebnis enthält keinen Arbeitsbereich.",
|
|
130
|
+
"formatAssets": "Assets",
|
|
131
|
+
"formatResponsiveHtml": "Responsives HTML",
|
|
132
|
+
"formatFixedHtml": "HTML mit fester Breite",
|
|
133
|
+
"convertHelpLocalHtml": "Bearbeitbares HTML und CSS, auf diesem Mac erstellt.",
|
|
134
|
+
"convertHelpLocalReact": "Bearbeitbare React-Komponenten und CSS, auf diesem Mac erstellt.",
|
|
135
|
+
"convertHelpLocalAssets": "Die Bilder des Designs als einzelne Dateien, auf diesem Mac freigestellt.",
|
|
136
|
+
"convertHelpServiceHtml": "Responsives HTML, das sich an Bildschirmbreiten anpasst, erstellt von 12ui.",
|
|
137
|
+
"convertHelpServiceLayerdoc": "Ein bearbeitbares Dokument mit Ebenen, erstellt von 12ui.",
|
|
138
|
+
"convertHelpServiceHtmlFixed": "HTML mit fester Breite, das dem Bild entspricht, erstellt von 12ui.",
|
|
139
|
+
"convertHelpServiceSvg": "Eine SVG-Vektorgrafik, erstellt von 12ui.",
|
|
140
|
+
"convertHelpServicePng": "Ein PNG-Bild in der gewählten Breite, erstellt von 12ui.",
|
|
141
|
+
"convertHelpServiceJpg": "Ein JPG-Bild in der gewählten Breite, erstellt von 12ui.",
|
|
142
|
+
"convertHelpServiceWebp": "Ein WebP-Bild in der gewählten Breite, erstellt von 12ui.",
|
|
143
|
+
"convertHelpServicePdf": "Eine PDF-Datei mit bearbeitbaren Ebenen, erstellt von 12ui.",
|
|
144
|
+
"convertHelpServicePsd": "Eine PSD-Datei mit bearbeitbaren Ebenen, erstellt von 12ui.",
|
|
145
|
+
"convertHelpServicePptx": "Eine PowerPoint-Datei mit bearbeitbaren Ebenen, erstellt von 12ui.",
|
|
146
|
+
"convertHelpServiceSketch": "Eine Sketch-Datei mit bearbeitbaren Ebenen, erstellt von 12ui.",
|
|
147
|
+
"convertHelpRemoteHtml": "Dein Agent erstellt in deinem Projekt bearbeitbares HTML aus diesem Bild.",
|
|
148
|
+
"convertHelpRemoteReact": "Dein Agent erstellt in deinem Projekt React-Komponenten aus diesem Bild.",
|
|
149
|
+
"browserSessionEnded": "Die Sitzung wurde beendet",
|
|
150
|
+
"browserRunAgain": "Führe den Befehl erneut aus, um den Arbeitsbereich wieder zu öffnen.",
|
|
151
|
+
"browserNotRunning": "Die 12ui-Sitzung läuft nicht.",
|
|
152
|
+
"browserChoiceSent": "Auswahl gesendet",
|
|
153
|
+
"browserRequestSent": "Anfrage gesendet",
|
|
154
|
+
"browserAgentHasIt": "Dein Agent hat sie erhalten. Du kannst diesen Tab schließen.",
|
|
155
|
+
"browserSessionAnswered": "Die Sitzung hat mit dem Code {status} geantwortet.",
|
|
156
|
+
"server.unknown_workspace": "Dieser Design-Arbeitsbereich ist nicht verfügbar. Bitte deinen Agent, einen neuen zu öffnen.",
|
|
157
|
+
"server.unknown_version": "Diese Option gehört nicht zu diesem Arbeitsbereich.",
|
|
158
|
+
"server.unknown_reference": "Diese Referenz gehört nicht zu diesem Arbeitsbereich.",
|
|
159
|
+
"server.unknown_op": "Diese Anfrage gehört nicht zu diesem Arbeitsbereich.",
|
|
160
|
+
"server.intent_conflict": "Diese Anfrage wurde bereits für etwas anderes verwendet. Versuche es erneut.",
|
|
161
|
+
"server.too_many_open_requests": "{count, plural, one {# Anfrage wartet} other {# Anfragen warten}} bereits auf deinen Agent.",
|
|
162
|
+
"server.op_already_resolved": "Diese Anfrage wurde bereits beantwortet.",
|
|
163
|
+
"server.workspace_full": "Dieser Arbeitsbereich ist voll. Öffne einen neuen.",
|
|
164
|
+
"server.workspace_busy": "Der Arbeitsbereich ist ausgelastet. Versuche es gleich noch einmal.",
|
|
165
|
+
"server.payload_too_large": "Das Bild ist zu groß zum Senden.",
|
|
166
|
+
"server.state_invalid": "Die Aufzeichnung dieses Arbeitsbereichs ist beschädigt. Öffne einen neuen.",
|
|
167
|
+
"server.service_unavailable": "Der Arbeitsbereich-Dienst ist nicht verfügbar. Versuche es in Kürze erneut.",
|
|
168
|
+
"server.candidate_busy": "Option {label} ist noch mit einer früheren Aufgabe beschäftigt.",
|
|
169
|
+
"server.rate_limited": "Zu viele Anfragen. Versuche es in {seconds, plural, one {# Sekunde} other {# Sekunden}} erneut.",
|
|
170
|
+
"server.agent_no_response": "Dein Agent hat die Optionen nicht hinzugefügt. Frage ihn erneut.",
|
|
171
|
+
"server.agent_failed": "Dein Agent konnte dies nicht erstellen: {reason}",
|
|
172
|
+
"server.corpus_unavailable": "Die Referenzsammlung ist nicht erreichbar. Versuche es in Kürze erneut.",
|
|
173
|
+
"server.result_too_large": "Dieses Bild ist zu groß, um hier angezeigt zu werden.",
|
|
174
|
+
"server.concept_too_long": "Briefing und Hinweis zusammen sind zu lang. Kürze den Hinweis.",
|
|
175
|
+
"server.note_too_long": "Ein Hinweis darf höchstens {max, plural, one {# Zeichen} other {# Zeichen}} lang sein.",
|
|
176
|
+
"server.explanation_too_long": "Eine Beschreibung darf höchstens {max, plural, one {# Zeichen} other {# Zeichen}} lang sein.",
|
|
177
|
+
"server.edit_prompt_too_long": "Diese Anweisung ist zu lang. Kürze sie und wende sie dann erneut an.",
|
|
178
|
+
"server.edit_needs_input": "Zeichne auf das Bild oder beschreibe, was sich ändern soll.",
|
|
179
|
+
"server.search_empty": "Gib einen Suchbegriff ein.",
|
|
180
|
+
"server.selection_max": "Es können höchstens {max} Referenzen ausgewählt werden.",
|
|
181
|
+
"server.draw_no_image": "Codex hat für diese Option kein Bild zurückgegeben.",
|
|
182
|
+
"server.draw_protocol": "Codex hat für diese Option mehr als ein Bild erstellt.",
|
|
183
|
+
"server.draw_timeout": "Codex hat für diese Option zu lange gebraucht.",
|
|
184
|
+
"server.draw_inputs_changed": "Diese Option wurde auf diesem Mac mit anderen Eingaben erstellt und kann hier nicht erneut erstellt werden.",
|
|
185
|
+
"server.draw_codex_unavailable": "Codex kann auf diesem Mac nichts erstellen, und das Erstellen über 12ui erfordert eine 12ui-Anmeldung.",
|
|
186
|
+
"server.codex_missing": "Codex ist auf diesem Mac nicht installiert. Installiere Codex und versuche es dann erneut.",
|
|
187
|
+
"server.codex_broken": "Codex konnte auf diesem Mac nicht gestartet werden. Installiere Codex neu oder aktualisiere es und versuche es dann erneut.",
|
|
188
|
+
"server.codex_signed_out": "Du bist in Codex auf diesem Mac nicht angemeldet. Melde dich in Codex an und versuche es dann erneut.",
|
|
189
|
+
"server.codex_api_key": "Codex ist mit einem API-Schlüssel angemeldet. Melde dich stattdessen mit deinem ChatGPT-Konto an.",
|
|
190
|
+
"server.codex_login_unknown": "Codex konnte die Anmeldung nicht bestätigen. Melde dich erneut in Codex an und versuche es dann noch einmal.",
|
|
191
|
+
"server.codex_outdated": "Diese Version von Codex ist zu alt, um hier etwas zu erstellen. Aktualisiere Codex und versuche es dann erneut.",
|
|
192
|
+
"server.codex_model_missing": "Codex hat das Bildmodell für dieses Konto nicht geladen. Öffne Codex einmal und versuche es dann erneut.",
|
|
193
|
+
"server.codex_images_off": "Die Bilderzeugung ist in Codex ausgeschaltet. Schalte sie ein und versuche es dann erneut.",
|
|
194
|
+
"server.codex_not_ready": "Codex ist auf diesem Mac nicht bereit zum Erstellen.",
|
|
195
|
+
"server.file_missing": "Die Datei dieser Version fehlt auf diesem Mac.",
|
|
196
|
+
"server.file_changed": "Die Datei dieser Version wurde auf dem Datenträger geändert.",
|
|
197
|
+
"server.option_not_drawn": "Diese Option konnte nicht erstellt werden.",
|
|
198
|
+
"server.image_no_return": "Für diese Option kam kein Bild zurück.",
|
|
199
|
+
"server.image_call_running": "Dieses Bild wird bereits erstellt.",
|
|
200
|
+
"server.image_inputs_changed": "Dieses Bild wurde mit anderen Eingaben gestartet.",
|
|
201
|
+
"server.inspiration_fetch_failed": "Das Inspirationsbild konnte nicht abgerufen werden.",
|
|
202
|
+
"server.no_option_drawn": "Es konnte keine Option erstellt werden.",
|
|
203
|
+
"server.source_changed": "Das Bild, von dem diese Runde ausging, hat sich nach dem Klick geändert.",
|
|
204
|
+
"server.source_missing": "Die Version, an der sich diese Runde orientiert, ist nicht im Arbeitsbereich.",
|
|
205
|
+
"server.reference_too_large": "Das Bild ist zu groß für eine Referenzsuche.",
|
|
206
|
+
"server.no_fresh_references": "Die meisten passenden Referenzen wurden in früheren Runden verwendet. Wähle Inspiration aus oder füge einen Hinweis hinzu.",
|
|
207
|
+
"server.search_limit": "Die Referenzsuche hat vorerst ihr Limit erreicht. Versuche es später erneut.",
|
|
208
|
+
"server.round_limit": "Dieser Arbeitsbereich hat sein Rundenlimit erreicht.",
|
|
209
|
+
"server.concept_over_limit": "Briefing und Hinweis zusammen umfassen {count} Zeichen; höchstens {max} sind möglich. Kürze den Hinweis um {over, plural, one {# Zeichen} other {# Zeichen}}.",
|
|
210
|
+
"server.superseded": "Eine neuere Aktion für diese Option hat diese ersetzt.",
|
|
211
|
+
"server.not_resumable": "Diese Arbeit wartet nicht darauf, fortgesetzt zu werden.",
|
|
212
|
+
"server.approval_missing": "Diese Arbeit kann nicht fortgesetzt werden: Die dafür erteilte Freigabe fehlt auf diesem Mac.",
|
|
213
|
+
"server.approval_mismatch": "Diese Arbeit kann nicht fortgesetzt werden: Sie entspricht nicht mehr der erteilten Freigabe.",
|
|
214
|
+
"server.runner_not_started": "Der Hintergrundprozess wurde nicht gestartet: {detail}",
|
|
215
|
+
"server.image_too_large": "Dieses Bild ist zu groß, um hier angezeigt zu werden. Öffne stattdessen die Datei.",
|
|
216
|
+
};
|
|
217
|
+
//# sourceMappingURL=de-DE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"de-DE.js","sourceRoot":"","sources":["../../src/mcp-slate-ui-locales/de-DE.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SlateUiMessages } from '../mcp-slate-ui-copy.js';
|
|
2
|
+
/**
|
|
3
|
+
* The Design workspace screen in Latin American Spanish (es-419): every key of the English catalogue (`mcp-slate-ui-copy.ts`).
|
|
4
|
+
* Drafted from the catalogue and its notes, back-translated blind by a separate pass, reviewed key by key against
|
|
5
|
+
* the English and the back-translation, and fixed; key parity and ICU structure are tested in
|
|
6
|
+
* mcp-slate-ui-locales.test.ts.
|
|
7
|
+
*/
|
|
8
|
+
export declare const ES_419: SlateUiMessages;
|
|
9
|
+
//# sourceMappingURL=es-419.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"es-419.d.ts","sourceRoot":"","sources":["../../src/mcp-slate-ui-locales/es-419.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,eAiNpB,CAAC"}
|