@cardenelabs/cdl 0.57.1 → 0.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -87,6 +87,7 @@ import {
87
87
  ShapeCustomerServiceNode,
88
88
  } from "../kinds/shape-people";
89
89
  import type { LaidNode } from "../types";
90
+ import type { CdlLang } from "../lang";
90
91
  import { hasUnresolvedRef, interpolate, resolveNumericAttr } from "./utils";
91
92
 
92
93
  /**
@@ -115,9 +116,12 @@ export function CdlNodeView({
115
116
  currentPhaseId,
116
117
  chartLineScale,
117
118
  関係の受け口,
119
+ lang,
118
120
  }: {
119
121
  node: LaidNode;
120
122
  active: boolean;
123
+ /** 描画側の固定の字の言語 (#847)。 字を持つ形の部品へ渡す。 渡さない呼び方は英語で描く */
124
+ lang?: CdlLang;
121
125
  /**
122
126
  * この phase の `draw` に載っているか (cdl#512)。 true の間だけ、 対象の種別が
123
127
  * phase の進み (`progress`) に合わせて左の起点から描かれる。
@@ -353,11 +357,11 @@ export function CdlNodeView({
353
357
  case "shape-window":
354
358
  return <ShapeWindowNode node={resolvedNode} active={active} />;
355
359
  case "shape-terminal":
356
- return <ShapeTerminalNode node={resolvedNode} active={active} />;
360
+ return <ShapeTerminalNode node={resolvedNode} active={active} lang={lang} />;
357
361
  case "shape-code-block":
358
- return <ShapeCodeBlockNode node={resolvedNode} active={active} />;
362
+ return <ShapeCodeBlockNode node={resolvedNode} active={active} lang={lang} />;
359
363
  case "shape-kanban-card":
360
- return <ShapeKanbanCardNode node={resolvedNode} active={active} />;
364
+ return <ShapeKanbanCardNode node={resolvedNode} active={active} lang={lang} />;
361
365
  case "shape-message-bubble":
362
366
  return <ShapeMessageBubbleNode node={resolvedNode} active={active} />;
363
367
  case "shape-gear":
@@ -375,11 +379,11 @@ export function CdlNodeView({
375
379
  case "shape-satellite":
376
380
  return <ShapeSatelliteNode node={resolvedNode} active={active} />;
377
381
  case "shape-smart-contract":
378
- return <ShapeSmartContractNode node={resolvedNode} active={active} />;
382
+ return <ShapeSmartContractNode node={resolvedNode} active={active} lang={lang} />;
379
383
  case "shape-blockchain-block":
380
- return <ShapeBlockchainBlockNode node={resolvedNode} active={active} />;
384
+ return <ShapeBlockchainBlockNode node={resolvedNode} active={active} lang={lang} />;
381
385
  case "shape-rpc-node":
382
- return <ShapeRpcNodeNode node={resolvedNode} active={active} />;
386
+ return <ShapeRpcNodeNode node={resolvedNode} active={active} lang={lang} />;
383
387
  case "shape-wallet":
384
388
  return <ShapeWalletNode node={resolvedNode} active={active} />;
385
389
  case "shape-nft":
@@ -397,29 +401,29 @@ export function CdlNodeView({
397
401
  case "shape-bank":
398
402
  return <ShapeBankNode node={resolvedNode} active={active} />;
399
403
  case "shape-trust-bank":
400
- return <ShapeTrustBankNode node={resolvedNode} active={active} />;
404
+ return <ShapeTrustBankNode node={resolvedNode} active={active} lang={lang} />;
401
405
  case "shape-payment-provider":
402
- return <ShapePaymentProviderNode node={resolvedNode} active={active} />;
406
+ return <ShapePaymentProviderNode node={resolvedNode} active={active} lang={lang} />;
403
407
  case "shape-credit-card":
404
408
  return <ShapeCreditCardNode node={resolvedNode} active={active} />;
405
409
  case "shape-brokerage":
406
- return <ShapeBrokerageNode node={resolvedNode} active={active} />;
410
+ return <ShapeBrokerageNode node={resolvedNode} active={active} lang={lang} />;
407
411
  case "shape-exchange":
408
- return <ShapeExchangeNode node={resolvedNode} active={active} />;
412
+ return <ShapeExchangeNode node={resolvedNode} active={active} lang={lang} />;
409
413
  case "shape-atm":
410
- return <ShapeAtmNode node={resolvedNode} active={active} />;
414
+ return <ShapeAtmNode node={resolvedNode} active={active} lang={lang} />;
411
415
  case "shape-website":
412
416
  return <ShapeWebsiteNode node={resolvedNode} active={active} />;
413
417
  case "shape-storefront":
414
- return <ShapeStorefrontNode node={resolvedNode} active={active} />;
418
+ return <ShapeStorefrontNode node={resolvedNode} active={active} lang={lang} />;
415
419
  case "shape-warehouse":
416
- return <ShapeWarehouseNode node={resolvedNode} active={active} />;
420
+ return <ShapeWarehouseNode node={resolvedNode} active={active} lang={lang} />;
417
421
  case "shape-online-shop":
418
422
  return <ShapeOnlineShopNode node={resolvedNode} active={active} />;
419
423
  case "shape-cdn-edge":
420
424
  return <ShapeCdnEdgeNode node={resolvedNode} active={active} />;
421
425
  case "shape-api-gateway":
422
- return <ShapeApiGatewayNode node={resolvedNode} active={active} />;
426
+ return <ShapeApiGatewayNode node={resolvedNode} active={active} lang={lang} />;
423
427
  case "shape-auditor":
424
428
  return <ShapeAuditorNode node={resolvedNode} active={active} />;
425
429
  case "shape-regulator":
@@ -426,6 +426,8 @@ export function CdlStage({
426
426
  <CdlNodeView
427
427
  node={node}
428
428
  active={activeSet.has(node.id)}
429
+ // 描画側の固定の字の言語 (#847)。 `layout` が既定以外の時だけ `lang` を持たせる
430
+ lang={laid.lang}
429
431
  関係の受け口={箱の受け口}
430
432
  drawing={描く}
431
433
  progress={描く ? 描く進み : progress}
package/src/types.ts CHANGED
@@ -5,6 +5,7 @@ import type {
5
5
  SequenceBoardMessage,
6
6
  SequenceBoardMessageKind,
7
7
  } from "./kinds/sequence-board-metrics";
8
+ import type { CdlLang } from "./lang";
8
9
 
9
10
  export type {
10
11
  SequenceBoardActor,
@@ -2613,6 +2614,15 @@ export type CdlDiagram = {
2613
2614
  * 既定の図にも当たる。
2614
2615
  */
2615
2616
  palette?: string;
2617
+ /**
2618
+ * 描画側が書く固定の字を、どの言語で描くか (#847)。 書かない図は `"en"` で描く。
2619
+ *
2620
+ * 引き替わるのは描画側が持つ字 (形の看板 / 絵の中の見本の値 / 行の名前) だけで、書き手の字
2621
+ * (`title` / `subtitle` / 札) は変わらない。 字の一覧は `src/lang.ts` が持つ。
2622
+ *
2623
+ * 型の外の値は `layout` が既定に落とす (記法から文字列で届く場合の書き損じ)。
2624
+ */
2625
+ lang?: CdlLang;
2616
2626
  /**
2617
2627
  * この図がどの種類か (#645)。 書かない図は種類を持たない。
2618
2628
  *
@@ -2840,6 +2850,11 @@ export type LaidDiagram = {
2840
2850
  topic: string;
2841
2851
  /** どの配色で描くか (#1553)。 `CdlDiagram.palette` をそのまま持ち越す */
2842
2852
  palette?: string;
2853
+ /**
2854
+ * 描画側の固定の字の言語 (#847)。 `CdlDiagram.lang` を既定以外の時だけ持ち越す。
2855
+ * 無い時は `"en"` で描く。
2856
+ */
2857
+ lang?: CdlLang;
2843
2858
  /** どの種類の図か (#645)。 `CdlDiagram.type` をそのまま持ち越す */
2844
2859
  type?: string;
2845
2860
  viewBox: { x: number; y: number; w: number; h: number };