@pascal-app/editor 1.0.7 → 1.1.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.
Files changed (136) hide show
  1. package/package.json +7 -7
  2. package/src/components/editor/custom-camera-controls.tsx +90 -34
  3. package/src/components/editor/duplicate-node.ts +2 -1
  4. package/src/components/editor/first-person-controls.tsx +5 -7
  5. package/src/components/editor/fit-scene-framing.test.ts +318 -0
  6. package/src/components/editor/fit-scene-framing.ts +142 -0
  7. package/src/components/editor/floating-action-menu.tsx +4 -2
  8. package/src/components/editor/floor-openings-overlay.tsx +1 -1
  9. package/src/components/editor/floor-region-controls.tsx +2 -2
  10. package/src/components/editor/floorplan-panel.tsx +173 -8
  11. package/src/components/editor/floorplan-wall-typing-keys.test.tsx +152 -0
  12. package/src/components/editor/floorplan-wall-typing-keys.ts +79 -0
  13. package/src/components/editor/footprint-height-handle.tsx +1 -1
  14. package/src/components/editor/group-transform-shared.ts +3 -1
  15. package/src/components/editor/index.tsx +20 -0
  16. package/src/components/editor/measurement-pill.tsx +1 -1
  17. package/src/components/editor/node-arrow-handles.tsx +1 -1
  18. package/src/components/editor/open-wall-ends-3d-layer.tsx +1 -2
  19. package/src/components/editor/open-wall-ends-hint.tsx +1 -1
  20. package/src/components/editor/quick-measurement-card.tsx +1 -1
  21. package/src/components/editor/room-controls.tsx +3 -2
  22. package/src/components/editor/room-handles-2d.tsx +2 -1
  23. package/src/components/editor/room-handles.tsx +3 -3
  24. package/src/components/editor/room-labels.tsx +4 -2
  25. package/src/components/editor/site-edge-labels.tsx +6 -2
  26. package/src/components/editor/wall-measurement-label.tsx +30 -14
  27. package/src/components/editor/wall-move-side-handles.tsx +10 -6
  28. package/src/components/editor/wall-region-handles.tsx +2 -2
  29. package/src/components/editor/wall-snap-beacon-layer.tsx +53 -32
  30. package/src/components/editor-2d/floorplan-group-move.tsx +1 -1
  31. package/src/components/editor-2d/floorplan-measurement-tool-layer.tsx +12 -12
  32. package/src/components/editor-2d/floorplan-open-wall-ends-layer.tsx +1 -2
  33. package/src/components/editor-2d/floorplan-registry-action-menu.tsx +2 -1
  34. package/src/components/editor-2d/floorplan-registry-move-overlay.tsx +22 -4
  35. package/src/components/editor-2d/renderers/floorplan-draft-measurement.tsx +7 -1
  36. package/src/components/editor-2d/renderers/floorplan-placement-preview-layer.tsx +13 -1
  37. package/src/components/editor-2d/renderers/floorplan-placement-typing-hud.test.tsx +35 -0
  38. package/src/components/editor-2d/renderers/floorplan-placement-typing-hud.tsx +65 -0
  39. package/src/components/editor-2d/renderers/floorplan-registry-layer.test.ts +22 -0
  40. package/src/components/editor-2d/renderers/floorplan-registry-layer.tsx +14 -2
  41. package/src/components/systems/roof/roof-edit-system.test.tsx +15 -1
  42. package/src/components/systems/roof/roof-edit-system.tsx +30 -19
  43. package/src/components/tools/distribution/distribution-run-tool.test.tsx +371 -3
  44. package/src/components/tools/distribution/distribution-run-tool.tsx +150 -32
  45. package/src/components/tools/item/move-tool.tsx +1 -6
  46. package/src/components/tools/item/use-placement-coordinator.tsx +1 -1
  47. package/src/components/tools/paint-region/wall-paint-region-tool.tsx +1 -1
  48. package/src/components/tools/registry/move-registry-node-tool.test.ts +42 -1
  49. package/src/components/tools/registry/move-registry-node-tool.tsx +38 -14
  50. package/src/components/tools/shared/placement-box.tsx +1 -5
  51. package/src/components/tools/shared/placement-coordinate-input.tsx +94 -0
  52. package/src/components/tools/shared/segment-angle.ts +0 -4
  53. package/src/components/tools/tool-manager.tsx +1 -24
  54. package/src/components/tools/wall/wall-typed-entry.test.ts +99 -0
  55. package/src/components/tools/wall/wall-typed-entry.ts +70 -0
  56. package/src/components/ui/controls/slider-control.tsx +18 -6
  57. package/src/components/ui/controls/tool-options-panel.tsx +74 -44
  58. package/src/components/ui/helpers/helper-manager.test.tsx +53 -0
  59. package/src/components/ui/helpers/helper-manager.tsx +54 -0
  60. package/src/components/ui/panels/floor-foundation-panel.tsx +1 -1
  61. package/src/components/ui/panels/floor-opening-panel.tsx +1 -1
  62. package/src/components/ui/panels/mobile-selection-bar.tsx +28 -24
  63. package/src/components/ui/panels/multi-height-mode.tsx +3 -3
  64. package/src/components/ui/panels/multi-selection-panel.tsx +1 -1
  65. package/src/components/ui/panels/panel-manager.tsx +4 -2
  66. package/src/components/ui/panels/panel-wrapper.tsx +41 -18
  67. package/src/components/ui/panels/room-construction-rows.tsx +1 -1
  68. package/src/components/ui/panels/room-openings-field.tsx +1 -1
  69. package/src/components/ui/panels/room-panel.tsx +1 -1
  70. package/src/components/ui/right-stack.test.ts +13 -6
  71. package/src/components/ui/right-stack.tsx +21 -10
  72. package/src/components/ui/sidebar/panels/settings-panel/load-build-dialog.tsx +1 -5
  73. package/src/components/ui/sidebar/panels/site-panel/ceiling-tree-node.tsx +1 -1
  74. package/src/components/ui/sidebar/panels/site-panel/index.tsx +1 -8
  75. package/src/components/ui/sidebar/panels/site-panel/slab-tree-node.tsx +1 -1
  76. package/src/components/ui/sidebar/panels/site-panel/zone-tree-node.tsx +1 -1
  77. package/src/components/ui/wall-type/wall-type-editor-dialog.tsx +1 -1
  78. package/src/components/viewer/viewer-rooms.tsx +1 -1
  79. package/src/i18n/locales/en/messages.po +856 -124
  80. package/src/i18n/locales/en/messages.ts +1 -1
  81. package/src/i18n/locales/en-XA/messages.ts +1 -1
  82. package/src/i18n/locales/es/messages.po +2087 -257
  83. package/src/i18n/locales/fr/messages.po +2087 -257
  84. package/src/i18n/locales/ja/messages.po +2087 -257
  85. package/src/i18n/locales/zh-CN/messages.po +2087 -257
  86. package/src/index.tsx +74 -47
  87. package/src/lib/contextual-help.ts +6 -0
  88. package/src/lib/elevation-guides.ts +21 -6
  89. package/src/lib/elevator-support.ts +1 -72
  90. package/src/lib/floor-footprints.test.ts +1 -1
  91. package/src/lib/floor-footprints.ts +1 -9
  92. package/src/lib/floor-foundation-support.test.ts +8 -3
  93. package/src/lib/floor-opening-draft.ts +1 -1
  94. package/src/lib/floor-region-session.ts +1 -1
  95. package/src/lib/floorplan/open-wall-ends.ts +2 -1
  96. package/src/lib/gesture-lifecycle.ts +3 -1
  97. package/src/lib/interaction/scope.ts +1 -0
  98. package/src/lib/layer-thickness.ts +1 -1
  99. package/src/lib/level-selection.test.ts +18 -2
  100. package/src/lib/level-selection.ts +31 -8
  101. package/src/lib/linear-display.ts +1 -1
  102. package/src/lib/live-gesture-round-trip.test.ts +1 -1
  103. package/src/lib/measurement-label.test.ts +1 -1
  104. package/src/lib/measurements.test.ts +8 -7
  105. package/src/lib/measurements.ts +1 -218
  106. package/src/lib/node-action-movement.test.tsx +115 -0
  107. package/src/lib/node-action-movement.ts +2 -0
  108. package/src/lib/placement-metadata.ts +4 -0
  109. package/src/lib/point-ask/describe-target.ts +6 -8
  110. package/src/lib/point-ask/region.ts +1 -1
  111. package/src/lib/print-shell-compiler.ts +12 -1
  112. package/src/lib/print-wall-solids.test.ts +11 -0
  113. package/src/lib/print-wall-solids.ts +9 -0
  114. package/src/lib/room-assembly-overlay.ts +1 -1
  115. package/src/lib/room-built-on.test.ts +2 -5
  116. package/src/lib/room-built-on.ts +1 -15
  117. package/src/lib/room-construction-commands.ts +3 -2
  118. package/src/lib/room-controls-phase6.test.ts +1 -1
  119. package/src/lib/room-handle-drag.ts +6 -25
  120. package/src/lib/room-push-dimensions.test.ts +1 -1
  121. package/src/lib/scene-bounds.test.ts +144 -0
  122. package/src/lib/scene-bounds.ts +79 -15
  123. package/src/lib/scene-clipboard.ts +2 -1
  124. package/src/lib/snapping-mode.test.ts +23 -1
  125. package/src/lib/viewer-selection.ts +1 -1
  126. package/src/lib/wall-region-list.ts +3 -1
  127. package/src/lib/window-interaction.test.ts +4 -2
  128. package/src/store/use-editor.tsx +5 -0
  129. package/src/store/use-placement-typing.test.ts +165 -0
  130. package/src/store/use-placement-typing.ts +186 -0
  131. package/src/components/tools/elevator/elevator-defaults.ts +0 -8
  132. package/src/components/tools/elevator/elevator-tool.tsx +0 -372
  133. package/src/components/tools/elevator/move-elevator-tool.tsx +0 -262
  134. package/src/lib/door-interaction.ts +0 -102
  135. package/src/lib/measurement-label.ts +0 -68
  136. package/src/lib/window-interaction.ts +0 -142
@@ -983,6 +983,16 @@ msgstr "屋顶类型"
983
983
  msgid "app.lib.buildPanelModel.toolCount"
984
984
  msgstr "{count, plural, other {# 个工具}}"
985
985
 
986
+ # AI-Provider: claude-code
987
+ # AI-Model: claude-opus-5-5
988
+ # Source-Hash: 344fe9d407a233a9
989
+ # Review: required
990
+ # English: "Barrel"
991
+ #: apps/editor/lib/build-tab-state.ts
992
+ #, fuzzy
993
+ msgid "app.lib.buildTabState.barrel"
994
+ msgstr "筒形"
995
+
986
996
  # Source-Hash: 3241ecabee8221a1
987
997
  # Review: required
988
998
  # AI-Provider: claude-code
@@ -3794,6 +3804,26 @@ msgstr "{label}:{finish}"
3794
3804
  msgid "editor.controls.finishSwatch.default"
3795
3805
  msgstr "默认"
3796
3806
 
3807
+ # AI-Provider: claude-code
3808
+ # AI-Model: claude-opus-5-5
3809
+ # Source-Hash: 6774854416d6dfdf
3810
+ # Review: required
3811
+ # English: "Edit {label}"
3812
+ #: packages/editor/src/components/ui/controls/slider-control.tsx
3813
+ #, fuzzy
3814
+ msgid "editor.controls.sliderControl.editLabel"
3815
+ msgstr "编辑{label}"
3816
+
3817
+ # AI-Provider: claude-code
3818
+ # AI-Model: claude-opus-5-5
3819
+ # Source-Hash: 37d9f63758abdb67
3820
+ # Review: required
3821
+ # English: "Mixed"
3822
+ #: packages/editor/src/components/ui/controls/slider-control.tsx
3823
+ #, fuzzy
3824
+ msgid "editor.controls.sliderControl.mixed"
3825
+ msgstr "混合"
3826
+
3797
3827
  # Source-Hash: a2bd204e93e90598
3798
3828
  # Review: required
3799
3829
  # AI-Provider: claude-code
@@ -4595,6 +4625,16 @@ msgstr "取消拾取"
4595
4625
  msgid "editor.helpers.helperManager.cancelStroke"
4596
4626
  msgstr "取消笔画"
4597
4627
 
4628
+ # Source-Hash: 7aaeeaeb3e2f247a
4629
+ # Review: required
4630
+ # AI-Provider: claude-code
4631
+ # AI-Model: claude-opus-5-5
4632
+ # English: "Detach the joint"
4633
+ #: packages/editor/src/components/ui/helpers/helper-manager.tsx
4634
+ #, fuzzy
4635
+ msgid "editor.helpers.helperManager.detachTheJoint"
4636
+ msgstr "断开连接"
4637
+
4598
4638
  # Source-Hash: 16552c2580bbe8b8
4599
4639
  # Review: required
4600
4640
  # AI-Provider: claude-code
@@ -13592,6 +13632,46 @@ msgstr "删除区域"
13592
13632
  msgid "editor.panels.wallRegionList.paintRegions"
13593
13633
  msgstr "涂刷区域"
13594
13634
 
13635
+ # Source-Hash: c69865ec5d9d1ac9
13636
+ # Review: required
13637
+ # AI-Provider: claude-code
13638
+ # AI-Model: claude-opus-5-5
13639
+ # English: "Angle"
13640
+ #: packages/editor/src/store/use-placement-typing.ts
13641
+ #, fuzzy
13642
+ msgid "editor.placementTyping.angle"
13643
+ msgstr "角度"
13644
+
13645
+ # Source-Hash: fe7ddb094aa8ff4d
13646
+ # Review: required
13647
+ # AI-Provider: claude-code
13648
+ # AI-Model: claude-opus-5-5
13649
+ # English: "Distance"
13650
+ #: packages/editor/src/store/use-placement-typing.ts
13651
+ #, fuzzy
13652
+ msgid "editor.placementTyping.distance"
13653
+ msgstr "距离"
13654
+
13655
+ # Source-Hash: 643687bc3adaac76
13656
+ # Review: required
13657
+ # AI-Provider: claude-code
13658
+ # AI-Model: claude-opus-5-5
13659
+ # English: "Length"
13660
+ #: packages/editor/src/store/use-placement-typing.ts
13661
+ #, fuzzy
13662
+ msgid "editor.placementTyping.length"
13663
+ msgstr "长度"
13664
+
13665
+ # Source-Hash: 0f0e13abf9b2bb67
13666
+ # Review: required
13667
+ # AI-Provider: claude-code
13668
+ # AI-Model: claude-opus-5-5
13669
+ # English: "Offset"
13670
+ #: packages/editor/src/store/use-placement-typing.ts
13671
+ #, fuzzy
13672
+ msgid "editor.placementTyping.offset"
13673
+ msgstr "偏移"
13674
+
13595
13675
  # Source-Hash: 89ee318aad485f83
13596
13676
  # Review: required
13597
13677
  # AI-Provider: claude-code
@@ -17495,6 +17575,16 @@ msgstr "长度:{field} m"
17495
17575
  msgid "editor.tools.distribution.distributionRunTool.tabDirection"
17496
17576
  msgstr "Tab:方向"
17497
17577
 
17578
+ # Source-Hash: adbe2d112b739871
17579
+ # Review: required
17580
+ # AI-Provider: cursor-agent
17581
+ # AI-Model: claude-opus-5-5
17582
+ # English: "Target elevation: {elevation} m · click or Enter to place"
17583
+ #: packages/editor/src/components/tools/distribution/distribution-run-tool.tsx
17584
+ #, fuzzy
17585
+ msgid "editor.tools.distribution.distributionRunTool.targetElevation"
17586
+ msgstr "目标标高:{elevation} m · 单击或按 Enter 放置"
17587
+
17498
17588
  # Source-Hash: abb1d8c8bfb41acf
17499
17589
  # Review: required
17500
17590
  # AI-Provider: claude-code
@@ -21695,55 +21785,115 @@ msgstr "柱"
21695
21785
  msgid "node.column.panel.actions"
21696
21786
  msgstr "操作"
21697
21787
 
21698
- # Source-Hash: 14b21685d375581a
21788
+ # AI-Provider: claude-code
21789
+ # AI-Model: claude-opus-5-5
21790
+ # Source-Hash: 663175a9c461a96d
21791
+ # Review: required
21792
+ # English: "All"
21793
+ #: packages/nodes/src/column/panel.tsx
21794
+ #, fuzzy
21795
+ msgid "node.column.panel.all"
21796
+ msgstr "全部"
21797
+
21798
+ # Source-Hash: dbfe7c561383c964
21699
21799
  # Review: required
21700
21800
  # AI-Provider: claude-code
21701
21801
  # AI-Model: claude-opus-5-5
21702
- # English: "A-Frame"
21802
+ # English: "Apply proportion..."
21703
21803
  #: packages/nodes/src/column/panel.tsx
21704
21804
  #, fuzzy
21705
- msgid "node.column.panel.aFrame"
21706
- msgstr "A 字架"
21805
+ msgid "node.column.panel.applyProportion"
21806
+ msgstr "应用比例…"
21707
21807
 
21708
- # Source-Hash: 4007d88108e25c2b
21808
+ # AI-Provider: claude-code
21809
+ # AI-Model: claude-opus-5-5
21810
+ # Source-Hash: 63cbda7b09662368
21709
21811
  # Review: required
21812
+ # English: "Arched"
21813
+ #: packages/nodes/src/column/panel.tsx
21814
+ #, fuzzy
21815
+ msgid "node.column.panel.arched"
21816
+ msgstr "拱形"
21817
+
21710
21818
  # AI-Provider: claude-code
21711
21819
  # AI-Model: claude-opus-5-5
21712
- # English: "Apply preset..."
21820
+ # Source-Hash: d11dffc2c5b0f50a
21821
+ # Review: required
21822
+ # English: "Baluster"
21713
21823
  #: packages/nodes/src/column/panel.tsx
21714
21824
  #, fuzzy
21715
- msgid "node.column.panel.applyPreset"
21716
- msgstr "应用预设…"
21825
+ msgid "node.column.panel.baluster"
21826
+ msgstr "栏杆柱"
21717
21827
 
21718
- # Source-Hash: dbfe7c561383c964
21828
+ # AI-Provider: claude-code
21829
+ # AI-Model: claude-opus-5-5
21830
+ # Source-Hash: a8fdf969f566a554
21719
21831
  # Review: required
21832
+ # English: "Band Scale"
21833
+ #: packages/nodes/src/column/panel.tsx
21834
+ #, fuzzy
21835
+ msgid "node.column.panel.bandScale"
21836
+ msgstr "箍带比例"
21837
+
21720
21838
  # AI-Provider: claude-code
21721
21839
  # AI-Model: claude-opus-5-5
21722
- # English: "Apply proportion..."
21840
+ # Source-Hash: fadada809e27477c
21841
+ # Review: required
21842
+ # English: "Base"
21723
21843
  #: packages/nodes/src/column/panel.tsx
21724
21844
  #, fuzzy
21725
- msgid "node.column.panel.applyProportion"
21726
- msgstr "应用比例…"
21845
+ msgid "node.column.panel.base"
21846
+ msgstr "柱础"
21847
+
21848
+ # AI-Provider: claude-code
21849
+ # AI-Model: claude-opus-5-5
21850
+ # Source-Hash: fca555ac84223bd4
21851
+ # Review: required
21852
+ # English: "Base Carving"
21853
+ #: packages/nodes/src/column/panel.tsx
21854
+ #, fuzzy
21855
+ msgid "node.column.panel.baseCarvingLevel"
21856
+ msgstr "柱础雕刻"
21727
21857
 
21728
- # Source-Hash: 1f3fd938f0b26c9f
21858
+ # AI-Provider: claude-code
21859
+ # AI-Model: claude-opus-5-5
21860
+ # Source-Hash: fa9118f6f4f020d7
21729
21861
  # Review: required
21862
+ # English: "Base Height"
21863
+ #: packages/nodes/src/column/panel.tsx
21864
+ #, fuzzy
21865
+ msgid "node.column.panel.baseHeight"
21866
+ msgstr "柱础高度"
21867
+
21730
21868
  # AI-Provider: claude-code
21731
21869
  # AI-Model: claude-opus-5-5
21732
- # English: "Bottom Depth"
21870
+ # Source-Hash: efb74250b7929566
21871
+ # Review: required
21872
+ # English: "Base Ribs"
21733
21873
  #: packages/nodes/src/column/panel.tsx
21734
21874
  #, fuzzy
21735
- msgid "node.column.panel.bottomDepth"
21736
- msgstr "底部深度"
21875
+ msgid "node.column.panel.baseRibCount"
21876
+ msgstr "柱础棱数"
21737
21877
 
21738
- # Source-Hash: 85576e19cd3da914
21878
+ # AI-Provider: claude-code
21879
+ # AI-Model: claude-opus-5-5
21880
+ # Source-Hash: 1cc2da12e8463e85
21739
21881
  # Review: required
21882
+ # English: "Base style"
21883
+ #: packages/nodes/src/column/panel.tsx
21884
+ #, fuzzy
21885
+ msgid "node.column.panel.baseStyle"
21886
+ msgstr "柱础样式"
21887
+
21740
21888
  # AI-Provider: claude-code
21741
21889
  # AI-Model: claude-opus-5-5
21742
- # English: "Bottom Height"
21890
+ # Source-Hash: 971207d7a9e0d8a9
21891
+ # Review: required
21892
+ # English: "Bottom Scale"
21743
21893
  #: packages/nodes/src/column/panel.tsx
21744
21894
  #, fuzzy
21745
- msgid "node.column.panel.bottomHeight"
21746
- msgstr "底部高度"
21895
+ msgid "node.column.panel.bottomScale"
21896
+ msgstr "底部比例"
21747
21897
 
21748
21898
  # Source-Hash: 4df0bbb04744a810
21749
21899
  # Review: required
@@ -21755,85 +21905,115 @@ msgstr "底部高度"
21755
21905
  msgid "node.column.panel.bottomSpread"
21756
21906
  msgstr "底部张开"
21757
21907
 
21758
- # Source-Hash: 67479fecb980a441
21759
- # Review: required
21760
21908
  # AI-Provider: claude-code
21761
21909
  # AI-Model: claude-opus-5-5
21762
- # English: "Bottom Step Spread"
21910
+ # Source-Hash: 35b35cd49111ba44
21911
+ # Review: required
21912
+ # English: "Bracket Depth"
21763
21913
  #: packages/nodes/src/column/panel.tsx
21764
21914
  #, fuzzy
21765
- msgid "node.column.panel.bottomStepSpread"
21766
- msgstr "底部台阶间距"
21915
+ msgid "node.column.panel.bracketDepth"
21916
+ msgstr "斗拱深度"
21767
21917
 
21768
- # Source-Hash: 6ea977c42202ca24
21769
- # Review: required
21770
21918
  # AI-Provider: claude-code
21771
21919
  # AI-Model: claude-opus-5-5
21772
- # English: "Bottom Tiers"
21920
+ # Source-Hash: 06e2dd9a165502bd
21921
+ # Review: required
21922
+ # English: "Bracket Tiers"
21773
21923
  #: packages/nodes/src/column/panel.tsx
21774
21924
  #, fuzzy
21775
- msgid "node.column.panel.bottomTiers"
21776
- msgstr "底部层数"
21925
+ msgid "node.column.panel.bracketTierCount"
21926
+ msgstr "斗拱层数"
21777
21927
 
21778
- # Source-Hash: 709ca788827f8a94
21928
+ # Source-Hash: 663b9a9e6a469b02
21779
21929
  # Review: required
21780
21930
  # AI-Provider: claude-code
21781
21931
  # AI-Model: claude-opus-5-5
21782
- # English: "Bottom Width"
21932
+ # English: "Bulged"
21783
21933
  #: packages/nodes/src/column/panel.tsx
21784
21934
  #, fuzzy
21785
- msgid "node.column.panel.bottomWidth"
21786
- msgstr "底部宽度"
21935
+ msgid "node.column.panel.bulged"
21936
+ msgstr "鼓形"
21787
21937
 
21788
- # Source-Hash: 39d33008c81fc075
21789
- # Review: required
21790
21938
  # AI-Provider: claude-code
21791
21939
  # AI-Model: claude-opus-5-5
21792
- # English: "Box Frame"
21940
+ # Source-Hash: 83ac65ddce825df7
21941
+ # Review: required
21942
+ # English: "Bulge Ratio"
21793
21943
  #: packages/nodes/src/column/panel.tsx
21794
21944
  #, fuzzy
21795
- msgid "node.column.panel.boxFrame"
21796
- msgstr "箱形框架"
21945
+ msgid "node.column.panel.bulgeRatio"
21946
+ msgstr "凸肚比例"
21797
21947
 
21798
- # Source-Hash: 381b1f481f747677
21799
- # Review: required
21800
21948
  # AI-Provider: claude-code
21801
21949
  # AI-Model: claude-opus-5-5
21802
- # English: "Brace Depth"
21950
+ # Source-Hash: 4c56ade213b88ed0
21951
+ # Review: required
21952
+ # English: "Capital"
21803
21953
  #: packages/nodes/src/column/panel.tsx
21804
21954
  #, fuzzy
21805
- msgid "node.column.panel.braceDepth"
21806
- msgstr "支撑深度"
21955
+ msgid "node.column.panel.capital"
21956
+ msgstr "柱头"
21807
21957
 
21808
- # Source-Hash: 8509b09b4ecdd6b6
21958
+ # AI-Provider: claude-code
21959
+ # AI-Model: claude-opus-5-5
21960
+ # Source-Hash: 3b969fb1765c3f6c
21809
21961
  # Review: required
21962
+ # English: "Capital Carving"
21963
+ #: packages/nodes/src/column/panel.tsx
21964
+ #, fuzzy
21965
+ msgid "node.column.panel.capitalCarvingLevel"
21966
+ msgstr "柱头雕刻"
21967
+
21810
21968
  # AI-Provider: claude-code
21811
21969
  # AI-Model: claude-opus-5-5
21812
- # English: "Brace Width"
21970
+ # Source-Hash: 8ae9489f57d43033
21971
+ # Review: required
21972
+ # English: "Capital Height"
21813
21973
  #: packages/nodes/src/column/panel.tsx
21814
21974
  #, fuzzy
21815
- msgid "node.column.panel.braceWidth"
21816
- msgstr "支撑宽度"
21975
+ msgid "node.column.panel.capitalHeight"
21976
+ msgstr "柱头高度"
21817
21977
 
21818
- # Source-Hash: 08558dd786f45281
21978
+ # AI-Provider: claude-code
21979
+ # AI-Model: claude-opus-5-5
21980
+ # Source-Hash: f286eccc906eb8aa
21819
21981
  # Review: required
21982
+ # English: "Capital style"
21983
+ #: packages/nodes/src/column/panel.tsx
21984
+ #, fuzzy
21985
+ msgid "node.column.panel.capitalStyle"
21986
+ msgstr "柱头样式"
21987
+
21820
21988
  # AI-Provider: claude-code
21821
21989
  # AI-Model: claude-opus-5-5
21822
- # English: "Bulge"
21990
+ # Source-Hash: 7886120117de9a5e
21991
+ # Review: required
21992
+ # English: "Carving placement"
21823
21993
  #: packages/nodes/src/column/panel.tsx
21824
21994
  #, fuzzy
21825
- msgid "node.column.panel.bulge"
21826
- msgstr "凸起"
21995
+ msgid "node.column.panel.carvingPlacement"
21996
+ msgstr "雕刻位置"
21827
21997
 
21828
- # Source-Hash: 663b9a9e6a469b02
21998
+ # AI-Provider: claude-code
21999
+ # AI-Model: claude-opus-5-5
22000
+ # Source-Hash: 37ec08bc0ec0c613
21829
22001
  # Review: required
22002
+ # English: "Choose a material, then click the surface to paint."
22003
+ #: packages/nodes/src/column/panel.tsx
22004
+ #, fuzzy
22005
+ msgid "node.column.panel.chooseAMaterialThenClickThe"
22006
+ msgstr "选择材质,然后点击要涂刷的表面。"
22007
+
21830
22008
  # AI-Provider: claude-code
21831
22009
  # AI-Model: claude-opus-5-5
21832
- # English: "Bulged"
22010
+ # Source-Hash: a5fe146d6adf0818
22011
+ # Review: required
22012
+ # English: "Cluster"
21833
22013
  #: packages/nodes/src/column/panel.tsx
21834
22014
  #, fuzzy
21835
- msgid "node.column.panel.bulged"
21836
- msgstr "鼓形"
22015
+ msgid "node.column.panel.cluster"
22016
+ msgstr "束柱"
21837
22017
 
21838
22018
  # Source-Hash: 3530ac1f4046cd22
21839
22019
  # Review: required
@@ -21845,6 +22025,26 @@ msgstr "鼓形"
21845
22025
  msgid "node.column.panel.column"
21846
22026
  msgstr "柱"
21847
22027
 
22028
+ # AI-Provider: claude-code
22029
+ # AI-Model: claude-opus-5-5
22030
+ # Source-Hash: 5a4d3e868b707a7f
22031
+ # Review: required
22032
+ # English: "Column proportions"
22033
+ #: packages/nodes/src/column/panel.tsx
22034
+ #, fuzzy
22035
+ msgid "node.column.panel.columnProportions"
22036
+ msgstr "柱子比例"
22037
+
22038
+ # AI-Provider: claude-code
22039
+ # AI-Model: claude-opus-5-5
22040
+ # Source-Hash: 99e7e0e07220b6f0
22041
+ # Review: required
22042
+ # English: "Column style"
22043
+ #: packages/nodes/src/column/panel.tsx
22044
+ #, fuzzy
22045
+ msgid "node.column.panel.columnStyle"
22046
+ msgstr "柱子样式"
22047
+
21848
22048
  # Source-Hash: ca0a856f04460bd5
21849
22049
  # Review: required
21850
22050
  # AI-Provider: claude-code
@@ -21855,6 +22055,26 @@ msgstr "柱"
21855
22055
  msgid "node.column.panel.connectorPlates"
21856
22056
  msgstr "连接板"
21857
22057
 
22058
+ # AI-Provider: claude-code
22059
+ # AI-Model: claude-opus-5-5
22060
+ # Source-Hash: 054e9bc6519e4829
22061
+ # Review: required
22062
+ # English: "Corinthian Leaf"
22063
+ #: packages/nodes/src/column/panel.tsx
22064
+ #, fuzzy
22065
+ msgid "node.column.panel.corinthianLeaf"
22066
+ msgstr "科林斯叶饰"
22067
+
22068
+ # AI-Provider: claude-code
22069
+ # AI-Model: claude-opus-5-5
22070
+ # Source-Hash: 03ade8d3de1369be
22071
+ # Review: required
22072
+ # English: "Cross section"
22073
+ #: packages/nodes/src/column/panel.tsx
22074
+ #, fuzzy
22075
+ msgid "node.column.panel.crossSection"
22076
+ msgstr "截面"
22077
+
21858
22078
  # Source-Hash: b26de372b4b0eaac
21859
22079
  # Review: required
21860
22080
  # AI-Provider: claude-code
@@ -21875,15 +22095,65 @@ msgstr "删除"
21875
22095
  msgid "node.column.panel.depth"
21876
22096
  msgstr "深度"
21877
22097
 
21878
- # Source-Hash: 12df69f42beb0643
22098
+ # AI-Provider: claude-code
22099
+ # AI-Model: claude-opus-5-5
22100
+ # Source-Hash: c7c1212a7d3fb04c
21879
22101
  # Review: required
22102
+ # English: "Depth Scale"
22103
+ #: packages/nodes/src/column/panel.tsx
22104
+ #, fuzzy
22105
+ msgid "node.column.panel.depthScale"
22106
+ msgstr "深度比例"
22107
+
21880
22108
  # AI-Provider: claude-code
21881
22109
  # AI-Model: claude-opus-5-5
21882
- # English: "Dimensions"
22110
+ # Source-Hash: 9cf14a577e74ed47
22111
+ # Review: required
22112
+ # English: "Depth Span"
21883
22113
  #: packages/nodes/src/column/panel.tsx
21884
22114
  #, fuzzy
21885
- msgid "node.column.panel.dimensions"
21886
- msgstr "尺寸"
22115
+ msgid "node.column.panel.depthSpan"
22116
+ msgstr "深度跨度"
22117
+
22118
+ # AI-Provider: claude-code
22119
+ # AI-Model: claude-opus-5-5
22120
+ # Source-Hash: 016d8e70618916d4
22121
+ # Review: required
22122
+ # English: "Diameter"
22123
+ #: packages/nodes/src/column/panel.tsx
22124
+ #, fuzzy
22125
+ msgid "node.column.panel.diameter"
22126
+ msgstr "直径"
22127
+
22128
+ # AI-Provider: claude-code
22129
+ # AI-Model: claude-opus-5-5
22130
+ # Source-Hash: 78e3b83eb527f5b6
22131
+ # Review: required
22132
+ # English: "Diamond"
22133
+ #: packages/nodes/src/column/panel.tsx
22134
+ #, fuzzy
22135
+ msgid "node.column.panel.diamond"
22136
+ msgstr "菱形"
22137
+
22138
+ # AI-Provider: claude-code
22139
+ # AI-Model: claude-opus-5-5
22140
+ # Source-Hash: e1ed2f159b6d34f2
22141
+ # Review: required
22142
+ # English: "Doric"
22143
+ #: packages/nodes/src/column/panel.tsx
22144
+ #, fuzzy
22145
+ msgid "node.column.panel.doric"
22146
+ msgstr "多立克"
22147
+
22148
+ # AI-Provider: claude-code
22149
+ # AI-Model: claude-opus-5-5
22150
+ # Source-Hash: 4b84f09fc9e79572
22151
+ # Review: required
22152
+ # English: "Dravidian Carved"
22153
+ #: packages/nodes/src/column/panel.tsx
22154
+ #, fuzzy
22155
+ msgid "node.column.panel.dravidianCarved"
22156
+ msgstr "达罗毗荼雕刻"
21887
22157
 
21888
22158
  # Source-Hash: b963a08f0d540014
21889
22159
  # Review: required
@@ -21895,25 +22165,75 @@ msgstr "尺寸"
21895
22165
  msgid "node.column.panel.edgeSoftness"
21896
22166
  msgstr "边缘柔化"
21897
22167
 
21898
- # Source-Hash: 82b3db356639ef92
22168
+ # AI-Provider: claude-code
22169
+ # AI-Model: claude-opus-5-5
22170
+ # Source-Hash: 50d76d0bfa5828f5
21899
22171
  # Review: required
22172
+ # English: "End Scale"
22173
+ #: packages/nodes/src/column/panel.tsx
22174
+ #, fuzzy
22175
+ msgid "node.column.panel.endScale"
22176
+ msgstr "端部比例"
22177
+
21900
22178
  # AI-Provider: claude-code
21901
22179
  # AI-Model: claude-opus-5-5
21902
- # English: "Ends"
22180
+ # Source-Hash: e0898026fa3ef7ef
22181
+ # Review: required
22182
+ # English: "Entire Object"
21903
22183
  #: packages/nodes/src/column/panel.tsx
21904
22184
  #, fuzzy
21905
- msgid "node.column.panel.ends"
21906
- msgstr "端部"
22185
+ msgid "node.column.panel.entireObject"
22186
+ msgstr "整个对象"
21907
22187
 
21908
- # Source-Hash: 646c3cd99df3e285
22188
+ # AI-Provider: claude-code
22189
+ # AI-Model: claude-opus-5-5
22190
+ # Source-Hash: c63bf1154bb7909f
21909
22191
  # Review: required
22192
+ # English: "Faceted"
22193
+ #: packages/nodes/src/column/panel.tsx
22194
+ #, fuzzy
22195
+ msgid "node.column.panel.faceted"
22196
+ msgstr "多面"
22197
+
22198
+ # AI-Provider: claude-code
22199
+ # AI-Model: claude-opus-5-5
22200
+ # Source-Hash: 7e84091e8efd4274
22201
+ # Review: required
22202
+ # English: "Flute Count"
22203
+ #: packages/nodes/src/column/panel.tsx
22204
+ #, fuzzy
22205
+ msgid "node.column.panel.fluteCount"
22206
+ msgstr "凹槽数"
22207
+
22208
+ # AI-Provider: claude-code
22209
+ # AI-Model: claude-opus-5-5
22210
+ # Source-Hash: b2166db6249b9ef0
22211
+ # Review: required
22212
+ # English: "Fluted"
22213
+ #: packages/nodes/src/column/panel.tsx
22214
+ #, fuzzy
22215
+ msgid "node.column.panel.fluted"
22216
+ msgstr "凹槽"
22217
+
22218
+ # AI-Provider: claude-code
22219
+ # AI-Model: claude-opus-5-5
22220
+ # Source-Hash: ba3d227ad13eb300
22221
+ # Review: required
22222
+ # English: "Flute Depth"
22223
+ #: packages/nodes/src/column/panel.tsx
22224
+ #, fuzzy
22225
+ msgid "node.column.panel.fluteDepth"
22226
+ msgstr "凹槽深度"
22227
+
21910
22228
  # AI-Provider: claude-code
21911
22229
  # AI-Model: claude-opus-5-5
21912
- # English: "End Width"
22230
+ # Source-Hash: 5530e4916f99d59e
22231
+ # Review: required
22232
+ # English: "Flute Width"
21913
22233
  #: packages/nodes/src/column/panel.tsx
21914
22234
  #, fuzzy
21915
- msgid "node.column.panel.endWidth"
21916
- msgstr "端部宽度"
22235
+ msgid "node.column.panel.fluteWidth"
22236
+ msgstr "凹槽宽度"
21917
22237
 
21918
22238
  # Source-Hash: 02e229bca2a2b5f1
21919
22239
  # Review: required
@@ -21925,6 +22245,16 @@ msgstr "端部宽度"
21925
22245
  msgid "node.column.panel.forkSpread"
21926
22246
  msgstr "分叉张开"
21927
22247
 
22248
+ # AI-Provider: claude-code
22249
+ # AI-Model: claude-opus-5-5
22250
+ # Source-Hash: ce3a6c03765dbbd8
22251
+ # Review: required
22252
+ # English: "Frame"
22253
+ #: packages/nodes/src/column/panel.tsx
22254
+ #, fuzzy
22255
+ msgid "node.column.panel.frame"
22256
+ msgstr "框架"
22257
+
21928
22258
  # Source-Hash: fdebfac05413abcf
21929
22259
  # Review: required
21930
22260
  # AI-Provider: claude-code
@@ -21965,15 +22295,105 @@ msgstr "高度和占地由单坡扩建控制。可在此旋转或更改支撑样
21965
22295
  msgid "node.column.panel.hourglass"
21966
22296
  msgstr "沙漏形"
21967
22297
 
21968
- # Source-Hash: 9cc75129edee59ad
22298
+ # AI-Provider: claude-code
22299
+ # AI-Model: claude-opus-5-5
22300
+ # Source-Hash: 2f3ee076ecdccfe2
21969
22301
  # Review: required
22302
+ # English: "Ionic Volute"
22303
+ #: packages/nodes/src/column/panel.tsx
22304
+ #, fuzzy
22305
+ msgid "node.column.panel.ionicVolute"
22306
+ msgstr "爱奥尼涡卷"
22307
+
21970
22308
  # AI-Provider: claude-code
21971
22309
  # AI-Model: claude-opus-5-5
21972
- # English: "K Brace"
22310
+ # Source-Hash: 2499bbb980a232cf
22311
+ # Review: required
22312
+ # English: "Lathe Rings"
21973
22313
  #: packages/nodes/src/column/panel.tsx
21974
22314
  #, fuzzy
21975
- msgid "node.column.panel.kBrace"
21976
- msgstr "K 形支撑"
22315
+ msgid "node.column.panel.latheRingCount"
22316
+ msgstr "车削环数"
22317
+
22318
+ # AI-Provider: claude-code
22319
+ # AI-Model: claude-opus-5-5
22320
+ # Source-Hash: 73a16ff19b6f7fdc
22321
+ # Review: required
22322
+ # English: "Lathe Turned"
22323
+ #: packages/nodes/src/column/panel.tsx
22324
+ #, fuzzy
22325
+ msgid "node.column.panel.latheTurned"
22326
+ msgstr "车削"
22327
+
22328
+ # AI-Provider: claude-code
22329
+ # AI-Model: claude-opus-5-5
22330
+ # Source-Hash: f2ccd152aa17feab
22331
+ # Review: required
22332
+ # English: "Leaf Carved"
22333
+ #: packages/nodes/src/column/panel.tsx
22334
+ #, fuzzy
22335
+ msgid "node.column.panel.leafCarved"
22336
+ msgstr "叶饰雕刻"
22337
+
22338
+ # AI-Provider: claude-code
22339
+ # AI-Model: claude-opus-5-5
22340
+ # Source-Hash: c390ba248e629b9e
22341
+ # Review: required
22342
+ # English: "Leaves"
22343
+ #: packages/nodes/src/column/panel.tsx
22344
+ #, fuzzy
22345
+ msgid "node.column.panel.leafCount"
22346
+ msgstr "叶片数"
22347
+
22348
+ # AI-Provider: claude-code
22349
+ # AI-Model: claude-opus-5-5
22350
+ # Source-Hash: a76263da42bc17b0
22351
+ # Review: required
22352
+ # English: "Leaf Rows"
22353
+ #: packages/nodes/src/column/panel.tsx
22354
+ #, fuzzy
22355
+ msgid "node.column.panel.leafRows"
22356
+ msgstr "叶片排数"
22357
+
22358
+ # AI-Provider: claude-code
22359
+ # AI-Model: claude-opus-5-5
22360
+ # Source-Hash: 00b838b1271dcc00
22361
+ # Review: required
22362
+ # English: "Lotus"
22363
+ #: packages/nodes/src/column/panel.tsx
22364
+ #, fuzzy
22365
+ msgid "node.column.panel.lotus"
22366
+ msgstr "莲花"
22367
+
22368
+ # AI-Provider: claude-code
22369
+ # AI-Model: claude-opus-5-5
22370
+ # Source-Hash: 4d0d49127f197e7f
22371
+ # Review: required
22372
+ # English: "Materials"
22373
+ #: packages/nodes/src/column/panel.tsx
22374
+ #, fuzzy
22375
+ msgid "node.column.panel.materials"
22376
+ msgstr "材质"
22377
+
22378
+ # AI-Provider: claude-code
22379
+ # AI-Model: claude-opus-5-5
22380
+ # Source-Hash: b9b11a8228f9d9c3
22381
+ # Review: required
22382
+ # English: "Member Depth"
22383
+ #: packages/nodes/src/column/panel.tsx
22384
+ #, fuzzy
22385
+ msgid "node.column.panel.memberDepth"
22386
+ msgstr "构件深度"
22387
+
22388
+ # AI-Provider: claude-code
22389
+ # AI-Model: claude-opus-5-5
22390
+ # Source-Hash: 3e0ddf162579af15
22391
+ # Review: required
22392
+ # English: "Member Width"
22393
+ #: packages/nodes/src/column/panel.tsx
22394
+ #, fuzzy
22395
+ msgid "node.column.panel.memberWidth"
22396
+ msgstr "构件宽度"
21977
22397
 
21978
22398
  # Source-Hash: bd02c614454fbd2b
21979
22399
  # Review: required
@@ -21985,65 +22405,145 @@ msgstr "K 形支撑"
21985
22405
  msgid "node.column.panel.move"
21986
22406
  msgstr "移动"
21987
22407
 
21988
- # Source-Hash: 6dc190abd3f22787
22408
+ # AI-Provider: claude-code
22409
+ # AI-Model: claude-opus-5-5
22410
+ # Source-Hash: 78c5ca001ea8241d
21989
22411
  # Review: required
22412
+ # English: "Neck Scale"
22413
+ #: packages/nodes/src/column/panel.tsx
22414
+ #, fuzzy
22415
+ msgid "node.column.panel.neckScale"
22416
+ msgstr "柱颈比例"
22417
+
21990
22418
  # AI-Provider: claude-code
21991
22419
  # AI-Model: claude-opus-5-5
21992
- # English: "Neck Width"
22420
+ # Source-Hash: f2953d2931e36d0c
22421
+ # Review: required
22422
+ # English: "None"
21993
22423
  #: packages/nodes/src/column/panel.tsx
21994
22424
  #, fuzzy
21995
- msgid "node.column.panel.neckWidth"
21996
- msgstr "颈部宽度"
22425
+ msgid "node.column.panel.none"
22426
+ msgstr "无"
21997
22427
 
21998
- # Source-Hash: 7dba7ed55eeba18f
22428
+ # AI-Provider: claude-code
22429
+ # AI-Model: claude-opus-5-5
22430
+ # Source-Hash: 698f9ebcd3ab81c6
21999
22431
  # Review: required
22432
+ # English: "Octagonal"
22433
+ #: packages/nodes/src/column/panel.tsx
22434
+ #, fuzzy
22435
+ msgid "node.column.panel.octagonal"
22436
+ msgstr "八边形"
22437
+
22000
22438
  # AI-Provider: claude-code
22001
22439
  # AI-Model: claude-opus-5-5
22002
- # English: "No Bottom"
22440
+ # Source-Hash: 8680135de608a900
22441
+ # Review: required
22442
+ # English: "Paint Materials"
22003
22443
  #: packages/nodes/src/column/panel.tsx
22004
22444
  #, fuzzy
22005
- msgid "node.column.panel.noBottom"
22006
- msgstr "无底座"
22445
+ msgid "node.column.panel.paintMaterials"
22446
+ msgstr "涂刷材质"
22007
22447
 
22008
- # Source-Hash: 682d71815bb20e94
22448
+ # AI-Provider: claude-code
22449
+ # AI-Model: claude-opus-5-5
22450
+ # Source-Hash: 2d1f1576d0878e2d
22009
22451
  # Review: required
22452
+ # English: "Carved Panels"
22453
+ #: packages/nodes/src/column/panel.tsx
22454
+ #, fuzzy
22455
+ msgid "node.column.panel.panelCount"
22456
+ msgstr "雕刻面板"
22457
+
22010
22458
  # AI-Provider: claude-code
22011
22459
  # AI-Model: claude-opus-5-5
22012
- # English: "No Top"
22460
+ # Source-Hash: 6b503ed1b7d1569b
22461
+ # Review: required
22462
+ # English: "Panel Relief"
22013
22463
  #: packages/nodes/src/column/panel.tsx
22014
22464
  #, fuzzy
22015
- msgid "node.column.panel.noTop"
22016
- msgstr "无柱头"
22465
+ msgid "node.column.panel.panelInsetDepth"
22466
+ msgstr "面板浮雕"
22017
22467
 
22018
- # Source-Hash: 4da8688437f64db8
22468
+ # AI-Provider: claude-code
22469
+ # AI-Model: claude-opus-5-5
22470
+ # Source-Hash: 3332ef0ae3f455b0
22019
22471
  # Review: required
22472
+ # English: "Panelled"
22473
+ #: packages/nodes/src/column/panel.tsx
22474
+ #, fuzzy
22475
+ msgid "node.column.panel.panelled"
22476
+ msgstr "镶板"
22477
+
22020
22478
  # AI-Provider: claude-code
22021
22479
  # AI-Model: claude-opus-5-5
22022
- # English: "Plinth Thickness"
22480
+ # Source-Hash: 734c75436555233f
22481
+ # Review: required
22482
+ # English: "Panelled Pedestal"
22023
22483
  #: packages/nodes/src/column/panel.tsx
22024
22484
  #, fuzzy
22025
- msgid "node.column.panel.plinthThickness"
22026
- msgstr "柱基厚度"
22485
+ msgid "node.column.panel.panelledPedestal"
22486
+ msgstr "镶板基座"
22027
22487
 
22028
- # Source-Hash: 0bf453b4882c663c
22488
+ # AI-Provider: claude-code
22489
+ # AI-Model: claude-opus-5-5
22490
+ # Source-Hash: efe3a9af7ede09f5
22029
22491
  # Review: required
22492
+ # English: "Panel shape"
22493
+ #: packages/nodes/src/column/panel.tsx
22494
+ #, fuzzy
22495
+ msgid "node.column.panel.panelShape"
22496
+ msgstr "面板形状"
22497
+
22030
22498
  # AI-Provider: claude-code
22031
22499
  # AI-Model: claude-opus-5-5
22032
- # English: "Portal Frame"
22500
+ # Source-Hash: 1742cce555f51b78
22501
+ # Review: required
22502
+ # English: "Pendants"
22033
22503
  #: packages/nodes/src/column/panel.tsx
22034
22504
  #, fuzzy
22035
- msgid "node.column.panel.portalFrame"
22036
- msgstr "门式框架"
22505
+ msgid "node.column.panel.pendantCount"
22506
+ msgstr "垂饰"
22037
22507
 
22038
- # Source-Hash: 441f7f652ea6a0d8
22508
+ # AI-Provider: claude-code
22509
+ # AI-Model: claude-opus-5-5
22510
+ # Source-Hash: 9f0680b4bd973026
22039
22511
  # Review: required
22512
+ # English: "Plain"
22513
+ #: packages/nodes/src/column/panel.tsx
22514
+ #, fuzzy
22515
+ msgid "node.column.panel.plain"
22516
+ msgstr "素面"
22517
+
22040
22518
  # AI-Provider: claude-code
22041
22519
  # AI-Model: claude-opus-5-5
22042
- # English: "Preset"
22520
+ # Source-Hash: 642987dea5693bb0
22521
+ # Review: required
22522
+ # English: "Plinth Height Fraction"
22043
22523
  #: packages/nodes/src/column/panel.tsx
22044
22524
  #, fuzzy
22045
- msgid "node.column.panel.preset"
22046
- msgstr "预设"
22525
+ msgid "node.column.panel.plinthHeightFraction"
22526
+ msgstr "柱基高度占比"
22527
+
22528
+ # AI-Provider: claude-code
22529
+ # AI-Model: claude-opus-5-5
22530
+ # Source-Hash: 96ad4bd0f7baa40e
22531
+ # Review: required
22532
+ # English: "Profile"
22533
+ #: packages/nodes/src/column/panel.tsx
22534
+ #, fuzzy
22535
+ msgid "node.column.panel.profile"
22536
+ msgstr "轮廓"
22537
+
22538
+ # AI-Provider: claude-code
22539
+ # AI-Model: claude-opus-5-5
22540
+ # Source-Hash: 2c2c20272b0370cc
22541
+ # Review: required
22542
+ # English: "Rectangle"
22543
+ #: packages/nodes/src/column/panel.tsx
22544
+ #, fuzzy
22545
+ msgid "node.column.panel.rectangle"
22546
+ msgstr "矩形"
22047
22547
 
22048
22548
  # Source-Hash: f29fef1beeb25f22
22049
22549
  # Review: required
@@ -22055,6 +22555,96 @@ msgstr "预设"
22055
22555
  msgid "node.column.panel.rectangular"
22056
22556
  msgstr "矩形"
22057
22557
 
22558
+ # AI-Provider: claude-code
22559
+ # AI-Model: claude-opus-5-5
22560
+ # Source-Hash: 07096122904e293c
22561
+ # Review: required
22562
+ # English: "Reset base"
22563
+ #: packages/nodes/src/column/panel.tsx
22564
+ #, fuzzy
22565
+ msgid "node.column.panel.resetBase"
22566
+ msgstr "重置柱础"
22567
+
22568
+ # AI-Provider: claude-code
22569
+ # AI-Model: claude-opus-5-5
22570
+ # Source-Hash: 06c87de417e85470
22571
+ # Review: required
22572
+ # English: "Reset capital"
22573
+ #: packages/nodes/src/column/panel.tsx
22574
+ #, fuzzy
22575
+ msgid "node.column.panel.resetCapital"
22576
+ msgstr "重置柱头"
22577
+
22578
+ # AI-Provider: claude-code
22579
+ # AI-Model: claude-opus-5-5
22580
+ # Source-Hash: 3636d202511854e5
22581
+ # Review: required
22582
+ # English: "Reset materials"
22583
+ #: packages/nodes/src/column/panel.tsx
22584
+ #, fuzzy
22585
+ msgid "node.column.panel.resetMaterials"
22586
+ msgstr "重置材质"
22587
+
22588
+ # AI-Provider: claude-code
22589
+ # AI-Model: claude-opus-5-5
22590
+ # Source-Hash: 94b0d78e787246d7
22591
+ # Review: required
22592
+ # English: "Reset profile"
22593
+ #: packages/nodes/src/column/panel.tsx
22594
+ #, fuzzy
22595
+ msgid "node.column.panel.resetProfile"
22596
+ msgstr "重置轮廓"
22597
+
22598
+ # AI-Provider: claude-code
22599
+ # AI-Model: claude-opus-5-5
22600
+ # Source-Hash: b3316cff09204a85
22601
+ # Review: required
22602
+ # English: "Reset shape"
22603
+ #: packages/nodes/src/column/panel.tsx
22604
+ #, fuzzy
22605
+ msgid "node.column.panel.resetShape"
22606
+ msgstr "重置形状"
22607
+
22608
+ # AI-Provider: claude-code
22609
+ # AI-Model: claude-opus-5-5
22610
+ # Source-Hash: 82af49f4195cd4ac
22611
+ # Review: required
22612
+ # English: "Reset size"
22613
+ #: packages/nodes/src/column/panel.tsx
22614
+ #, fuzzy
22615
+ msgid "node.column.panel.resetSize"
22616
+ msgstr "重置尺寸"
22617
+
22618
+ # AI-Provider: claude-code
22619
+ # AI-Model: claude-opus-5-5
22620
+ # Source-Hash: d0618e3f3e654397
22621
+ # Review: required
22622
+ # English: "Reset surface details"
22623
+ #: packages/nodes/src/column/panel.tsx
22624
+ #, fuzzy
22625
+ msgid "node.column.panel.resetSurfaceDetails"
22626
+ msgstr "重置表面细节"
22627
+
22628
+ # AI-Provider: claude-code
22629
+ # AI-Model: claude-opus-5-5
22630
+ # Source-Hash: 75750b2b96267be1
22631
+ # Review: required
22632
+ # English: "Reset transform"
22633
+ #: packages/nodes/src/column/panel.tsx
22634
+ #, fuzzy
22635
+ msgid "node.column.panel.resetTransform"
22636
+ msgstr "重置变换"
22637
+
22638
+ # AI-Provider: claude-code
22639
+ # AI-Model: claude-opus-5-5
22640
+ # Source-Hash: 0a98ea93d3b14774
22641
+ # Review: required
22642
+ # English: "Ribbed Lotus"
22643
+ #: packages/nodes/src/column/panel.tsx
22644
+ #, fuzzy
22645
+ msgid "node.column.panel.ribbedLotus"
22646
+ msgstr "棱纹莲花"
22647
+
22058
22648
  # Source-Hash: 23b9d290b165cd49
22059
22649
  # Review: required
22060
22650
  # AI-Provider: claude-code
@@ -22065,15 +22655,15 @@ msgstr "矩形"
22065
22655
  msgid "node.column.panel.ringPairs"
22066
22656
  msgstr "环对数"
22067
22657
 
22068
- # Source-Hash: 8db82d731a19651e
22069
- # Review: required
22070
22658
  # AI-Provider: claude-code
22071
22659
  # AI-Model: claude-opus-5-5
22072
- # English: "Ring Spread"
22660
+ # Source-Hash: cf364ce8e1154b23
22661
+ # Review: required
22662
+ # English: "Ring Spread Ratio"
22073
22663
  #: packages/nodes/src/column/panel.tsx
22074
22664
  #, fuzzy
22075
- msgid "node.column.panel.ringSpread"
22076
- msgstr "环间距"
22665
+ msgid "node.column.panel.ringSpreadRatio"
22666
+ msgstr "环间距比例"
22077
22667
 
22078
22668
  # Source-Hash: bdb524a15d9e1509
22079
22669
  # Review: required
@@ -22085,55 +22675,55 @@ msgstr "环间距"
22085
22675
  msgid "node.column.panel.ringThickness"
22086
22676
  msgstr "环厚度"
22087
22677
 
22088
- # Source-Hash: ad0457800a1f0eb4
22089
- # Review: required
22090
22678
  # AI-Provider: claude-code
22091
22679
  # AI-Model: claude-opus-5-5
22092
- # English: "Round"
22680
+ # Source-Hash: 01989595ee7c1dc0
22681
+ # Review: required
22682
+ # English: "Rotation"
22093
22683
  #: packages/nodes/src/column/panel.tsx
22094
22684
  #, fuzzy
22095
- msgid "node.column.panel.round"
22096
- msgstr "圆形"
22685
+ msgid "node.column.panel.rotation"
22686
+ msgstr "旋转"
22097
22687
 
22098
- # Source-Hash: baa84a2d17095dcf
22688
+ # Source-Hash: ad0457800a1f0eb4
22099
22689
  # Review: required
22100
22690
  # AI-Provider: claude-code
22101
22691
  # AI-Model: claude-opus-5-5
22102
- # English: "Round Band Width"
22692
+ # English: "Round"
22103
22693
  #: packages/nodes/src/column/panel.tsx
22104
22694
  #, fuzzy
22105
- msgid "node.column.panel.roundBandWidth"
22106
- msgstr "圆环带宽度"
22695
+ msgid "node.column.panel.round"
22696
+ msgstr "圆形"
22107
22697
 
22108
- # Source-Hash: 5f1f67fb0ca59a6d
22109
- # Review: required
22110
22698
  # AI-Provider: claude-code
22111
22699
  # AI-Model: claude-opus-5-5
22112
- # English: "Rounded Bottom"
22700
+ # Source-Hash: fc826da6c99303e6
22701
+ # Review: required
22702
+ # English: "Rounded"
22113
22703
  #: packages/nodes/src/column/panel.tsx
22114
22704
  #, fuzzy
22115
- msgid "node.column.panel.roundedBottom"
22116
- msgstr "圆形底座"
22705
+ msgid "node.column.panel.rounded"
22706
+ msgstr "圆角"
22117
22707
 
22118
- # Source-Hash: 446816980ed0da27
22119
- # Review: required
22120
22708
  # AI-Provider: claude-code
22121
22709
  # AI-Model: claude-opus-5-5
22122
- # English: "Rounded Top"
22710
+ # Source-Hash: 04945d148ddddfce
22711
+ # Review: required
22712
+ # English: "Round Rings"
22123
22713
  #: packages/nodes/src/column/panel.tsx
22124
22714
  #, fuzzy
22125
- msgid "node.column.panel.roundedTop"
22126
- msgstr "圆形柱头"
22715
+ msgid "node.column.panel.roundRings"
22716
+ msgstr "圆环"
22127
22717
 
22128
- # Source-Hash: 9e554c26be80f0d0
22129
- # Review: required
22130
22718
  # AI-Provider: claude-code
22131
22719
  # AI-Model: claude-opus-5-5
22132
- # English: "Segment Twist"
22720
+ # Source-Hash: e08860e0c3f2e081
22721
+ # Review: required
22722
+ # English: "Scales multiply the dimensions in Size. A ratio of 0.2 means 20%."
22133
22723
  #: packages/nodes/src/column/panel.tsx
22134
22724
  #, fuzzy
22135
- msgid "node.column.panel.segmentTwist"
22136
- msgstr "分段扭转"
22725
+ msgid "node.column.panel.scalesMultiplyTheDimensionsInSize"
22726
+ msgstr "比例会与“尺寸”中的数值相乘。0.2 表示 20%。"
22137
22727
 
22138
22728
  # Source-Hash: 4fc63ad21de30103
22139
22729
  # Review: required
@@ -22155,15 +22745,35 @@ msgstr "井道"
22155
22745
  msgid "node.column.panel.shaftCornerRadius"
22156
22746
  msgstr "柱身圆角半径"
22157
22747
 
22158
- # Source-Hash: 3dab61aeb47e504d
22748
+ # AI-Provider: claude-code
22749
+ # AI-Model: claude-opus-5-5
22750
+ # Source-Hash: 5a135f294b02a092
22159
22751
  # Review: required
22752
+ # English: "Shaft detail"
22753
+ #: packages/nodes/src/column/panel.tsx
22754
+ #, fuzzy
22755
+ msgid "node.column.panel.shaftDetail"
22756
+ msgstr "柱身细节"
22757
+
22160
22758
  # AI-Provider: claude-code
22161
22759
  # AI-Model: claude-opus-5-5
22162
- # English: "Shaft Width"
22760
+ # Source-Hash: 7b983a1ad9667719
22761
+ # Review: required
22762
+ # English: "Shaft profile"
22163
22763
  #: packages/nodes/src/column/panel.tsx
22164
22764
  #, fuzzy
22165
- msgid "node.column.panel.shaftWidth"
22166
- msgstr "柱身宽度"
22765
+ msgid "node.column.panel.shaftProfile"
22766
+ msgstr "柱身轮廓"
22767
+
22768
+ # AI-Provider: claude-code
22769
+ # AI-Model: claude-opus-5-5
22770
+ # Source-Hash: f23c2ea65fb94e30
22771
+ # Review: required
22772
+ # English: "Shaft Scale"
22773
+ #: packages/nodes/src/column/panel.tsx
22774
+ #, fuzzy
22775
+ msgid "node.column.panel.shaftScale"
22776
+ msgstr "柱身比例"
22167
22777
 
22168
22778
  # Source-Hash: 85ea1d3c8b749680
22169
22779
  # Review: required
@@ -22185,35 +22795,55 @@ msgstr "形状"
22185
22795
  msgid "node.column.panel.shortStout"
22186
22796
  msgstr "短粗"
22187
22797
 
22188
- # Source-Hash: 4637a9a61638cc66
22189
- # Review: required
22190
22798
  # AI-Provider: claude-code
22191
22799
  # AI-Model: claude-opus-5-5
22192
- # English: "Simple Block Bottom"
22800
+ # Source-Hash: a05a390ae205fdd8
22801
+ # Review: required
22802
+ # English: "Simple"
22193
22803
  #: packages/nodes/src/column/panel.tsx
22194
22804
  #, fuzzy
22195
- msgid "node.column.panel.simpleBlockBottom"
22196
- msgstr "简单块状底座"
22805
+ msgid "node.column.panel.simple"
22806
+ msgstr "简约"
22197
22807
 
22198
- # Source-Hash: 9278f9b4a48208b0
22808
+ # AI-Provider: claude-code
22809
+ # AI-Model: claude-opus-5-5
22810
+ # Source-Hash: e6d1bf2e70e5d5c2
22199
22811
  # Review: required
22812
+ # English: "Simple Slab"
22813
+ #: packages/nodes/src/column/panel.tsx
22814
+ #, fuzzy
22815
+ msgid "node.column.panel.simpleSlab"
22816
+ msgstr "简单板式"
22817
+
22200
22818
  # AI-Provider: claude-code
22201
22819
  # AI-Model: claude-opus-5-5
22202
- # English: "Simple Top"
22820
+ # Source-Hash: b287189cec36ae84
22821
+ # Review: required
22822
+ # English: "Simple Square"
22203
22823
  #: packages/nodes/src/column/panel.tsx
22204
22824
  #, fuzzy
22205
- msgid "node.column.panel.simpleTop"
22206
- msgstr "简单柱头"
22825
+ msgid "node.column.panel.simpleSquare"
22826
+ msgstr "简单方形"
22207
22827
 
22208
- # Source-Hash: 9099890734ae1238
22828
+ # AI-Provider: claude-code
22829
+ # AI-Model: claude-opus-5-5
22830
+ # Source-Hash: 7dd0384e4fdd974a
22209
22831
  # Review: required
22832
+ # English: "Sixteen Sided"
22833
+ #: packages/nodes/src/column/panel.tsx
22834
+ #, fuzzy
22835
+ msgid "node.column.panel.sixteenSided"
22836
+ msgstr "十六边形"
22837
+
22210
22838
  # AI-Provider: claude-code
22211
22839
  # AI-Model: claude-opus-5-5
22212
- # English: "Single Strut"
22840
+ # Source-Hash: 60bb3338e0ad558c
22841
+ # Review: required
22842
+ # English: "Size"
22213
22843
  #: packages/nodes/src/column/panel.tsx
22214
22844
  #, fuzzy
22215
- msgid "node.column.panel.singleStrut"
22216
- msgstr "单撑杆"
22845
+ msgid "node.column.panel.size"
22846
+ msgstr "尺寸"
22217
22847
 
22218
22848
  # Source-Hash: d87ce271009ce063
22219
22849
  # Review: required
@@ -22225,6 +22855,46 @@ msgstr "单撑杆"
22225
22855
  msgid "node.column.panel.slender"
22226
22856
  msgstr "纤细"
22227
22857
 
22858
+ # AI-Provider: claude-code
22859
+ # AI-Model: claude-opus-5-5
22860
+ # Source-Hash: 8560a17c90378be7
22861
+ # Review: required
22862
+ # English: "South Indian Bracket"
22863
+ #: packages/nodes/src/column/panel.tsx
22864
+ #, fuzzy
22865
+ msgid "node.column.panel.southIndianBracket"
22866
+ msgstr "南印度托架"
22867
+
22868
+ # AI-Provider: claude-code
22869
+ # AI-Model: claude-opus-5-5
22870
+ # Source-Hash: f9a4a870cb3d3c41
22871
+ # Review: required
22872
+ # English: "Spiral"
22873
+ #: packages/nodes/src/column/panel.tsx
22874
+ #, fuzzy
22875
+ msgid "node.column.panel.spiral"
22876
+ msgstr "螺旋"
22877
+
22878
+ # AI-Provider: claude-code
22879
+ # AI-Model: claude-opus-5-5
22880
+ # Source-Hash: 3bc28afe08c59aa1
22881
+ # Review: required
22882
+ # English: "Spiral Ribs"
22883
+ #: packages/nodes/src/column/panel.tsx
22884
+ #, fuzzy
22885
+ msgid "node.column.panel.spiralRibCount"
22886
+ msgstr "螺旋棱数"
22887
+
22888
+ # AI-Provider: claude-code
22889
+ # AI-Model: claude-opus-5-5
22890
+ # Source-Hash: 5ed49f8a45407932
22891
+ # Review: required
22892
+ # English: "Spiral Turns"
22893
+ #: packages/nodes/src/column/panel.tsx
22894
+ #, fuzzy
22895
+ msgid "node.column.panel.spiralTwist"
22896
+ msgstr "螺旋圈数"
22897
+
22228
22898
  # Source-Hash: 39287346366fc206
22229
22899
  # Review: required
22230
22900
  # AI-Provider: claude-code
@@ -22235,15 +22905,15 @@ msgstr "纤细"
22235
22905
  msgid "node.column.panel.square"
22236
22906
  msgstr "方形"
22237
22907
 
22238
- # Source-Hash: 2dc84759d8df709d
22239
- # Review: required
22240
22908
  # AI-Provider: claude-code
22241
22909
  # AI-Model: claude-opus-5-5
22242
- # English: "Square Plinth Bottom"
22910
+ # Source-Hash: 3b857b27d5a49b0c
22911
+ # Review: required
22912
+ # English: "Square Plinth"
22243
22913
  #: packages/nodes/src/column/panel.tsx
22244
22914
  #, fuzzy
22245
- msgid "node.column.panel.squarePlinthBottom"
22246
- msgstr "方形柱基底座"
22915
+ msgid "node.column.panel.squarePlinth"
22916
+ msgstr "方形柱基"
22247
22917
 
22248
22918
  # Source-Hash: d998c212030bc7c2
22249
22919
  # Review: required
@@ -22255,25 +22925,35 @@ msgstr "方形柱基底座"
22255
22925
  msgid "node.column.panel.standard"
22256
22926
  msgstr "标准"
22257
22927
 
22258
- # Source-Hash: 01a6393135e0fb10
22259
- # Review: required
22260
22928
  # AI-Provider: claude-code
22261
22929
  # AI-Model: claude-opus-5-5
22262
- # English: "Stepped Bottom"
22930
+ # Source-Hash: 2c6b1cf17a973d67
22931
+ # Review: required
22932
+ # English: "Stepped"
22263
22933
  #: packages/nodes/src/column/panel.tsx
22264
22934
  #, fuzzy
22265
- msgid "node.column.panel.steppedBottom"
22266
- msgstr "阶梯底座"
22935
+ msgid "node.column.panel.stepped"
22936
+ msgstr "阶梯"
22267
22937
 
22268
- # Source-Hash: 3d7e443797d4146e
22938
+ # AI-Provider: claude-code
22939
+ # AI-Model: claude-opus-5-5
22940
+ # Source-Hash: cbaa245faee497e0
22269
22941
  # Review: required
22942
+ # English: "Stepped Square"
22943
+ #: packages/nodes/src/column/panel.tsx
22944
+ #, fuzzy
22945
+ msgid "node.column.panel.steppedSquare"
22946
+ msgstr "阶梯方形"
22947
+
22270
22948
  # AI-Provider: claude-code
22271
22949
  # AI-Model: claude-opus-5-5
22272
- # English: "Stepped Top"
22950
+ # Source-Hash: a795c69630b88d66
22951
+ # Review: required
22952
+ # English: "Step Scale Reduction"
22273
22953
  #: packages/nodes/src/column/panel.tsx
22274
22954
  #, fuzzy
22275
- msgid "node.column.panel.steppedTop"
22276
- msgstr "阶梯柱头"
22955
+ msgid "node.column.panel.stepScaleReduction"
22956
+ msgstr "逐级缩小比例"
22277
22957
 
22278
22958
  # Source-Hash: 4ee35f740730ae87
22279
22959
  # Review: required
@@ -22285,15 +22965,25 @@ msgstr "阶梯柱头"
22285
22965
  msgid "node.column.panel.straight"
22286
22966
  msgstr "直跑"
22287
22967
 
22288
- # Source-Hash: 6063ae2877faa35d
22968
+ # AI-Provider: claude-code
22969
+ # AI-Model: claude-opus-5-5
22970
+ # Source-Hash: 1a79a485d91f3f28
22289
22971
  # Review: required
22972
+ # English: "Style"
22973
+ #: packages/nodes/src/column/panel.tsx
22974
+ #, fuzzy
22975
+ msgid "node.column.panel.style"
22976
+ msgstr "样式"
22977
+
22290
22978
  # AI-Provider: claude-code
22291
22979
  # AI-Model: claude-opus-5-5
22292
- # English: "Taper"
22980
+ # Source-Hash: f6794564a5cb6eaa
22981
+ # Review: required
22982
+ # English: "Surface Details"
22293
22983
  #: packages/nodes/src/column/panel.tsx
22294
22984
  #, fuzzy
22295
- msgid "node.column.panel.taper"
22296
- msgstr "收分"
22985
+ msgid "node.column.panel.surfaceDetails"
22986
+ msgstr "表面细节"
22297
22987
 
22298
22988
  # Source-Hash: f86f1f22230596b7
22299
22989
  # Review: required
@@ -22305,65 +22995,45 @@ msgstr "收分"
22305
22995
  msgid "node.column.panel.tapered"
22306
22996
  msgstr "锥形"
22307
22997
 
22308
- # Source-Hash: 3e7ec47626ee3f22
22309
- # Review: required
22310
22998
  # AI-Provider: claude-code
22311
22999
  # AI-Model: claude-opus-5-5
22312
- # English: "Top Depth"
22313
- #: packages/nodes/src/column/panel.tsx
22314
- #, fuzzy
22315
- msgid "node.column.panel.topDepth"
22316
- msgstr "顶部深度"
22317
-
22318
- # Source-Hash: 0ca9047731784f56
23000
+ # Source-Hash: f7b112a6556f22a5
22319
23001
  # Review: required
22320
- # AI-Provider: claude-code
22321
- # AI-Model: claude-opus-5-5
22322
- # English: "Top Height"
23002
+ # English: "Taper Ratio"
22323
23003
  #: packages/nodes/src/column/panel.tsx
22324
23004
  #, fuzzy
22325
- msgid "node.column.panel.topHeight"
22326
- msgstr "顶部高度"
23005
+ msgid "node.column.panel.taperRatio"
23006
+ msgstr "收分比例"
22327
23007
 
22328
- # Source-Hash: 3d8a2be83b5b536a
22329
- # Review: required
22330
23008
  # AI-Provider: claude-code
22331
23009
  # AI-Model: claude-opus-5-5
22332
- # English: "Top Spread"
22333
- #: packages/nodes/src/column/panel.tsx
22334
- #, fuzzy
22335
- msgid "node.column.panel.topSpread"
22336
- msgstr "顶部张开"
22337
-
22338
- # Source-Hash: f4ae0dc639dbc220
23010
+ # Source-Hash: 21aa2897242f6529
22339
23011
  # Review: required
22340
- # AI-Provider: claude-code
22341
- # AI-Model: claude-opus-5-5
22342
- # English: "Top Step Spread"
23012
+ # English: "Tier Count"
22343
23013
  #: packages/nodes/src/column/panel.tsx
22344
23014
  #, fuzzy
22345
- msgid "node.column.panel.topStepSpread"
22346
- msgstr "顶部台阶间距"
23015
+ msgid "node.column.panel.tierCount"
23016
+ msgstr "层数"
22347
23017
 
22348
- # Source-Hash: 8acc4e843934b086
22349
- # Review: required
22350
23018
  # AI-Provider: claude-code
22351
23019
  # AI-Model: claude-opus-5-5
22352
- # English: "Top Tiers"
23020
+ # Source-Hash: 75991d106eb93dae
23021
+ # Review: required
23022
+ # English: "Top Scale"
22353
23023
  #: packages/nodes/src/column/panel.tsx
22354
23024
  #, fuzzy
22355
- msgid "node.column.panel.topTiers"
22356
- msgstr "顶部层数"
23025
+ msgid "node.column.panel.topScale"
23026
+ msgstr "顶部比例"
22357
23027
 
22358
- # Source-Hash: a50eb6400611a57c
23028
+ # Source-Hash: 3d8a2be83b5b536a
22359
23029
  # Review: required
22360
23030
  # AI-Provider: claude-code
22361
23031
  # AI-Model: claude-opus-5-5
22362
- # English: "Top Width"
23032
+ # English: "Top Spread"
22363
23033
  #: packages/nodes/src/column/panel.tsx
22364
23034
  #, fuzzy
22365
- msgid "node.column.panel.topWidth"
22366
- msgstr "顶部宽度"
23035
+ msgid "node.column.panel.topSpread"
23036
+ msgstr "顶部张开"
22367
23037
 
22368
23038
  # Source-Hash: f425799b82e085ed
22369
23039
  # Review: required
@@ -22375,25 +23045,15 @@ msgstr "顶部宽度"
22375
23045
  msgid "node.column.panel.transform"
22376
23046
  msgstr "变换"
22377
23047
 
22378
- # Source-Hash: 952fd1ef187c6646
22379
- # Review: required
22380
23048
  # AI-Provider: claude-code
22381
23049
  # AI-Model: claude-opus-5-5
22382
- # English: "Trestle"
22383
- #: packages/nodes/src/column/panel.tsx
22384
- #, fuzzy
22385
- msgid "node.column.panel.trestle"
22386
- msgstr "支架"
22387
-
22388
- # Source-Hash: 7430dad59aaf98f4
23050
+ # Source-Hash: b99175b7ac8aa206
22389
23051
  # Review: required
22390
- # AI-Provider: claude-code
22391
- # AI-Model: claude-opus-5-5
22392
- # English: "Tripod"
23052
+ # English: "Twist per Segment"
22393
23053
  #: packages/nodes/src/column/panel.tsx
22394
23054
  #, fuzzy
22395
- msgid "node.column.panel.tripod"
22396
- msgstr "三脚"
23055
+ msgid "node.column.panel.twistPerSegment"
23056
+ msgstr "每段扭转"
22397
23057
 
22398
23058
  # Source-Hash: 0db559f22647ec73
22399
23059
  # Review: required
@@ -22405,35 +23065,45 @@ msgstr "三脚"
22405
23065
  msgid "node.column.panel.twistSegments"
22406
23066
  msgstr "扭转分段"
22407
23067
 
22408
- # Source-Hash: 8038a34ffebf4932
22409
- # Review: required
22410
23068
  # AI-Provider: claude-code
22411
23069
  # AI-Model: claude-opus-5-5
22412
- # English: "Vertical"
23070
+ # Source-Hash: 4d8bfac0809e9f7c
23071
+ # Review: required
23072
+ # English: "Volute"
22413
23073
  #: packages/nodes/src/column/panel.tsx
22414
23074
  #, fuzzy
22415
- msgid "node.column.panel.vertical"
22416
- msgstr "垂直"
23075
+ msgid "node.column.panel.volute"
23076
+ msgstr "涡卷"
22417
23077
 
22418
- # Source-Hash: f24cc343d79acc10
22419
- # Review: required
22420
23078
  # AI-Provider: claude-code
22421
23079
  # AI-Model: claude-opus-5-5
22422
- # English: "V Support"
23080
+ # Source-Hash: 7c352c005719e3a2
23081
+ # Review: required
23082
+ # English: "Volutes"
22423
23083
  #: packages/nodes/src/column/panel.tsx
22424
23084
  #, fuzzy
22425
- msgid "node.column.panel.vSupport"
22426
- msgstr "V 形支撑"
23085
+ msgid "node.column.panel.voluteCount"
23086
+ msgstr "涡卷数"
22427
23087
 
22428
- # Source-Hash: 44dda7136b93c8ee
23088
+ # AI-Provider: claude-code
23089
+ # AI-Model: claude-opus-5-5
23090
+ # Source-Hash: 536aa9f690cfb81d
22429
23091
  # Review: required
23092
+ # English: "Volute Size"
23093
+ #: packages/nodes/src/column/panel.tsx
23094
+ #, fuzzy
23095
+ msgid "node.column.panel.voluteSize"
23096
+ msgstr "涡卷大小"
23097
+
22430
23098
  # AI-Provider: claude-code
22431
23099
  # AI-Model: claude-opus-5-5
22432
- # English: "Waist"
23100
+ # Source-Hash: fdce60f01800860f
23101
+ # Review: required
23102
+ # English: "Waist Reduction Ratio"
22433
23103
  #: packages/nodes/src/column/panel.tsx
22434
23104
  #, fuzzy
22435
- msgid "node.column.panel.waist"
22436
- msgstr "板式"
23105
+ msgid "node.column.panel.waistReductionRatio"
23106
+ msgstr "束腰比例"
22437
23107
 
22438
23108
  # Source-Hash: 3a0ccd6c46877a87
22439
23109
  # Review: required
@@ -22445,35 +23115,55 @@ msgstr "板式"
22445
23115
  msgid "node.column.panel.width"
22446
23116
  msgstr "宽度"
22447
23117
 
22448
- # Source-Hash: 4e6640dfff42cea4
22449
- # Review: required
22450
23118
  # AI-Provider: claude-code
22451
23119
  # AI-Model: claude-opus-5-5
22452
- # English: "X Brace"
23120
+ # Source-Hash: 4f4e9f2d97ef01f5
23121
+ # Review: required
23122
+ # English: "Width and depth scales multiply the dimensions in Size."
22453
23123
  #: packages/nodes/src/column/panel.tsx
22454
23124
  #, fuzzy
22455
- msgid "node.column.panel.xBrace"
22456
- msgstr "X 形支撑"
23125
+ msgid "node.column.panel.widthAndDepthScalesMultiplyThe"
23126
+ msgstr "宽度和深度比例会与“尺寸”中的数值相乘。"
22457
23127
 
22458
- # Source-Hash: fefc9b1cfb26b5a8
23128
+ # AI-Provider: claude-code
23129
+ # AI-Model: claude-opus-5-5
23130
+ # Source-Hash: eb0267f511beda4a
22459
23131
  # Review: required
23132
+ # English: "Width and depth scales use Size. Band and neck scales use the base footprint."
23133
+ #: packages/nodes/src/column/panel.tsx
23134
+ #, fuzzy
23135
+ msgid "node.column.panel.widthAndDepthScalesUseSize"
23136
+ msgstr "宽度和深度比例基于“尺寸”。箍带和柱颈比例基于柱础占地。"
23137
+
22460
23138
  # AI-Provider: claude-code
22461
23139
  # AI-Model: claude-opus-5-5
22462
- # English: "Yaw"
23140
+ # Source-Hash: cdb1d1dacff8560e
23141
+ # Review: required
23142
+ # English: "Width Scale"
22463
23143
  #: packages/nodes/src/column/panel.tsx
22464
23144
  #, fuzzy
22465
- msgid "node.column.panel.yaw"
22466
- msgstr "偏航"
23145
+ msgid "node.column.panel.widthScale"
23146
+ msgstr "宽度比例"
22467
23147
 
22468
- # Source-Hash: 86259690e332b66d
23148
+ # AI-Provider: claude-code
23149
+ # AI-Model: claude-opus-5-5
23150
+ # Source-Hash: d5bc7038c31682a9
22469
23151
  # Review: required
23152
+ # English: "Width Span"
23153
+ #: packages/nodes/src/column/panel.tsx
23154
+ #, fuzzy
23155
+ msgid "node.column.panel.widthSpan"
23156
+ msgstr "宽度跨度"
23157
+
22470
23158
  # AI-Provider: claude-code
22471
23159
  # AI-Model: claude-opus-5-5
22472
- # English: "Y Support"
23160
+ # Source-Hash: bc0503ea7ab743ed
23161
+ # Review: required
23162
+ # English: "Wood Bracket"
22473
23163
  #: packages/nodes/src/column/panel.tsx
22474
23164
  #, fuzzy
22475
- msgid "node.column.panel.ySupport"
22476
- msgstr "Y 形支撑"
23165
+ msgid "node.column.panel.woodBracket"
23166
+ msgstr "木托架"
22477
23167
 
22478
23168
  # Source-Hash: 4d3a89de7073d38d
22479
23169
  # Review: required
@@ -22580,7 +23270,7 @@ msgstr "非防腐"
22580
23270
  # AI-Provider: claude-code
22581
23271
  # AI-Model: claude-opus-5-5
22582
23272
  # English: "A-Frame Support"
22583
- #: packages/nodes/src/column/panel.tsx
23273
+ #: packages/nodes/src/column/preset-gallery.tsx
22584
23274
  #, fuzzy
22585
23275
  msgid "node.column.preset.aFrameSupport"
22586
23276
  msgstr "A 字支撑"
@@ -22590,7 +23280,7 @@ msgstr "A 字支撑"
22590
23280
  # AI-Provider: claude-code
22591
23281
  # AI-Model: claude-opus-5-5
22592
23282
  # English: "Straight Round"
22593
- #: packages/nodes/src/column/panel.tsx
23283
+ #: packages/nodes/src/column/preset-gallery.tsx
22594
23284
  #, fuzzy
22595
23285
  msgid "node.column.preset.basicPillar"
22596
23286
  msgstr "直圆柱"
@@ -22600,7 +23290,7 @@ msgstr "直圆柱"
22600
23290
  # AI-Provider: claude-code
22601
23291
  # AI-Model: claude-opus-5-5
22602
23292
  # English: "Box Frame"
22603
- #: packages/nodes/src/column/panel.tsx
23293
+ #: packages/nodes/src/column/preset-gallery.tsx
22604
23294
  #, fuzzy
22605
23295
  msgid "node.column.preset.boxFrameSupport"
22606
23296
  msgstr "箱形框架"
@@ -22610,7 +23300,7 @@ msgstr "箱形框架"
22610
23300
  # AI-Provider: claude-code
22611
23301
  # AI-Model: claude-opus-5-5
22612
23302
  # English: "Soft Bulged"
22613
- #: packages/nodes/src/column/panel.tsx
23303
+ #: packages/nodes/src/column/preset-gallery.tsx
22614
23304
  #, fuzzy
22615
23305
  msgid "node.column.preset.bulgedPillar"
22616
23306
  msgstr "微鼓形"
@@ -22620,7 +23310,7 @@ msgstr "微鼓形"
22620
23310
  # AI-Provider: claude-code
22621
23311
  # AI-Model: claude-opus-5-5
22622
23312
  # English: "Hourglass"
22623
- #: packages/nodes/src/column/panel.tsx
23313
+ #: packages/nodes/src/column/preset-gallery.tsx
22624
23314
  #, fuzzy
22625
23315
  msgid "node.column.preset.hourglassPillar"
22626
23316
  msgstr "沙漏形"
@@ -22630,7 +23320,7 @@ msgstr "沙漏形"
22630
23320
  # AI-Provider: claude-code
22631
23321
  # AI-Model: claude-opus-5-5
22632
23322
  # English: "K Brace"
22633
- #: packages/nodes/src/column/panel.tsx
23323
+ #: packages/nodes/src/column/preset-gallery.tsx
22634
23324
  #, fuzzy
22635
23325
  msgid "node.column.preset.kBraceSupport"
22636
23326
  msgstr "K 形支撑"
@@ -22640,7 +23330,7 @@ msgstr "K 形支撑"
22640
23330
  # AI-Provider: claude-code
22641
23331
  # AI-Model: claude-opus-5-5
22642
23332
  # English: "Portal Frame"
22643
- #: packages/nodes/src/column/panel.tsx
23333
+ #: packages/nodes/src/column/preset-gallery.tsx
22644
23334
  #, fuzzy
22645
23335
  msgid "node.column.preset.portalFrameSupport"
22646
23336
  msgstr "门式框架"
@@ -22650,7 +23340,7 @@ msgstr "门式框架"
22650
23340
  # AI-Provider: claude-code
22651
23341
  # AI-Model: claude-opus-5-5
22652
23342
  # English: "Single Strut"
22653
- #: packages/nodes/src/column/panel.tsx
23343
+ #: packages/nodes/src/column/preset-gallery.tsx
22654
23344
  #, fuzzy
22655
23345
  msgid "node.column.preset.singleStrutSupport"
22656
23346
  msgstr "单撑杆"
@@ -22660,7 +23350,7 @@ msgstr "单撑杆"
22660
23350
  # AI-Provider: claude-code
22661
23351
  # AI-Model: claude-opus-5-5
22662
23352
  # English: "Square Block"
22663
- #: packages/nodes/src/column/panel.tsx
23353
+ #: packages/nodes/src/column/preset-gallery.tsx
22664
23354
  #, fuzzy
22665
23355
  msgid "node.column.preset.squarePillar"
22666
23356
  msgstr "方柱"
@@ -22670,7 +23360,7 @@ msgstr "方柱"
22670
23360
  # AI-Provider: claude-code
22671
23361
  # AI-Model: claude-opus-5-5
22672
23362
  # English: "Tapered Round"
22673
- #: packages/nodes/src/column/panel.tsx
23363
+ #: packages/nodes/src/column/preset-gallery.tsx
22674
23364
  #, fuzzy
22675
23365
  msgid "node.column.preset.taperedPillar"
22676
23366
  msgstr "收分圆柱"
@@ -22680,7 +23370,7 @@ msgstr "收分圆柱"
22680
23370
  # AI-Provider: claude-code
22681
23371
  # AI-Model: claude-opus-5-5
22682
23372
  # English: "Trestle Frame"
22683
- #: packages/nodes/src/column/panel.tsx
23373
+ #: packages/nodes/src/column/preset-gallery.tsx
22684
23374
  #, fuzzy
22685
23375
  msgid "node.column.preset.trestleSupport"
22686
23376
  msgstr "支架框架"
@@ -22690,7 +23380,7 @@ msgstr "支架框架"
22690
23380
  # AI-Provider: claude-code
22691
23381
  # AI-Model: claude-opus-5-5
22692
23382
  # English: "Tripod Support"
22693
- #: packages/nodes/src/column/panel.tsx
23383
+ #: packages/nodes/src/column/preset-gallery.tsx
22694
23384
  #, fuzzy
22695
23385
  msgid "node.column.preset.tripodSupport"
22696
23386
  msgstr "三脚支撑"
@@ -22700,7 +23390,7 @@ msgstr "三脚支撑"
22700
23390
  # AI-Provider: claude-code
22701
23391
  # AI-Model: claude-opus-5-5
22702
23392
  # English: "V Support"
22703
- #: packages/nodes/src/column/panel.tsx
23393
+ #: packages/nodes/src/column/preset-gallery.tsx
22704
23394
  #, fuzzy
22705
23395
  msgid "node.column.preset.vFrameSupport"
22706
23396
  msgstr "V 形支撑"
@@ -22710,7 +23400,7 @@ msgstr "V 形支撑"
22710
23400
  # AI-Provider: claude-code
22711
23401
  # AI-Model: claude-opus-5-5
22712
23402
  # English: "X Brace"
22713
- #: packages/nodes/src/column/panel.tsx
23403
+ #: packages/nodes/src/column/preset-gallery.tsx
22714
23404
  #, fuzzy
22715
23405
  msgid "node.column.preset.xBraceSupport"
22716
23406
  msgstr "X 形支撑"
@@ -22720,11 +23410,51 @@ msgstr "X 形支撑"
22720
23410
  # AI-Provider: claude-code
22721
23411
  # AI-Model: claude-opus-5-5
22722
23412
  # English: "Y Support"
22723
- #: packages/nodes/src/column/panel.tsx
23413
+ #: packages/nodes/src/column/preset-gallery.tsx
22724
23414
  #, fuzzy
22725
23415
  msgid "node.column.preset.yFrameSupport"
22726
23416
  msgstr "Y 形支撑"
22727
23417
 
23418
+ # AI-Provider: claude-code
23419
+ # AI-Model: claude-opus-5-5
23420
+ # Source-Hash: c9bf954389349540
23421
+ # Review: required
23422
+ # English: "Apply {label} shape"
23423
+ #: packages/nodes/src/column/preset-gallery.tsx
23424
+ #, fuzzy
23425
+ msgid "node.column.presetGallery.applyLabelShape"
23426
+ msgstr "应用{label}形状"
23427
+
23428
+ # AI-Provider: claude-code
23429
+ # AI-Model: claude-opus-5-5
23430
+ # Source-Hash: d98edff9428038de
23431
+ # Review: required
23432
+ # English: "Choose a shape"
23433
+ #: packages/nodes/src/column/preset-gallery.tsx
23434
+ #, fuzzy
23435
+ msgid "node.column.presetGallery.chooseAShape"
23436
+ msgstr "选择形状"
23437
+
23438
+ # AI-Provider: claude-code
23439
+ # AI-Model: claude-opus-5-5
23440
+ # Source-Hash: 13bd6d71e7e6e345
23441
+ # Review: required
23442
+ # English: "Hover or focus to preview; click to apply. Materials are kept. Escape cancels the preview."
23443
+ #: packages/nodes/src/column/preset-gallery.tsx
23444
+ #, fuzzy
23445
+ msgid "node.column.presetGallery.hoverOrFocusToPreviewClick"
23446
+ msgstr "悬停或聚焦以预览;点击以应用。材质将保留。按 Esc 取消预览。"
23447
+
23448
+ # AI-Provider: claude-code
23449
+ # AI-Model: claude-opus-5-5
23450
+ # Source-Hash: 367dcd06db200682
23451
+ # Review: required
23452
+ # English: "Shape presets"
23453
+ #: packages/nodes/src/column/preset-gallery.tsx
23454
+ #, fuzzy
23455
+ msgid "node.column.presetGallery.shapePresets"
23456
+ msgstr "形状预设"
23457
+
22728
23458
  # Source-Hash: 895766ad1b766c2e
22729
23459
  # Review: required
22730
23460
  # AI-Provider: claude-code
@@ -24589,6 +25319,336 @@ msgstr "R/T 旋转"
24589
25319
  msgid "node.ductSegment.description"
24590
25320
  msgstr "暖通风管 — 由圆形、矩形或扁椭圆截面组成的折线。"
24591
25321
 
25322
+ # Source-Hash: c63202c40d7fbac5
25323
+ # Review: required
25324
+ # AI-Provider: cursor-agent
25325
+ # AI-Model: claude-opus-5-5
25326
+ # English: "Apply offset"
25327
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25328
+ #, fuzzy
25329
+ msgid "node.ductSegment.editInspector.applyOffset"
25330
+ msgstr "应用偏移"
25331
+
25332
+ # Source-Hash: 79cd694c04938730
25333
+ # Review: required
25334
+ # AI-Provider: cursor-agent
25335
+ # AI-Model: claude-opus-5-5
25336
+ # English: "Apply resize"
25337
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25338
+ #, fuzzy
25339
+ msgid "node.ductSegment.editInspector.applyResize"
25340
+ msgstr "应用尺寸调整"
25341
+
25342
+ # Source-Hash: f97058f9f79a49f7
25343
+ # Review: required
25344
+ # AI-Provider: cursor-agent
25345
+ # AI-Model: claude-opus-5-5
25346
+ # English: "Branch stops at junctions, size changes and equipment. Boundary collars stay fixed."
25347
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25348
+ #, fuzzy
25349
+ msgid "node.ductSegment.editInspector.branchStopsAtJunctionsSizeChanges"
25350
+ msgstr "分支在接头、尺寸变化处和设备处停止。边界套环保持固定。"
25351
+
25352
+ # Source-Hash: e5f62ba5c4a2e770
25353
+ # Review: required
25354
+ # AI-Provider: cursor-agent
25355
+ # AI-Model: claude-opus-5-5
25356
+ # English: "Connected same-size branch"
25357
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25358
+ #, fuzzy
25359
+ msgid "node.ductSegment.editInspector.connectedSameSizeBranch"
25360
+ msgstr "相连的同尺寸分支"
25361
+
25362
+ # Source-Hash: e704515c0fe2a6ca
25363
+ # Review: required
25364
+ # AI-Provider: cursor-agent
25365
+ # AI-Model: claude-opus-5-5
25366
+ # English: "Diameter (in)"
25367
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25368
+ #, fuzzy
25369
+ msgid "node.ductSegment.editInspector.diameter"
25370
+ msgstr "直径(in)"
25371
+
25372
+ # Source-Hash: 3fba7da8f5ce8470
25373
+ # Review: required
25374
+ # AI-Provider: cursor-agent
25375
+ # AI-Model: claude-opus-5-5
25376
+ # English: "Duct edit"
25377
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25378
+ #, fuzzy
25379
+ msgid "node.ductSegment.editInspector.ductEdit"
25380
+ msgstr "风管编辑"
25381
+
25382
+ # Source-Hash: 4c189ffbaf391531
25383
+ # Review: required
25384
+ # AI-Provider: cursor-agent
25385
+ # AI-Model: claude-opus-5-5
25386
+ # English: "Duct shape"
25387
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25388
+ #, fuzzy
25389
+ msgid "node.ductSegment.editInspector.ductShape"
25390
+ msgstr "风管形状"
25391
+
25392
+ # Source-Hash: 4196e9dba5038422
25393
+ # Review: required
25394
+ # AI-Provider: cursor-agent
25395
+ # AI-Model: claude-opus-5-5
25396
+ # English: "Edit duct route"
25397
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25398
+ #, fuzzy
25399
+ msgid "node.ductSegment.editInspector.editDuctRoute"
25400
+ msgstr "编辑风管走向"
25401
+
25402
+ # Source-Hash: e6ad8e30edf8b8dc
25403
+ # Review: required
25404
+ # AI-Provider: cursor-agent
25405
+ # AI-Model: claude-opus-5-5
25406
+ # English: "Face alignment applies to free straight runs. Left and right follow the run’s section axes."
25407
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25408
+ #, fuzzy
25409
+ msgid "node.ductSegment.editInspector.faceAlignmentAppliesToFreeStraight"
25410
+ msgstr "面对齐适用于自由的直管段。左和右按管段的截面轴确定。"
25411
+
25412
+ # Source-Hash: 98b9dbf56de61e41
25413
+ # Review: required
25414
+ # AI-Provider: cursor-agent
25415
+ # AI-Model: claude-opus-5-5
25416
+ # English: "First bend from start (m)"
25417
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25418
+ #, fuzzy
25419
+ msgid "node.ductSegment.editInspector.firstBend"
25420
+ msgstr "第一个弯头距起点(m)"
25421
+
25422
+ # Source-Hash: 46dd5dd1bd2712fd
25423
+ # Review: required
25424
+ # AI-Provider: cursor-agent
25425
+ # AI-Model: claude-opus-5-5
25426
+ # English: "Height (in)"
25427
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25428
+ #, fuzzy
25429
+ msgid "node.ductSegment.editInspector.height"
25430
+ msgstr "高度(in)"
25431
+
25432
+ # Source-Hash: 13b1dec096cefeda
25433
+ # Review: required
25434
+ # AI-Provider: cursor-agent
25435
+ # AI-Model: claude-opus-5-5
25436
+ # English: "Keep bottom face"
25437
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25438
+ #, fuzzy
25439
+ msgid "node.ductSegment.editInspector.keepBottomFace"
25440
+ msgstr "保持底面"
25441
+
25442
+ # Source-Hash: 4d1bae9a034eef7b
25443
+ # Review: required
25444
+ # AI-Provider: cursor-agent
25445
+ # AI-Model: claude-opus-5-5
25446
+ # English: "Keep centerline"
25447
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25448
+ #, fuzzy
25449
+ msgid "node.ductSegment.editInspector.keepCenterline"
25450
+ msgstr "保持中心线"
25451
+
25452
+ # Source-Hash: 66a2843e7ee53206
25453
+ # Review: required
25454
+ # AI-Provider: cursor-agent
25455
+ # AI-Model: claude-opus-5-5
25456
+ # English: "Keep left face"
25457
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25458
+ #, fuzzy
25459
+ msgid "node.ductSegment.editInspector.keepLeftFace"
25460
+ msgstr "保持左侧面"
25461
+
25462
+ # Source-Hash: 422d33d91000c6d5
25463
+ # Review: required
25464
+ # AI-Provider: cursor-agent
25465
+ # AI-Model: claude-opus-5-5
25466
+ # English: "Keep right face"
25467
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25468
+ #, fuzzy
25469
+ msgid "node.ductSegment.editInspector.keepRightFace"
25470
+ msgstr "保持右侧面"
25471
+
25472
+ # Source-Hash: d68b946185860736
25473
+ # Review: required
25474
+ # AI-Provider: cursor-agent
25475
+ # AI-Model: claude-opus-5-5
25476
+ # English: "Keep top face"
25477
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25478
+ #, fuzzy
25479
+ msgid "node.ductSegment.editInspector.keepTopFace"
25480
+ msgstr "保持顶面"
25481
+
25482
+ # Source-Hash: 5faa81fe58b2e707
25483
+ # Review: required
25484
+ # AI-Provider: cursor-agent
25485
+ # AI-Model: claude-opus-5-5
25486
+ # English: "Last bend from start (m)"
25487
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25488
+ #, fuzzy
25489
+ msgid "node.ductSegment.editInspector.lastBend"
25490
+ msgstr "最后一个弯头距起点(m)"
25491
+
25492
+ # Source-Hash: aac8ab5c8fe8dc80
25493
+ # Review: required
25494
+ # AI-Provider: cursor-agent
25495
+ # AI-Model: claude-opus-5-5
25496
+ # English: "Offset around obstacle"
25497
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25498
+ #, fuzzy
25499
+ msgid "node.ductSegment.editInspector.offsetAroundObstacle"
25500
+ msgstr "绕障偏移"
25501
+
25502
+ # Source-Hash: 57fd5f8ee7415f5c
25503
+ # Review: required
25504
+ # AI-Provider: cursor-agent
25505
+ # AI-Model: claude-opus-5-5
25506
+ # English: "Offset side elevation preview"
25507
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25508
+ #, fuzzy
25509
+ msgid "node.ductSegment.editInspector.offsetSideElevationPreview"
25510
+ msgstr "偏移侧立面预览"
25511
+
25512
+ # Source-Hash: ed6d7b3dd9d5fc69
25513
+ # Review: required
25514
+ # AI-Provider: cursor-agent
25515
+ # AI-Model: claude-opus-5-5
25516
+ # English: "Oval"
25517
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25518
+ #, fuzzy
25519
+ msgid "node.ductSegment.editInspector.oval"
25520
+ msgstr "椭圆"
25521
+
25522
+ # Source-Hash: 4196843b0dd8f46c
25523
+ # Review: required
25524
+ # AI-Provider: cursor-agent
25525
+ # AI-Model: claude-opus-5-5
25526
+ # English: "{affected, plural, one {# existing part affected} other {# existing parts affected}} · {created, plural, one {# new part} other {# new parts}}"
25527
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25528
+ #, fuzzy
25529
+ msgid "node.ductSegment.editInspector.partsSummary"
25530
+ msgstr "{affected, plural, other {影响 # 个现有构件}} · {created, plural, other {新增 # 个构件}}"
25531
+
25532
+ # Source-Hash: d548731cb7cf5d27
25533
+ # Review: required
25534
+ # AI-Provider: cursor-agent
25535
+ # AI-Model: claude-opus-5-5
25536
+ # English: "Positive moves up; negative moves down. Four elbows preserve both endpoints. Check the obstacle’s clearance; this does not detect collisions."
25537
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25538
+ #, fuzzy
25539
+ msgid "node.ductSegment.editInspector.positiveMovesUpNegativeMovesDown"
25540
+ msgstr "正值向上移动,负值向下移动。四个弯头保持两端不变。请检查障碍物的净距;此操作不检测碰撞。"
25541
+
25542
+ # Source-Hash: 3a046d5727f10a80
25543
+ # Review: required
25544
+ # AI-Provider: cursor-agent
25545
+ # AI-Model: claude-opus-5-5
25546
+ # English: "Preserve duct alignment"
25547
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25548
+ #, fuzzy
25549
+ msgid "node.ductSegment.editInspector.preserveDuctAlignment"
25550
+ msgstr "保持风管对齐方式"
25551
+
25552
+ # Source-Hash: f29fef1beeb25f22
25553
+ # Review: required
25554
+ # AI-Provider: cursor-agent
25555
+ # AI-Model: claude-opus-5-5
25556
+ # English: "Rectangular"
25557
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25558
+ #, fuzzy
25559
+ msgid "node.ductSegment.editInspector.rectangular"
25560
+ msgstr "矩形"
25561
+
25562
+ # Source-Hash: e8be4487b05f939d
25563
+ # Review: required
25564
+ # AI-Provider: cursor-agent
25565
+ # AI-Model: claude-opus-5-5
25566
+ # English: "Resize scope"
25567
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25568
+ #, fuzzy
25569
+ msgid "node.ductSegment.editInspector.resizeScope"
25570
+ msgstr "尺寸调整范围"
25571
+
25572
+ # Source-Hash: c4b16733095ad12f
25573
+ # Review: required
25574
+ # AI-Provider: cursor-agent
25575
+ # AI-Model: claude-opus-5-5
25576
+ # English: "Resize with connections"
25577
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25578
+ #, fuzzy
25579
+ msgid "node.ductSegment.editInspector.resizeWithConnections"
25580
+ msgstr "连同连接调整尺寸"
25581
+
25582
+ # Source-Hash: ad0457800a1f0eb4
25583
+ # Review: required
25584
+ # AI-Provider: cursor-agent
25585
+ # AI-Model: claude-opus-5-5
25586
+ # English: "Round"
25587
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25588
+ #, fuzzy
25589
+ msgid "node.ductSegment.editInspector.round"
25590
+ msgstr "圆形"
25591
+
25592
+ # Source-Hash: bf79b8c8e7a3ba17
25593
+ # Review: required
25594
+ # AI-Provider: cursor-agent
25595
+ # AI-Model: claude-opus-5-5
25596
+ # English: "Side elevation · dashed line is the original route"
25597
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25598
+ #, fuzzy
25599
+ msgid "node.ductSegment.editInspector.sideElevationDashedLineIsThe"
25600
+ msgstr "侧立面 · 虚线为原始走向"
25601
+
25602
+ # Source-Hash: d271518d800f3e1c
25603
+ # Review: required
25604
+ # AI-Provider: cursor-agent
25605
+ # AI-Model: claude-opus-5-5
25606
+ # English: "This segment"
25607
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25608
+ #, fuzzy
25609
+ msgid "node.ductSegment.editInspector.thisSegment"
25610
+ msgstr "此段"
25611
+
25612
+ # Source-Hash: 1bbbb491639e18e1
25613
+ # Review: required
25614
+ # AI-Provider: cursor-agent
25615
+ # AI-Model: claude-opus-5-5
25616
+ # English: "Unable to apply edit."
25617
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25618
+ #, fuzzy
25619
+ msgid "node.ductSegment.editInspector.unableToApplyEdit"
25620
+ msgstr "无法应用编辑。"
25621
+
25622
+ # Source-Hash: 0283a6615312b133
25623
+ # Review: required
25624
+ # AI-Provider: cursor-agent
25625
+ # AI-Model: claude-opus-5-5
25626
+ # English: "Unable to plan this edit."
25627
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25628
+ #, fuzzy
25629
+ msgid "node.ductSegment.editInspector.unableToPlanEdit"
25630
+ msgstr "无法规划此编辑。"
25631
+
25632
+ # Source-Hash: 2dad926bc0e26f4a
25633
+ # Review: required
25634
+ # AI-Provider: cursor-agent
25635
+ # AI-Model: claude-opus-5-5
25636
+ # English: "Vertical offset (m)"
25637
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25638
+ #, fuzzy
25639
+ msgid "node.ductSegment.editInspector.verticalOffset"
25640
+ msgstr "垂直偏移(m)"
25641
+
25642
+ # Source-Hash: 087cae2b0e372680
25643
+ # Review: required
25644
+ # AI-Provider: cursor-agent
25645
+ # AI-Model: claude-opus-5-5
25646
+ # English: "Width (in)"
25647
+ #: packages/nodes/src/duct-segment/edit-inspector.tsx
25648
+ #, fuzzy
25649
+ msgid "node.ductSegment.editInspector.width"
25650
+ msgstr "宽度(in)"
25651
+
24592
25652
  # Source-Hash: e971d82044e2f48e
24593
25653
  # Review: required
24594
25654
  # AI-Provider: claude-code
@@ -24720,6 +25780,16 @@ msgstr "轿厢"
24720
25780
  msgid "node.elevator.panel.cabHeight"
24721
25781
  msgstr "轿厢高度"
24722
25782
 
25783
+ # AI-Provider: claude-code
25784
+ # AI-Model: claude-opus-5-5
25785
+ # Source-Hash: 4068260bb7e3d54b
25786
+ # Review: required
25787
+ # English: "Clear cab interior: {width} × {depth} × {height} m. Door opening: {doorWidth} × {doorHeight} m."
25788
+ #: packages/nodes/src/elevator/panel.tsx
25789
+ #, fuzzy
25790
+ msgid "node.elevator.panel.cabInteriorAndDoorOpening"
25791
+ msgstr "轿厢净空:{width} × {depth} × {height} 米。门洞:{doorWidth} × {doorHeight} 米。"
25792
+
24723
25793
  # Source-Hash: 65f410261609060b
24724
25794
  # Review: required
24725
25795
  # AI-Provider: claude-code
@@ -24730,6 +25800,16 @@ msgstr "轿厢高度"
24730
25800
  msgid "node.elevator.panel.centerOpening"
24731
25801
  msgstr "中开"
24732
25802
 
25803
+ # AI-Provider: claude-code
25804
+ # AI-Model: claude-opus-5-5
25805
+ # Source-Hash: 1ad164e4dd09e856
25806
+ # Review: required
25807
+ # English: "Cutaway shaft"
25808
+ #: packages/nodes/src/elevator/panel.tsx
25809
+ #, fuzzy
25810
+ msgid "node.elevator.panel.cutawayShaft"
25811
+ msgstr "剖切井道"
25812
+
24733
25813
  # Source-Hash: c5433f4d3ea8a8a7
24734
25814
  # Review: required
24735
25815
  # AI-Provider: claude-code
@@ -24740,6 +25820,16 @@ msgstr "中开"
24740
25820
  msgid "node.elevator.panel.defaultFloor"
24741
25821
  msgstr "默认楼层"
24742
25822
 
25823
+ # AI-Provider: claude-code
25824
+ # AI-Model: claude-opus-5-5
25825
+ # Source-Hash: 948544e79db10407
25826
+ # Review: required
25827
+ # English: "Default floor"
25828
+ #: packages/nodes/src/elevator/panel.tsx
25829
+ #, fuzzy
25830
+ msgid "node.elevator.panel.defaultFloor2"
25831
+ msgstr "默认楼层"
25832
+
24743
25833
  # Source-Hash: b26de372b4b0eaac
24744
25834
  # Review: required
24745
25835
  # AI-Provider: claude-code
@@ -24780,6 +25870,16 @@ msgstr "目标"
24780
25870
  msgid "node.elevator.panel.disabled"
24781
25871
  msgstr "已停用"
24782
25872
 
25873
+ # AI-Provider: claude-code
25874
+ # AI-Model: claude-opus-5-5
25875
+ # Source-Hash: 42d26aa25a7b3dc5
25876
+ # Review: required
25877
+ # English: "Disable {level}"
25878
+ #: packages/nodes/src/elevator/panel.tsx
25879
+ #, fuzzy
25880
+ msgid "node.elevator.panel.disableLevel"
25881
+ msgstr "停用{level}"
25882
+
24783
25883
  # Source-Hash: d8baf402fa9c52f0
24784
25884
  # Review: required
24785
25885
  # AI-Provider: claude-code
@@ -24790,6 +25890,26 @@ msgstr "已停用"
24790
25890
  msgid "node.elevator.panel.doorHeight"
24791
25891
  msgstr "门高度"
24792
25892
 
25893
+ # AI-Provider: claude-code
25894
+ # AI-Model: claude-opus-5-5
25895
+ # Source-Hash: c694cae2f5a8d286
25896
+ # Review: required
25897
+ # English: "Door opening style"
25898
+ #: packages/nodes/src/elevator/panel.tsx
25899
+ #, fuzzy
25900
+ msgid "node.elevator.panel.doorOpeningStyle"
25901
+ msgstr "开门方式"
25902
+
25903
+ # AI-Provider: claude-code
25904
+ # AI-Model: claude-opus-5-5
25905
+ # Source-Hash: 990ae81752236e3a
25906
+ # Review: required
25907
+ # English: "Door panel style"
25908
+ #: packages/nodes/src/elevator/panel.tsx
25909
+ #, fuzzy
25910
+ msgid "node.elevator.panel.doorPanelStyle"
25911
+ msgstr "门板样式"
25912
+
24793
25913
  # Source-Hash: 20f60b98de67849b
24794
25914
  # Review: required
24795
25915
  # AI-Provider: claude-code
@@ -24870,6 +25990,16 @@ msgstr "电梯"
24870
25990
  msgid "node.elevator.panel.from"
24871
25991
  msgstr "起始"
24872
25992
 
25993
+ # AI-Provider: claude-code
25994
+ # AI-Model: claude-opus-5-5
25995
+ # Source-Hash: 4a7d8aa4abd3f13c
25996
+ # Review: required
25997
+ # English: "From level"
25998
+ #: packages/nodes/src/elevator/panel.tsx
25999
+ #, fuzzy
26000
+ msgid "node.elevator.panel.fromLevel"
26001
+ msgstr "起始楼层"
26002
+
24873
26003
  # Source-Hash: 8ab91094cf650204
24874
26004
  # Review: required
24875
26005
  # AI-Provider: claude-code
@@ -24890,6 +26020,16 @@ msgstr "玻璃"
24890
26020
  msgid "node.elevator.panel.glassFrame"
24891
26021
  msgstr "玻璃框"
24892
26022
 
26023
+ # AI-Provider: claude-code
26024
+ # AI-Model: claude-opus-5-5
26025
+ # Source-Hash: 612cfaf47ccef086
26026
+ # Review: required
26027
+ # English: "Hover or focus a section to highlight its parts. Cutaway affects this inspection only."
26028
+ #: packages/nodes/src/elevator/panel.tsx
26029
+ #, fuzzy
26030
+ msgid "node.elevator.panel.hoverOrFocusASectionTo"
26031
+ msgstr "悬停或聚焦某个部分以高亮其构件。剖切仅影响此次检视。"
26032
+
24893
26033
  # Source-Hash: c0ff16d77ebc9593
24894
26034
  # Review: required
24895
26035
  # AI-Provider: claude-code
@@ -24930,6 +26070,26 @@ msgstr "开门方式"
24930
26070
  msgid "node.elevator.panel.position"
24931
26071
  msgstr "位置"
24932
26072
 
26073
+ # AI-Provider: claude-code
26074
+ # AI-Model: claude-opus-5-5
26075
+ # Source-Hash: 62e42f479e013bd9
26076
+ # Review: required
26077
+ # English: "Presets and inspection"
26078
+ #: packages/nodes/src/elevator/panel.tsx
26079
+ #, fuzzy
26080
+ msgid "node.elevator.panel.presetsAndInspection"
26081
+ msgstr "预设与检视"
26082
+
26083
+ # AI-Provider: claude-code
26084
+ # AI-Model: claude-opus-5-5
26085
+ # Source-Hash: 8e7f6a377134951b
26086
+ # Review: required
26087
+ # English: "Reset {section}"
26088
+ #: packages/nodes/src/elevator/panel.tsx
26089
+ #, fuzzy
26090
+ msgid "node.elevator.panel.resetSection"
26091
+ msgstr "重置{section}"
26092
+
24933
26093
  # Source-Hash: 01989595ee7c1dc0
24934
26094
  # Review: required
24935
26095
  # AI-Provider: claude-code
@@ -24960,6 +26120,16 @@ msgstr "分段面板"
24960
26120
  msgid "node.elevator.panel.service"
24961
26121
  msgstr "服务"
24962
26122
 
26123
+ # AI-Provider: claude-code
26124
+ # AI-Model: claude-opus-5-5
26125
+ # Source-Hash: 74ce52847ea1b4e0
26126
+ # Review: required
26127
+ # English: "Service-only access for {level}"
26128
+ #: packages/nodes/src/elevator/panel.tsx
26129
+ #, fuzzy
26130
+ msgid "node.elevator.panel.serviceOnlyAccessForLevel"
26131
+ msgstr "{level}仅限服务通行"
26132
+
24963
26133
  # Source-Hash: 4fc63ad21de30103
24964
26134
  # Review: required
24965
26135
  # AI-Provider: claude-code
@@ -24990,6 +26160,16 @@ msgstr "井道深度"
24990
26160
  msgid "node.elevator.panel.shaftStyle"
24991
26161
  msgstr "井道样式"
24992
26162
 
26163
+ # AI-Provider: claude-code
26164
+ # AI-Model: claude-opus-5-5
26165
+ # Source-Hash: a7794a81141b4de4
26166
+ # Review: required
26167
+ # English: "Shaft style"
26168
+ #: packages/nodes/src/elevator/panel.tsx
26169
+ #, fuzzy
26170
+ msgid "node.elevator.panel.shaftStyle2"
26171
+ msgstr "井道样式"
26172
+
24993
26173
  # Source-Hash: 3dab61aeb47e504d
24994
26174
  # Review: required
24995
26175
  # AI-Provider: claude-code
@@ -25060,6 +26240,16 @@ msgstr "速度"
25060
26240
  msgid "node.elevator.panel.stopStoporder"
25061
26241
  msgstr "停靠站 {stopOrder}"
25062
26242
 
26243
+ # AI-Provider: claude-code
26244
+ # AI-Model: claude-opus-5-5
26245
+ # Source-Hash: 31eedbbae787f6e7
26246
+ # Review: required
26247
+ # English: "The cab needs more headroom than one or more served floors provide. Check the floor heights."
26248
+ #: packages/nodes/src/elevator/panel.tsx
26249
+ #, fuzzy
26250
+ msgid "node.elevator.panel.theCabNeedsMoreHeadroomThan"
26251
+ msgstr "轿厢所需净空高于一个或多个服务楼层的层高。请检查楼层高度。"
26252
+
25063
26253
  # Source-Hash: b3214a20e45a7aed
25064
26254
  # Review: required
25065
26255
  # AI-Provider: claude-code
@@ -25070,6 +26260,16 @@ msgstr "停靠站 {stopOrder}"
25070
26260
  msgid "node.elevator.panel.to"
25071
26261
  msgstr "至"
25072
26262
 
26263
+ # AI-Provider: claude-code
26264
+ # AI-Model: claude-opus-5-5
26265
+ # Source-Hash: c14c46fb8719cb48
26266
+ # Review: required
26267
+ # English: "To level"
26268
+ #: packages/nodes/src/elevator/panel.tsx
26269
+ #, fuzzy
26270
+ msgid "node.elevator.panel.toLevel"
26271
+ msgstr "目标楼层"
26272
+
25073
26273
  # Source-Hash: 1a5ccd607c400d76
25074
26274
  # Review: required
25075
26275
  # AI-Provider: claude-code
@@ -25100,6 +26300,36 @@ msgstr "宽度"
25100
26300
  msgid "node.elevator.panel.yaw"
25101
26301
  msgstr "偏航"
25102
26302
 
26303
+ # AI-Provider: claude-code
26304
+ # AI-Model: claude-opus-5-5
26305
+ # Source-Hash: 8ab91094cf650204
26306
+ # Review: required
26307
+ # English: "Glass"
26308
+ #: packages/nodes/src/elevator/presets.ts
26309
+ #, fuzzy
26310
+ msgid "node.elevator.preset.glass"
26311
+ msgstr "玻璃"
26312
+
26313
+ # AI-Provider: claude-code
26314
+ # AI-Model: claude-opus-5-5
26315
+ # Source-Hash: 6f3a0cb35f471f06
26316
+ # Review: required
26317
+ # English: "Passenger"
26318
+ #: packages/nodes/src/elevator/presets.ts
26319
+ #, fuzzy
26320
+ msgid "node.elevator.preset.passenger"
26321
+ msgstr "乘客"
26322
+
26323
+ # AI-Provider: claude-code
26324
+ # AI-Model: claude-opus-5-5
26325
+ # Source-Hash: aa7b49b13f96057f
26326
+ # Review: required
26327
+ # English: "Service"
26328
+ #: packages/nodes/src/elevator/presets.ts
26329
+ #, fuzzy
26330
+ msgid "node.elevator.preset.service"
26331
+ msgstr "服务"
26332
+
25103
26333
  # Source-Hash: 7b22c91cf520e161
25104
26334
  # Review: required
25105
26335
  # AI-Provider: claude-code
@@ -26617,15 +27847,245 @@ msgstr "⌥ 轴"
26617
27847
  msgid "node.pipeFitting.tool.rTRotate"
26618
27848
  msgstr "R/T 旋转"
26619
27849
 
26620
- # Source-Hash: a0bb4762aa66fa3e
27850
+ # Source-Hash: a2d9b4f249d256a2
26621
27851
  # Review: required
26622
- # AI-Provider: claude-code
27852
+ # AI-Provider: cursor-agent
26623
27853
  # AI-Model: claude-opus-5-5
26624
- # English: "Drain / waste / vent pipe run — draw level or toggle a ¼″ per foot fall with S."
27854
+ # English: "Drain / waste / vent pipe run — draw level or choose grade and downhill direction."
26625
27855
  #: packages/nodes/src/i18n/definition-messages.ts
26626
27856
  #, fuzzy
26627
27857
  msgid "node.pipeSegment.description"
26628
- msgstr "排水 / 污水 / 通气管 — 水平绘制,或按 S 切换每英尺 ¼″ 坡度。"
27858
+ msgstr "排水 / 污水 / 通气管 — 水平绘制,或选择坡度和下坡方向。"
27859
+
27860
+ # Source-Hash: 1e023cceafd26c49
27861
+ # Review: required
27862
+ # AI-Provider: cursor-agent
27863
+ # AI-Model: claude-opus-5-5
27864
+ # English: "Choose an endpoint"
27865
+ #: packages/nodes/src/pipe-segment/grade-label.ts
27866
+ #, fuzzy
27867
+ msgid "node.pipeSegment.grade.chooseEndpoint"
27868
+ msgstr "请选择端点"
27869
+
27870
+ # Source-Hash: 1d12cd840d742517
27871
+ # Review: required
27872
+ # AI-Provider: cursor-agent
27873
+ # AI-Model: claude-opus-5-5
27874
+ # English: "Level · no gravity fall"
27875
+ #: packages/nodes/src/pipe-segment/grade-label.ts
27876
+ #, fuzzy
27877
+ msgid "node.pipeSegment.grade.level"
27878
+ msgstr "水平 · 无重力坡降"
27879
+
27880
+ # Source-Hash: 9ded568026ac7088
27881
+ # Review: required
27882
+ # AI-Provider: cursor-agent
27883
+ # AI-Model: claude-opus-5-5
27884
+ # English: "{percent}%"
27885
+ #: packages/nodes/src/pipe-segment/grade-label.ts
27886
+ #, fuzzy
27887
+ msgid "node.pipeSegment.grade.percent"
27888
+ msgstr "{percent}%"
27889
+
27890
+ # Source-Hash: adba843f6e1128f2
27891
+ # Review: required
27892
+ # AI-Provider: cursor-agent
27893
+ # AI-Model: claude-opus-5-5
27894
+ # English: "{percent} · 1:{ratio} · {direction, select, forward {start → end} other {end → start}} (down)"
27895
+ #: packages/nodes/src/pipe-segment/grade-label.ts
27896
+ #, fuzzy
27897
+ msgid "node.pipeSegment.grade.sloped"
27898
+ msgstr "{percent} · 1:{ratio} · {direction, select, forward {起点 → 终点} other {终点 → 起点}}(下坡)"
27899
+
27900
+ # Source-Hash: b25fe0ebcdadc1a1
27901
+ # Review: required
27902
+ # AI-Provider: cursor-agent
27903
+ # AI-Model: claude-opus-5-5
27904
+ # English: "Vertical · {direction, select, forward {start → end} other {end → start}} (down)"
27905
+ #: packages/nodes/src/pipe-segment/grade-label.ts
27906
+ #, fuzzy
27907
+ msgid "node.pipeSegment.grade.vertical"
27908
+ msgstr "垂直 · {direction, select, forward {起点 → 终点} other {终点 → 起点}}(向下)"
27909
+
27910
+ # Source-Hash: 1107996c9987dc5a
27911
+ # Review: required
27912
+ # AI-Provider: cursor-agent
27913
+ # AI-Model: claude-opus-5-5
27914
+ # English: "Apply grade to horizontal legs"
27915
+ #: packages/nodes/src/pipe-segment/grade-inspector.tsx
27916
+ #, fuzzy
27917
+ msgid "node.pipeSegment.gradeInspector.applyGradeToHorizontalLegs"
27918
+ msgstr "对水平管段应用坡度"
27919
+
27920
+ # Source-Hash: 6348d1ecbab8e926
27921
+ # Review: required
27922
+ # AI-Provider: cursor-agent
27923
+ # AI-Model: claude-opus-5-5
27924
+ # English: "Arrows show downhill direction. Level runs have no gravity fall. Editing a path point preserves each leg’s grade."
27925
+ #: packages/nodes/src/pipe-segment/grade-inspector.tsx
27926
+ #, fuzzy
27927
+ msgid "node.pipeSegment.gradeInspector.arrowsShowDownhillDirectionLevelRuns"
27928
+ msgstr "箭头表示下坡方向。水平管段没有重力坡降。编辑路径点会保持每段的坡度。"
27929
+
27930
+ # Source-Hash: 3c2d7360f5b0ec0f
27931
+ # Review: required
27932
+ # AI-Provider: cursor-agent
27933
+ # AI-Model: claude-opus-5-5
27934
+ # English: "Centerline elevations above level: start {start} m · end {end} m"
27935
+ #: packages/nodes/src/pipe-segment/grade-inspector.tsx
27936
+ #, fuzzy
27937
+ msgid "node.pipeSegment.gradeInspector.centerlineElevations"
27938
+ msgstr "中心线相对楼层标高:起点 {start} m · 终点 {end} m"
27939
+
27940
+ # Source-Hash: 13a82ce00378a76a
27941
+ # Review: required
27942
+ # AI-Provider: cursor-agent
27943
+ # AI-Model: claude-opus-5-5
27944
+ # English: "End elevation (m)"
27945
+ #: packages/nodes/src/pipe-segment/grade-inspector.tsx
27946
+ #, fuzzy
27947
+ msgid "node.pipeSegment.gradeInspector.endElevation"
27948
+ msgstr "终点标高(m)"
27949
+
27950
+ # Source-Hash: b9958602c0675e93
27951
+ # Review: required
27952
+ # AI-Provider: cursor-agent
27953
+ # AI-Model: claude-opus-5-5
27954
+ # English: "End → start"
27955
+ #: packages/nodes/src/pipe-segment/grade-inspector.tsx
27956
+ #, fuzzy
27957
+ msgid "node.pipeSegment.gradeInspector.endStart"
27958
+ msgstr "终点 → 起点"
27959
+
27960
+ # Source-Hash: eac5f522f23d244b
27961
+ # Review: required
27962
+ # AI-Provider: cursor-agent
27963
+ # AI-Model: claude-opus-5-5
27964
+ # English: "Fixed pipe endpoint"
27965
+ #: packages/nodes/src/pipe-segment/grade-inspector.tsx
27966
+ #, fuzzy
27967
+ msgid "node.pipeSegment.gradeInspector.fixedPipeEndpoint"
27968
+ msgstr "固定的管道端点"
27969
+
27970
+ # Source-Hash: f3d8fa71962558e5
27971
+ # Review: required
27972
+ # AI-Provider: cursor-agent
27973
+ # AI-Model: claude-opus-5-5
27974
+ # English: "Grade (%)"
27975
+ #: packages/nodes/src/pipe-segment/grade-inspector.tsx
27976
+ #, fuzzy
27977
+ msgid "node.pipeSegment.gradeInspector.grade"
27978
+ msgstr "坡度(%)"
27979
+
27980
+ # Source-Hash: bf34bb5add643aeb
27981
+ # Review: required
27982
+ # AI-Provider: cursor-agent
27983
+ # AI-Model: claude-opus-5-5
27984
+ # English: "Grade and flow"
27985
+ #: packages/nodes/src/pipe-segment/grade-inspector.tsx
27986
+ #, fuzzy
27987
+ msgid "node.pipeSegment.gradeInspector.gradeAndFlow"
27988
+ msgstr "坡度与流向"
27989
+
27990
+ # Source-Hash: ce41df161aeed7a6
27991
+ # Review: required
27992
+ # AI-Provider: cursor-agent
27993
+ # AI-Model: claude-opus-5-5
27994
+ # English: "Keep end elevation"
27995
+ #: packages/nodes/src/pipe-segment/grade-inspector.tsx
27996
+ #, fuzzy
27997
+ msgid "node.pipeSegment.gradeInspector.keepEndElevation"
27998
+ msgstr "保持终点标高"
27999
+
28000
+ # Source-Hash: a73da2d9b324635d
28001
+ # Review: required
28002
+ # AI-Provider: cursor-agent
28003
+ # AI-Model: claude-opus-5-5
28004
+ # English: "Keep start elevation"
28005
+ #: packages/nodes/src/pipe-segment/grade-inspector.tsx
28006
+ #, fuzzy
28007
+ msgid "node.pipeSegment.gradeInspector.keepStartElevation"
28008
+ msgstr "保持起点标高"
28009
+
28010
+ # Source-Hash: 95b18c4f1c132276
28011
+ # Review: required
28012
+ # AI-Provider: cursor-agent
28013
+ # AI-Model: claude-opus-5-5
28014
+ # English: "Leg {number}: {grade}"
28015
+ #: packages/nodes/src/pipe-segment/grade-inspector.tsx
28016
+ #, fuzzy
28017
+ msgid "node.pipeSegment.gradeInspector.leg"
28018
+ msgstr "第 {number} 段:{grade}"
28019
+
28020
+ # Source-Hash: af7138d6a8a07914
28021
+ # Review: required
28022
+ # AI-Provider: cursor-agent
28023
+ # AI-Model: claude-opus-5-5
28024
+ # English: "Move elevation, keep grades"
28025
+ #: packages/nodes/src/pipe-segment/grade-inspector.tsx
28026
+ #, fuzzy
28027
+ msgid "node.pipeSegment.gradeInspector.moveElevationKeepGrades"
28028
+ msgstr "移动标高,保持坡度"
28029
+
28030
+ # Source-Hash: a61f74b4b445e76c
28031
+ # Review: required
28032
+ # AI-Provider: cursor-agent
28033
+ # AI-Model: claude-opus-5-5
28034
+ # English: "Pipe anchor elevation"
28035
+ #: packages/nodes/src/pipe-segment/grade-inspector.tsx
28036
+ #, fuzzy
28037
+ msgid "node.pipeSegment.gradeInspector.pipeAnchorElevation"
28038
+ msgstr "管道基准点标高"
28039
+
28040
+ # Source-Hash: a3628871eae01da3
28041
+ # Review: required
28042
+ # AI-Provider: cursor-agent
28043
+ # AI-Model: claude-opus-5-5
28044
+ # English: "Pipe downhill flow"
28045
+ #: packages/nodes/src/pipe-segment/grade-inspector.tsx
28046
+ #, fuzzy
28047
+ msgid "node.pipeSegment.gradeInspector.pipeDownhillFlow"
28048
+ msgstr "管道下坡流向"
28049
+
28050
+ # Source-Hash: 10c942b544edcbd4
28051
+ # Review: required
28052
+ # AI-Provider: cursor-agent
28053
+ # AI-Model: claude-opus-5-5
28054
+ # English: "Pipe grade percent"
28055
+ #: packages/nodes/src/pipe-segment/grade-inspector.tsx
28056
+ #, fuzzy
28057
+ msgid "node.pipeSegment.gradeInspector.pipeGradePercent"
28058
+ msgstr "管道坡度百分比"
28059
+
28060
+ # Source-Hash: acb2a9b9e601c85b
28061
+ # Review: required
28062
+ # AI-Provider: cursor-agent
28063
+ # AI-Model: claude-opus-5-5
28064
+ # English: "Start elevation (m)"
28065
+ #: packages/nodes/src/pipe-segment/grade-inspector.tsx
28066
+ #, fuzzy
28067
+ msgid "node.pipeSegment.gradeInspector.startElevation"
28068
+ msgstr "起点标高(m)"
28069
+
28070
+ # Source-Hash: c742d28f93020b10
28071
+ # Review: required
28072
+ # AI-Provider: cursor-agent
28073
+ # AI-Model: claude-opus-5-5
28074
+ # English: "Start → end"
28075
+ #: packages/nodes/src/pipe-segment/grade-inspector.tsx
28076
+ #, fuzzy
28077
+ msgid "node.pipeSegment.gradeInspector.startEnd"
28078
+ msgstr "起点 → 终点"
28079
+
28080
+ # Source-Hash: 42b6489db22b36a3
28081
+ # Review: required
28082
+ # AI-Provider: cursor-agent
28083
+ # AI-Model: claude-opus-5-5
28084
+ # English: "This edit cannot preserve the pipe grade and connected collars. Adjust the fitting or use Grade and flow."
28085
+ #: packages/nodes/src/pipe-segment/grade-affordance.ts
28086
+ #, fuzzy
28087
+ msgid "node.pipeSegment.gradeNotice.blocked"
28088
+ msgstr "此编辑无法保持管道坡度和已连接的套环。请调整管件或使用“坡度与流向”。"
26629
28089
 
26630
28090
  # Source-Hash: 457155657704f7cc
26631
28091
  # Review: required
@@ -26637,6 +28097,286 @@ msgstr "排水 / 污水 / 通气管 — 水平绘制,或按 S 切换每英尺
26637
28097
  msgid "node.pipeSegment.label"
26638
28098
  msgstr "排水管"
26639
28099
 
28100
+ # Source-Hash: 58c093b768f21b93
28101
+ # Review: required
28102
+ # AI-Provider: cursor-agent
28103
+ # AI-Model: claude-opus-5-5
28104
+ # English: "This move would change a connected pipe’s grade. Choose another position or press Esc to cancel."
28105
+ #: packages/nodes/src/pipe-segment/move-tool.tsx
28106
+ #, fuzzy
28107
+ msgid "node.pipeSegment.moveTool.connectedGradeBlocked"
28108
+ msgstr "此移动会改变相连管道的坡度。请选择其他位置,或按 Esc 取消。"
28109
+
28110
+ # Source-Hash: 012c10b3fb071052
28111
+ # Review: required
28112
+ # AI-Provider: cursor-agent
28113
+ # AI-Model: claude-opus-5-5
28114
+ # English: "Apply pipe offset"
28115
+ #: packages/nodes/src/pipe-segment/offset-inspector.tsx
28116
+ #, fuzzy
28117
+ msgid "node.pipeSegment.offsetInspector.applyPipeOffset"
28118
+ msgstr "应用管道偏移"
28119
+
28120
+ # Source-Hash: 6abc3bcf60f7aed7
28121
+ # Review: required
28122
+ # AI-Provider: cursor-agent
28123
+ # AI-Model: claude-opus-5-5
28124
+ # English: "Check obstacle clearance. The preview does not detect collisions."
28125
+ #: packages/nodes/src/pipe-segment/offset-inspector.tsx
28126
+ #, fuzzy
28127
+ msgid "node.pipeSegment.offsetInspector.checkObstacleClearanceThePreviewDoes"
28128
+ msgstr "请检查障碍物净距。预览不检测碰撞。"
28129
+
28130
+ # Source-Hash: b23728d37200c667
28131
+ # Review: required
28132
+ # AI-Provider: cursor-agent
28133
+ # AI-Model: claude-opus-5-5
28134
+ # English: "Choose the first and last bend by horizontal distance from the start. Positive offset goes up; negative goes down. Each connector uses the offset height in horizontal travel."
28135
+ #: packages/nodes/src/pipe-segment/offset-inspector.tsx
28136
+ #, fuzzy
28137
+ msgid "node.pipeSegment.offsetInspector.chooseTheFirstAndLastBend"
28138
+ msgstr "按距起点的水平距离选择第一个和最后一个弯头。正偏移向上,负偏移向下。每段连接管的水平长度等于偏移高度。"
28139
+
28140
+ # Source-Hash: 03528ff54200e797
28141
+ # Review: required
28142
+ # AI-Provider: cursor-agent
28143
+ # AI-Model: claude-opus-5-5
28144
+ # English: "First bend (m)"
28145
+ #: packages/nodes/src/pipe-segment/offset-inspector.tsx
28146
+ #, fuzzy
28147
+ msgid "node.pipeSegment.offsetInspector.firstBend"
28148
+ msgstr "第一个弯头(m)"
28149
+
28150
+ # Source-Hash: 4e6b6ed646a449cc
28151
+ # Review: required
28152
+ # AI-Provider: cursor-agent
28153
+ # AI-Model: claude-opus-5-5
28154
+ # English: "Last bend (m)"
28155
+ #: packages/nodes/src/pipe-segment/offset-inspector.tsx
28156
+ #, fuzzy
28157
+ msgid "node.pipeSegment.offsetInspector.lastBend"
28158
+ msgstr "最后一个弯头(m)"
28159
+
28160
+ # Source-Hash: 102ac6742f497c2e
28161
+ # Review: required
28162
+ # AI-Provider: cursor-agent
28163
+ # AI-Model: claude-opus-5-5
28164
+ # English: "Offset applied in one undo step. End connections stayed fixed."
28165
+ #: packages/nodes/src/pipe-segment/offset-inspector.tsx
28166
+ #, fuzzy
28167
+ msgid "node.pipeSegment.offsetInspector.offsetAppliedInOneUndoStep"
28168
+ msgstr "已作为一个撤销步骤应用偏移。端部连接保持固定。"
28169
+
28170
+ # Source-Hash: aac8ab5c8fe8dc80
28171
+ # Review: required
28172
+ # AI-Provider: cursor-agent
28173
+ # AI-Model: claude-opus-5-5
28174
+ # English: "Offset around obstacle"
28175
+ #: packages/nodes/src/pipe-segment/offset-inspector.tsx
28176
+ #, fuzzy
28177
+ msgid "node.pipeSegment.offsetInspector.offsetAroundObstacle"
28178
+ msgstr "绕障偏移"
28179
+
28180
+ # Source-Hash: d6638d559a15dc79
28181
+ # Review: required
28182
+ # AI-Provider: cursor-agent
28183
+ # AI-Model: claude-opus-5-5
28184
+ # English: "Pipe offset side profile preview"
28185
+ #: packages/nodes/src/pipe-segment/offset-inspector.tsx
28186
+ #, fuzzy
28187
+ msgid "node.pipeSegment.offsetInspector.pipeOffsetSideProfilePreview"
28188
+ msgstr "管道偏移侧面剖面预览"
28189
+
28190
+ # Source-Hash: 93186c7801fe54b1
28191
+ # Review: required
28192
+ # AI-Provider: cursor-agent
28193
+ # AI-Model: claude-opus-5-5
28194
+ # English: "Side profile (schematic). Four bends · five pipe sections. Parallel sections keep the original grade; both end connections stay fixed."
28195
+ #: packages/nodes/src/pipe-segment/offset-inspector.tsx
28196
+ #, fuzzy
28197
+ msgid "node.pipeSegment.offsetInspector.sideProfileSchematicFourBendsFive"
28198
+ msgstr "侧面剖面(示意)。四个弯头 · 五段管道。平行管段保持原坡度;两端连接保持固定。"
28199
+
28200
+ # Source-Hash: ab6a00ca812999d5
28201
+ # Review: required
28202
+ # AI-Provider: cursor-agent
28203
+ # AI-Model: claude-opus-5-5
28204
+ # English: "This offset includes an uphill waste section. It does not provide continuous downhill drainage."
28205
+ #: packages/nodes/src/pipe-segment/offset-inspector.tsx
28206
+ #, fuzzy
28207
+ msgid "node.pipeSegment.offsetInspector.thisOffsetIncludesAnUphillWaste"
28208
+ msgstr "此偏移包含上坡的排水管段,无法实现连续的下坡排水。"
28209
+
28210
+ # Source-Hash: 9da65d7ebc4d4ba1
28211
+ # Review: required
28212
+ # AI-Provider: cursor-agent
28213
+ # AI-Model: claude-opus-5-5
28214
+ # English: "Unable to apply offset."
28215
+ #: packages/nodes/src/pipe-segment/offset-inspector.tsx
28216
+ #, fuzzy
28217
+ msgid "node.pipeSegment.offsetInspector.unableToApplyOffset"
28218
+ msgstr "无法应用偏移。"
28219
+
28220
+ # Source-Hash: b9d942406a6029e3
28221
+ # Review: required
28222
+ # AI-Provider: cursor-agent
28223
+ # AI-Model: claude-opus-5-5
28224
+ # English: "Unable to plan offset."
28225
+ #: packages/nodes/src/pipe-segment/offset-inspector.tsx
28226
+ #, fuzzy
28227
+ msgid "node.pipeSegment.offsetInspector.unableToPlanOffset"
28228
+ msgstr "无法规划偏移。"
28229
+
28230
+ # Source-Hash: 2dad926bc0e26f4a
28231
+ # Review: required
28232
+ # AI-Provider: cursor-agent
28233
+ # AI-Model: claude-opus-5-5
28234
+ # English: "Vertical offset (m)"
28235
+ #: packages/nodes/src/pipe-segment/offset-inspector.tsx
28236
+ #, fuzzy
28237
+ msgid "node.pipeSegment.offsetInspector.verticalOffset"
28238
+ msgstr "垂直偏移(m)"
28239
+
28240
+ # Source-Hash: ab7feb5e8b9ef232
28241
+ # Review: required
28242
+ # AI-Provider: cursor-agent
28243
+ # AI-Model: claude-opus-5-5
28244
+ # English: "Apply pipe size"
28245
+ #: packages/nodes/src/pipe-segment/resize-inspector.tsx
28246
+ #, fuzzy
28247
+ msgid "node.pipeSegment.resizeInspector.applyPipeSize"
28248
+ msgstr "应用管径"
28249
+
28250
+ # Source-Hash: 5a82f77707e6c422
28251
+ # Review: required
28252
+ # AI-Provider: cursor-agent
28253
+ # AI-Model: claude-opus-5-5
28254
+ # English: "Branches stop at junctions, size or material changes, and fixture connections. Reducers keep boundary collars fixed."
28255
+ #: packages/nodes/src/pipe-segment/resize-inspector.tsx
28256
+ #, fuzzy
28257
+ msgid "node.pipeSegment.resizeInspector.branchesStopAtJunctionsSizeOr"
28258
+ msgstr "分支在接头、管径或材料变化处以及器具连接处停止。异径管使边界套环保持固定。"
28259
+
28260
+ # Source-Hash: 3406d3fb87431e87
28261
+ # Review: required
28262
+ # AI-Provider: cursor-agent
28263
+ # AI-Model: claude-opus-5-5
28264
+ # English: "Check resize"
28265
+ #: packages/nodes/src/pipe-segment/resize-inspector.tsx
28266
+ #, fuzzy
28267
+ msgid "node.pipeSegment.resizeInspector.checkResize"
28268
+ msgstr "检查尺寸调整"
28269
+
28270
+ # Source-Hash: 68e3596ff2fd6e60
28271
+ # Review: required
28272
+ # AI-Provider: cursor-agent
28273
+ # AI-Model: claude-opus-5-5
28274
+ # English: "Connected branch"
28275
+ #: packages/nodes/src/pipe-segment/resize-inspector.tsx
28276
+ #, fuzzy
28277
+ msgid "node.pipeSegment.resizeInspector.connectedBranch"
28278
+ msgstr "相连分支"
28279
+
28280
+ # Source-Hash: c40570d3f7df8ad2
28281
+ # Review: required
28282
+ # AI-Provider: cursor-agent
28283
+ # AI-Model: claude-opus-5-5
28284
+ # English: "Current diameter: {diameter} in"
28285
+ #: packages/nodes/src/pipe-segment/resize-inspector.tsx
28286
+ #, fuzzy
28287
+ msgid "node.pipeSegment.resizeInspector.currentDiameter"
28288
+ msgstr "当前直径:{diameter} in"
28289
+
28290
+ # Source-Hash: e704515c0fe2a6ca
28291
+ # Review: required
28292
+ # AI-Provider: cursor-agent
28293
+ # AI-Model: claude-opus-5-5
28294
+ # English: "Diameter (in)"
28295
+ #: packages/nodes/src/pipe-segment/resize-inspector.tsx
28296
+ #, fuzzy
28297
+ msgid "node.pipeSegment.resizeInspector.diameterIn"
28298
+ msgstr "直径(in)"
28299
+
28300
+ # Source-Hash: bf4fd51ca4d3d6c6
28301
+ # Review: required
28302
+ # AI-Provider: cursor-agent
28303
+ # AI-Model: claude-opus-5-5
28304
+ # English: "Pipe resize diameter"
28305
+ #: packages/nodes/src/pipe-segment/resize-inspector.tsx
28306
+ #, fuzzy
28307
+ msgid "node.pipeSegment.resizeInspector.pipeResizeDiameter"
28308
+ msgstr "调整后的管径"
28309
+
28310
+ # Source-Hash: e31a6978e4744398
28311
+ # Review: required
28312
+ # AI-Provider: cursor-agent
28313
+ # AI-Model: claude-opus-5-5
28314
+ # English: "Pipe resize scope"
28315
+ #: packages/nodes/src/pipe-segment/resize-inspector.tsx
28316
+ #, fuzzy
28317
+ msgid "node.pipeSegment.resizeInspector.pipeResizeScope"
28318
+ msgstr "管道尺寸调整范围"
28319
+
28320
+ # Source-Hash: 8b5479cd8378bf76
28321
+ # Review: required
28322
+ # AI-Provider: cursor-agent
28323
+ # AI-Model: claude-opus-5-5
28324
+ # English: "Pipe size"
28325
+ #: packages/nodes/src/pipe-segment/resize-inspector.tsx
28326
+ #, fuzzy
28327
+ msgid "node.pipeSegment.resizeInspector.pipeSize"
28328
+ msgstr "管径"
28329
+
28330
+ # Source-Hash: ad7c5e79e9f545f2
28331
+ # Review: required
28332
+ # AI-Provider: cursor-agent
28333
+ # AI-Model: claude-opus-5-5
28334
+ # English: "Resized in one undo step. Grades and boundary connections preserved."
28335
+ #: packages/nodes/src/pipe-segment/resize-inspector.tsx
28336
+ #, fuzzy
28337
+ msgid "node.pipeSegment.resizeInspector.resized"
28338
+ msgstr "已作为一个撤销步骤调整尺寸。坡度和边界连接保持不变。"
28339
+
28340
+ # Source-Hash: 2681a615278ea7de
28341
+ # Review: required
28342
+ # AI-Provider: cursor-agent
28343
+ # AI-Model: claude-opus-5-5
28344
+ # English: "{runs, plural, one {# run} other {# runs}}, {fittings, plural, one {# fitting} other {# fittings}}, {reducers, plural, one {# new reducer} other {# new reducers}}. Grades stay unchanged."
28345
+ #: packages/nodes/src/pipe-segment/resize-inspector.tsx
28346
+ #, fuzzy
28347
+ msgid "node.pipeSegment.resizeInspector.resizeSummary"
28348
+ msgstr "{runs, plural, other {# 段管道}},{fittings, plural, other {# 个管件}},{reducers, plural, other {# 个新增异径管}}。坡度保持不变。"
28349
+
28350
+ # Source-Hash: d271518d800f3e1c
28351
+ # Review: required
28352
+ # AI-Provider: cursor-agent
28353
+ # AI-Model: claude-opus-5-5
28354
+ # English: "This segment"
28355
+ #: packages/nodes/src/pipe-segment/resize-inspector.tsx
28356
+ #, fuzzy
28357
+ msgid "node.pipeSegment.resizeInspector.thisSegment"
28358
+ msgstr "此段"
28359
+
28360
+ # Source-Hash: 0518760b3747bae1
28361
+ # Review: required
28362
+ # AI-Provider: cursor-agent
28363
+ # AI-Model: claude-opus-5-5
28364
+ # English: "Unable to resize pipe."
28365
+ #: packages/nodes/src/pipe-segment/resize-inspector.tsx
28366
+ #, fuzzy
28367
+ msgid "node.pipeSegment.resizeInspector.unableToResize"
28368
+ msgstr "无法调整管道尺寸。"
28369
+
28370
+ # Source-Hash: 4019007983696a57
28371
+ # Review: required
28372
+ # AI-Provider: cursor-agent
28373
+ # AI-Model: claude-opus-5-5
28374
+ # English: "{grade} · Start {start} m · End {end} m above level"
28375
+ #: packages/nodes/src/pipe-segment/tool.tsx
28376
+ #, fuzzy
28377
+ msgid "node.pipeSegment.tool.gradeDetail"
28378
+ msgstr "{grade} · 相对楼层标高:起点 {start} m · 终点 {end} m"
28379
+
26640
28380
  # Source-Hash: 6d0cdd14d0675e05
26641
28381
  # Review: required
26642
28382
  # AI-Provider: claude-code
@@ -26937,6 +28677,36 @@ msgstr "总高"
26937
28677
  msgid "node.roof.description"
26938
28678
  msgstr "由一个或多个坡面组成的坡屋顶 / 四坡屋顶 / 双坡屋顶。"
26939
28679
 
28680
+ # AI-Provider: claude-code
28681
+ # AI-Model: claude-opus-5-5
28682
+ # Source-Hash: ca5fae8856e13ced
28683
+ # Review: required
28684
+ # English: "Retry roof geometry"
28685
+ #: packages/nodes/src/roof/geometry-notice.tsx
28686
+ #, fuzzy
28687
+ msgid "node.roof.geometryNotice.retryRoofGeometry"
28688
+ msgstr "重试屋顶几何"
28689
+
28690
+ # AI-Provider: claude-code
28691
+ # AI-Model: claude-opus-5-5
28692
+ # Source-Hash: 50b682dbab6737df
28693
+ # Review: required
28694
+ # English: "Roof geometry could not be rebuilt. The previous shape is still shown. Adjust the dimensions or intersections and retry."
28695
+ #: packages/nodes/src/roof/geometry-notice.tsx
28696
+ #, fuzzy
28697
+ msgid "node.roof.geometryNotice.roofGeometryCouldNotBeRebuilt"
28698
+ msgstr "无法重建屋顶几何,仍显示之前的形状。请调整尺寸或相交部分后重试。"
28699
+
28700
+ # AI-Provider: claude-code
28701
+ # AI-Model: claude-opus-5-5
28702
+ # Source-Hash: 65436922f0b53083
28703
+ # Review: required
28704
+ # English: "Roof geometry is invalid. The previous shape is still shown. Adjust the dimensions or intersections and retry."
28705
+ #: packages/nodes/src/roof/geometry-notice.tsx
28706
+ #, fuzzy
28707
+ msgid "node.roof.geometryNotice.roofGeometryIsInvalidThePrevious"
28708
+ msgstr "屋顶几何无效,仍显示之前的形状。请调整尺寸或相交部分后重试。"
28709
+
26940
28710
  # Source-Hash: b5be04471fd3fb7a
26941
28711
  # Review: required
26942
28712
  # AI-Provider: claude-code
@@ -29050,6 +30820,36 @@ msgstr "中距 {spacing}"
29050
30820
  msgid "node.shared.buildUpControls.woodPlank"
29051
30821
  msgstr "木板"
29052
30822
 
30823
+ # Source-Hash: 0fe1b70953df9304
30824
+ # Review: required
30825
+ # AI-Provider: cursor-agent
30826
+ # AI-Model: claude-opus-5-5
30827
+ # English: "Route preview"
30828
+ #: packages/nodes/src/shared/connection-feedback.tsx
30829
+ #, fuzzy
30830
+ msgid "node.shared.connectionFeedback.routePreview"
30831
+ msgstr "走向预览"
30832
+
30833
+ # Source-Hash: d4da45e25561382c
30834
+ # Review: required
30835
+ # AI-Provider: cursor-agent
30836
+ # AI-Model: claude-opus-5-5
30837
+ # English: "{system, select, return {Return} other {Supply}} · {size} in · {state, select, connected {Connected} other {Draw from collar}}"
30838
+ #: packages/nodes/src/shared/duct-collar-inspector.tsx
30839
+ #, fuzzy
30840
+ msgid "node.shared.ductCollarInspector.collarButton"
30841
+ msgstr "{system, select, return {回风} other {送风}} · {size} in · {state, select, connected {已连接} other {从套环绘制}}"
30842
+
30843
+ # Source-Hash: 8ef43378888dba30
30844
+ # Review: required
30845
+ # AI-Provider: cursor-agent
30846
+ # AI-Model: claude-opus-5-5
30847
+ # English: "Connect duct"
30848
+ #: packages/nodes/src/shared/duct-collar-inspector.tsx
30849
+ #, fuzzy
30850
+ msgid "node.shared.ductCollarInspector.connectDuct"
30851
+ msgstr "连接风管"
30852
+
29053
30853
  # Source-Hash: e7512c891d8da7d8
29054
30854
  # Review: required
29055
30855
  # AI-Provider: claude-code
@@ -29100,6 +30900,26 @@ msgstr "宽度"
29100
30900
  msgid "node.shared.openingDepthPosition.depthPosition"
29101
30901
  msgstr "深度位置"
29102
30902
 
30903
+ # Source-Hash: dde1a07755fd0e6e
30904
+ # Review: required
30905
+ # AI-Provider: cursor-agent
30906
+ # AI-Model: claude-opus-5-5
30907
+ # English: "{port, select, inlet {Inlet} outlet {Outlet} branch {Branch} branch2 {Second branch} other {Collar {number}}} · {diameter} in · {elevation} m · {state, select, connected {Connected} other {Draw from collar}}"
30908
+ #: packages/nodes/src/shared/pipe-collar-inspector.tsx
30909
+ #, fuzzy
30910
+ msgid "node.shared.pipeCollarInspector.collarButton"
30911
+ msgstr "{port, select, inlet {进口} outlet {出口} branch {分支} branch2 {第二分支} other {套环 {number}}} · {diameter} in · {elevation} m · {state, select, connected {已连接} other {从套环绘制}}"
30912
+
30913
+ # Source-Hash: 88a982140de95dcc
30914
+ # Review: required
30915
+ # AI-Provider: cursor-agent
30916
+ # AI-Model: claude-opus-5-5
30917
+ # English: "Connect pipe"
30918
+ #: packages/nodes/src/shared/pipe-collar-inspector.tsx
30919
+ #, fuzzy
30920
+ msgid "node.shared.pipeCollarInspector.connectPipe"
30921
+ msgstr "连接管道"
30922
+
29103
30923
  # Source-Hash: ee1c8bc3e27fb550
29104
30924
  # Review: required
29105
30925
  # AI-Provider: claude-code
@@ -34411,6 +36231,16 @@ msgstr "尺寸"
34411
36231
  msgid "node.wall.panel.drywall"
34412
36232
  msgstr "石膏板"
34413
36233
 
36234
+ # Source-Hash: 99ae1e9f13fca0ad
36235
+ # Review: required
36236
+ # AI-Provider: claude-code
36237
+ # AI-Model: claude-opus-5-5
36238
+ # English: "End height offset"
36239
+ #: packages/nodes/src/wall/panel.tsx
36240
+ #, fuzzy
36241
+ msgid "node.wall.panel.endHeightOffset"
36242
+ msgstr "末端高度偏移"
36243
+
34414
36244
  # Source-Hash: d6ba089e1ca40cdf
34415
36245
  # Review: required
34416
36246
  # AI-Provider: claude-code