@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 "Tipo de cubierta"
983
983
  msgid "app.lib.buildPanelModel.toolCount"
984
984
  msgstr "{count, plural, one {# herramienta} many {# herramientas} other {# herramientas}}"
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 "Cañón"
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 "Predeterminado"
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 "Editar {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 "Mixto"
3826
+
3797
3827
  # Source-Hash: a2bd204e93e90598
3798
3828
  # Review: required
3799
3829
  # AI-Provider: claude-code
@@ -4595,6 +4625,16 @@ msgstr "Cancelar selección"
4595
4625
  msgid "editor.helpers.helperManager.cancelStroke"
4596
4626
  msgstr "Cancelar trazo"
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 "Separar la unión"
4637
+
4598
4638
  # Source-Hash: 16552c2580bbe8b8
4599
4639
  # Review: required
4600
4640
  # AI-Provider: claude-code
@@ -13592,6 +13632,46 @@ msgstr "Eliminar región"
13592
13632
  msgid "editor.panels.wallRegionList.paintRegions"
13593
13633
  msgstr "Regiones de pintura"
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 "Ángulo"
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 "Distancia"
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 "Longitud"
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 "Desplazamiento"
13674
+
13595
13675
  # Source-Hash: 89ee318aad485f83
13596
13676
  # Review: required
13597
13677
  # AI-Provider: claude-code
@@ -17495,6 +17575,16 @@ msgstr "Longitud: {field} m"
17495
17575
  msgid "editor.tools.distribution.distributionRunTool.tabDirection"
17496
17576
  msgstr "Tab: dirección"
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 "Cota objetivo: {elevation} m · haz clic o pulsa Intro para colocar"
17587
+
17498
17588
  # Source-Hash: abb1d8c8bfb41acf
17499
17589
  # Review: required
17500
17590
  # AI-Provider: claude-code
@@ -21695,55 +21785,115 @@ msgstr "Pilar"
21695
21785
  msgid "node.column.panel.actions"
21696
21786
  msgstr "Acciones"
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 "Todo"
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 "Marco en A"
21805
+ msgid "node.column.panel.applyProportion"
21806
+ msgstr "Aplicar proporción…"
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 "Arqueado"
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 "Aplicar ajuste predefinido…"
21825
+ msgid "node.column.panel.baluster"
21826
+ msgstr "Balaustre"
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 "Escala de banda"
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 "Aplicar proporción…"
21845
+ msgid "node.column.panel.base"
21846
+ msgstr "Basa"
21727
21847
 
21728
- # Source-Hash: 1f3fd938f0b26c9f
21848
+ # AI-Provider: claude-code
21849
+ # AI-Model: claude-opus-5-5
21850
+ # Source-Hash: fca555ac84223bd4
21729
21851
  # Review: required
21852
+ # English: "Base Carving"
21853
+ #: packages/nodes/src/column/panel.tsx
21854
+ #, fuzzy
21855
+ msgid "node.column.panel.baseCarvingLevel"
21856
+ msgstr "Tallado de la basa"
21857
+
21730
21858
  # AI-Provider: claude-code
21731
21859
  # AI-Model: claude-opus-5-5
21732
- # English: "Bottom Depth"
21860
+ # Source-Hash: fa9118f6f4f020d7
21861
+ # Review: required
21862
+ # English: "Base Height"
21863
+ #: packages/nodes/src/column/panel.tsx
21864
+ #, fuzzy
21865
+ msgid "node.column.panel.baseHeight"
21866
+ msgstr "Altura de la basa"
21867
+
21868
+ # AI-Provider: claude-code
21869
+ # AI-Model: claude-opus-5-5
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 "Fondo inferior"
21875
+ msgid "node.column.panel.baseRibCount"
21876
+ msgstr "Nervios de la basa"
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 "Estilo de basa"
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 "Altura inferior"
21895
+ msgid "node.column.panel.bottomScale"
21896
+ msgstr "Escala inferior"
21747
21897
 
21748
21898
  # Source-Hash: 4df0bbb04744a810
21749
21899
  # Review: required
@@ -21755,85 +21905,115 @@ msgstr "Altura inferior"
21755
21905
  msgid "node.column.panel.bottomSpread"
21756
21906
  msgstr "Apertura inferior"
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 "Separación de escalones inferiores"
21915
+ msgid "node.column.panel.bracketDepth"
21916
+ msgstr "Profundidad de la ménsula"
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 "Escalones inferiores"
21925
+ msgid "node.column.panel.bracketTierCount"
21926
+ msgstr "Niveles de ménsula"
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 "Ancho inferior"
21935
+ msgid "node.column.panel.bulged"
21936
+ msgstr "Abombada"
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 "Marco cerrado"
21945
+ msgid "node.column.panel.bulgeRatio"
21946
+ msgstr "Proporción de éntasis"
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 "Fondo del arriostramiento"
21955
+ msgid "node.column.panel.capital"
21956
+ msgstr "Capitel"
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 "Tallado del capitel"
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 "Ancho del arriostramiento"
21975
+ msgid "node.column.panel.capitalHeight"
21976
+ msgstr "Altura del capitel"
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 "Estilo de capitel"
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 "Abombamiento"
21995
+ msgid "node.column.panel.carvingPlacement"
21996
+ msgstr "Ubicación del tallado"
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 "Elige un material y haz clic en la superficie que quieres pintar."
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 "Abombada"
22015
+ msgid "node.column.panel.cluster"
22016
+ msgstr "Haz"
21837
22017
 
21838
22018
  # Source-Hash: 3530ac1f4046cd22
21839
22019
  # Review: required
@@ -21845,6 +22025,26 @@ msgstr "Abombada"
21845
22025
  msgid "node.column.panel.column"
21846
22026
  msgstr "Pilar"
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 "Proporciones del pilar"
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 "Estilo de pilar"
22047
+
21848
22048
  # Source-Hash: ca0a856f04460bd5
21849
22049
  # Review: required
21850
22050
  # AI-Provider: claude-code
@@ -21855,6 +22055,26 @@ msgstr "Pilar"
21855
22055
  msgid "node.column.panel.connectorPlates"
21856
22056
  msgstr "Placas de unión"
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 "Hoja corintia"
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 "Sección"
22077
+
21858
22078
  # Source-Hash: b26de372b4b0eaac
21859
22079
  # Review: required
21860
22080
  # AI-Provider: claude-code
@@ -21875,15 +22095,65 @@ msgstr "Eliminar"
21875
22095
  msgid "node.column.panel.depth"
21876
22096
  msgstr "Profundidad"
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 "Escala de profundidad"
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 "Dimensiones"
22115
+ msgid "node.column.panel.depthSpan"
22116
+ msgstr "Luz en profundidad"
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 "Diámetro"
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 "Rombo"
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 "Dórico"
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 "Tallado dravídico"
21887
22157
 
21888
22158
  # Source-Hash: b963a08f0d540014
21889
22159
  # Review: required
@@ -21895,25 +22165,75 @@ msgstr "Dimensiones"
21895
22165
  msgid "node.column.panel.edgeSoftness"
21896
22166
  msgstr "Suavizado de aristas"
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 "Escala del extremo"
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 "Extremos"
22185
+ msgid "node.column.panel.entireObject"
22186
+ msgstr "Objeto completo"
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 "Facetado"
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 "Número de estrías"
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 "Estriado"
22217
+
21910
22218
  # AI-Provider: claude-code
21911
22219
  # AI-Model: claude-opus-5-5
21912
- # English: "End Width"
22220
+ # Source-Hash: ba3d227ad13eb300
22221
+ # Review: required
22222
+ # English: "Flute Depth"
21913
22223
  #: packages/nodes/src/column/panel.tsx
21914
22224
  #, fuzzy
21915
- msgid "node.column.panel.endWidth"
21916
- msgstr "Ancho del extremo"
22225
+ msgid "node.column.panel.fluteDepth"
22226
+ msgstr "Profundidad de las estrías"
22227
+
22228
+ # AI-Provider: claude-code
22229
+ # AI-Model: claude-opus-5-5
22230
+ # Source-Hash: 5530e4916f99d59e
22231
+ # Review: required
22232
+ # English: "Flute Width"
22233
+ #: packages/nodes/src/column/panel.tsx
22234
+ #, fuzzy
22235
+ msgid "node.column.panel.fluteWidth"
22236
+ msgstr "Anchura de las estrías"
21917
22237
 
21918
22238
  # Source-Hash: 02e229bca2a2b5f1
21919
22239
  # Review: required
@@ -21925,6 +22245,16 @@ msgstr "Ancho del extremo"
21925
22245
  msgid "node.column.panel.forkSpread"
21926
22246
  msgstr "Apertura de la horquilla"
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 "Marco"
22257
+
21928
22258
  # Source-Hash: fdebfac05413abcf
21929
22259
  # Review: required
21930
22260
  # AI-Provider: claude-code
@@ -21965,15 +22295,105 @@ msgstr "La altura y la huella las controla la extensión de un agua. Gira o camb
21965
22295
  msgid "node.column.panel.hourglass"
21966
22296
  msgstr "Reloj de arena"
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 "Voluta jónica"
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 "Arriostramiento en K"
22315
+ msgid "node.column.panel.latheRingCount"
22316
+ msgstr "Anillos torneados"
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 "Torneado"
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 "Hojas talladas"
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 "Hojas"
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 "Filas de hojas"
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 "Loto"
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 "Materiales"
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 "Canto del elemento"
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 "Anchura del elemento"
21977
22397
 
21978
22398
  # Source-Hash: bd02c614454fbd2b
21979
22399
  # Review: required
@@ -21985,65 +22405,145 @@ msgstr "Arriostramiento en K"
21985
22405
  msgid "node.column.panel.move"
21986
22406
  msgstr "Mover"
21987
22407
 
21988
- # Source-Hash: 6dc190abd3f22787
22408
+ # AI-Provider: claude-code
22409
+ # AI-Model: claude-opus-5-5
22410
+ # Source-Hash: 78c5ca001ea8241d
22411
+ # Review: required
22412
+ # English: "Neck Scale"
22413
+ #: packages/nodes/src/column/panel.tsx
22414
+ #, fuzzy
22415
+ msgid "node.column.panel.neckScale"
22416
+ msgstr "Escala del collarino"
22417
+
22418
+ # AI-Provider: claude-code
22419
+ # AI-Model: claude-opus-5-5
22420
+ # Source-Hash: f2953d2931e36d0c
22421
+ # Review: required
22422
+ # English: "None"
22423
+ #: packages/nodes/src/column/panel.tsx
22424
+ #, fuzzy
22425
+ msgid "node.column.panel.none"
22426
+ msgstr "Ninguno"
22427
+
22428
+ # AI-Provider: claude-code
22429
+ # AI-Model: claude-opus-5-5
22430
+ # Source-Hash: 698f9ebcd3ab81c6
21989
22431
  # Review: required
22432
+ # English: "Octagonal"
22433
+ #: packages/nodes/src/column/panel.tsx
22434
+ #, fuzzy
22435
+ msgid "node.column.panel.octagonal"
22436
+ msgstr "Octogonal"
22437
+
21990
22438
  # AI-Provider: claude-code
21991
22439
  # AI-Model: claude-opus-5-5
21992
- # English: "Neck Width"
22440
+ # Source-Hash: 8680135de608a900
22441
+ # Review: required
22442
+ # English: "Paint Materials"
21993
22443
  #: packages/nodes/src/column/panel.tsx
21994
22444
  #, fuzzy
21995
- msgid "node.column.panel.neckWidth"
21996
- msgstr "Ancho del cuello"
22445
+ msgid "node.column.panel.paintMaterials"
22446
+ msgstr "Pintar materiales"
21997
22447
 
21998
- # Source-Hash: 7dba7ed55eeba18f
22448
+ # AI-Provider: claude-code
22449
+ # AI-Model: claude-opus-5-5
22450
+ # Source-Hash: 2d1f1576d0878e2d
21999
22451
  # Review: required
22452
+ # English: "Carved Panels"
22453
+ #: packages/nodes/src/column/panel.tsx
22454
+ #, fuzzy
22455
+ msgid "node.column.panel.panelCount"
22456
+ msgstr "Paneles tallados"
22457
+
22000
22458
  # AI-Provider: claude-code
22001
22459
  # AI-Model: claude-opus-5-5
22002
- # English: "No Bottom"
22460
+ # Source-Hash: 6b503ed1b7d1569b
22461
+ # Review: required
22462
+ # English: "Panel Relief"
22003
22463
  #: packages/nodes/src/column/panel.tsx
22004
22464
  #, fuzzy
22005
- msgid "node.column.panel.noBottom"
22006
- msgstr "Sin base"
22465
+ msgid "node.column.panel.panelInsetDepth"
22466
+ msgstr "Relieve de los paneles"
22007
22467
 
22008
- # Source-Hash: 682d71815bb20e94
22468
+ # AI-Provider: claude-code
22469
+ # AI-Model: claude-opus-5-5
22470
+ # Source-Hash: 3332ef0ae3f455b0
22009
22471
  # Review: required
22472
+ # English: "Panelled"
22473
+ #: packages/nodes/src/column/panel.tsx
22474
+ #, fuzzy
22475
+ msgid "node.column.panel.panelled"
22476
+ msgstr "Con paneles"
22477
+
22010
22478
  # AI-Provider: claude-code
22011
22479
  # AI-Model: claude-opus-5-5
22012
- # English: "No Top"
22480
+ # Source-Hash: 734c75436555233f
22481
+ # Review: required
22482
+ # English: "Panelled Pedestal"
22013
22483
  #: packages/nodes/src/column/panel.tsx
22014
22484
  #, fuzzy
22015
- msgid "node.column.panel.noTop"
22016
- msgstr "Sin capitel"
22485
+ msgid "node.column.panel.panelledPedestal"
22486
+ msgstr "Pedestal con paneles"
22017
22487
 
22018
- # Source-Hash: 4da8688437f64db8
22488
+ # AI-Provider: claude-code
22489
+ # AI-Model: claude-opus-5-5
22490
+ # Source-Hash: efe3a9af7ede09f5
22019
22491
  # Review: required
22492
+ # English: "Panel shape"
22493
+ #: packages/nodes/src/column/panel.tsx
22494
+ #, fuzzy
22495
+ msgid "node.column.panel.panelShape"
22496
+ msgstr "Forma de los paneles"
22497
+
22020
22498
  # AI-Provider: claude-code
22021
22499
  # AI-Model: claude-opus-5-5
22022
- # English: "Plinth Thickness"
22500
+ # Source-Hash: 1742cce555f51b78
22501
+ # Review: required
22502
+ # English: "Pendants"
22023
22503
  #: packages/nodes/src/column/panel.tsx
22024
22504
  #, fuzzy
22025
- msgid "node.column.panel.plinthThickness"
22026
- msgstr "Grosor del plinto"
22505
+ msgid "node.column.panel.pendantCount"
22506
+ msgstr "Colgantes"
22027
22507
 
22028
- # Source-Hash: 0bf453b4882c663c
22508
+ # AI-Provider: claude-code
22509
+ # AI-Model: claude-opus-5-5
22510
+ # Source-Hash: 9f0680b4bd973026
22029
22511
  # Review: required
22512
+ # English: "Plain"
22513
+ #: packages/nodes/src/column/panel.tsx
22514
+ #, fuzzy
22515
+ msgid "node.column.panel.plain"
22516
+ msgstr "Liso"
22517
+
22030
22518
  # AI-Provider: claude-code
22031
22519
  # AI-Model: claude-opus-5-5
22032
- # English: "Portal Frame"
22520
+ # Source-Hash: 642987dea5693bb0
22521
+ # Review: required
22522
+ # English: "Plinth Height Fraction"
22033
22523
  #: packages/nodes/src/column/panel.tsx
22034
22524
  #, fuzzy
22035
- msgid "node.column.panel.portalFrame"
22036
- msgstr "Pórtico"
22525
+ msgid "node.column.panel.plinthHeightFraction"
22526
+ msgstr "Fracción de altura del plinto"
22037
22527
 
22038
- # Source-Hash: 441f7f652ea6a0d8
22528
+ # AI-Provider: claude-code
22529
+ # AI-Model: claude-opus-5-5
22530
+ # Source-Hash: 96ad4bd0f7baa40e
22039
22531
  # Review: required
22532
+ # English: "Profile"
22533
+ #: packages/nodes/src/column/panel.tsx
22534
+ #, fuzzy
22535
+ msgid "node.column.panel.profile"
22536
+ msgstr "Perfil"
22537
+
22040
22538
  # AI-Provider: claude-code
22041
22539
  # AI-Model: claude-opus-5-5
22042
- # English: "Preset"
22540
+ # Source-Hash: 2c2c20272b0370cc
22541
+ # Review: required
22542
+ # English: "Rectangle"
22043
22543
  #: packages/nodes/src/column/panel.tsx
22044
22544
  #, fuzzy
22045
- msgid "node.column.panel.preset"
22046
- msgstr "Preajuste"
22545
+ msgid "node.column.panel.rectangle"
22546
+ msgstr "Rectángulo"
22047
22547
 
22048
22548
  # Source-Hash: f29fef1beeb25f22
22049
22549
  # Review: required
@@ -22055,6 +22555,96 @@ msgstr "Preajuste"
22055
22555
  msgid "node.column.panel.rectangular"
22056
22556
  msgstr "Rectangular"
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 "Restablecer la basa"
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 "Restablecer el capitel"
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 "Restablecer materiales"
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 "Restablecer el perfil"
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 "Restablecer la forma"
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 "Restablecer el tamaño"
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 "Restablecer los detalles de superficie"
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 "Restablecer la transformación"
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 "Loto nervado"
22647
+
22058
22648
  # Source-Hash: 23b9d290b165cd49
22059
22649
  # Review: required
22060
22650
  # AI-Provider: claude-code
@@ -22065,15 +22655,15 @@ msgstr "Rectangular"
22065
22655
  msgid "node.column.panel.ringPairs"
22066
22656
  msgstr "Pares de anillos"
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 "Separación de anillos"
22665
+ msgid "node.column.panel.ringSpreadRatio"
22666
+ msgstr "Proporción de separación de anillos"
22077
22667
 
22078
22668
  # Source-Hash: bdb524a15d9e1509
22079
22669
  # Review: required
@@ -22085,55 +22675,55 @@ msgstr "Separación de anillos"
22085
22675
  msgid "node.column.panel.ringThickness"
22086
22676
  msgstr "Grosor de anillos"
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 "Redondo"
22685
+ msgid "node.column.panel.rotation"
22686
+ msgstr "Rotación"
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 "Ancho de la banda redonda"
22695
+ msgid "node.column.panel.round"
22696
+ msgstr "Redondo"
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 "Base redondeada"
22705
+ msgid "node.column.panel.rounded"
22706
+ msgstr "Redondeado"
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 "Capitel redondeado"
22715
+ msgid "node.column.panel.roundRings"
22716
+ msgstr "Anillos redondos"
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 "Torsión de segmentos"
22725
+ msgid "node.column.panel.scalesMultiplyTheDimensionsInSize"
22726
+ msgstr "Las escalas multiplican las dimensiones de Tamaño. Una proporción de 0,2 equivale al 20 %."
22137
22727
 
22138
22728
  # Source-Hash: 4fc63ad21de30103
22139
22729
  # Review: required
@@ -22155,15 +22745,35 @@ msgstr "Hueco"
22155
22745
  msgid "node.column.panel.shaftCornerRadius"
22156
22746
  msgstr "Radio de esquina del fuste"
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 "Detalle del fuste"
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"
22763
+ #: packages/nodes/src/column/panel.tsx
22764
+ #, fuzzy
22765
+ msgid "node.column.panel.shaftProfile"
22766
+ msgstr "Perfil del fuste"
22767
+
22768
+ # AI-Provider: claude-code
22769
+ # AI-Model: claude-opus-5-5
22770
+ # Source-Hash: f23c2ea65fb94e30
22771
+ # Review: required
22772
+ # English: "Shaft Scale"
22163
22773
  #: packages/nodes/src/column/panel.tsx
22164
22774
  #, fuzzy
22165
- msgid "node.column.panel.shaftWidth"
22166
- msgstr "Ancho del fuste"
22775
+ msgid "node.column.panel.shaftScale"
22776
+ msgstr "Escala del fuste"
22167
22777
 
22168
22778
  # Source-Hash: 85ea1d3c8b749680
22169
22779
  # Review: required
@@ -22185,35 +22795,55 @@ msgstr "Forma"
22185
22795
  msgid "node.column.panel.shortStout"
22186
22796
  msgstr "Corta / Gruesa"
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 "Base de bloque simple"
22805
+ msgid "node.column.panel.simple"
22806
+ msgstr "Sencillo"
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 "Losa sencilla"
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 "Capitel simple"
22825
+ msgid "node.column.panel.simpleSquare"
22826
+ msgstr "Cuadrado sencillo"
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 "Dieciséis lados"
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 "Puntal único"
22845
+ msgid "node.column.panel.size"
22846
+ msgstr "Tamaño"
22217
22847
 
22218
22848
  # Source-Hash: d87ce271009ce063
22219
22849
  # Review: required
@@ -22225,6 +22855,46 @@ msgstr "Puntal único"
22225
22855
  msgid "node.column.panel.slender"
22226
22856
  msgstr "Esbelta"
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 "Ménsula del sur de la India"
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 "Espiral"
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 "Nervios en espiral"
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 "Vueltas de espiral"
22897
+
22228
22898
  # Source-Hash: 39287346366fc206
22229
22899
  # Review: required
22230
22900
  # AI-Provider: claude-code
@@ -22235,15 +22905,15 @@ msgstr "Esbelta"
22235
22905
  msgid "node.column.panel.square"
22236
22906
  msgstr "Cuadrado"
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 "Base de plinto cuadrado"
22915
+ msgid "node.column.panel.squarePlinth"
22916
+ msgstr "Plinto cuadrado"
22247
22917
 
22248
22918
  # Source-Hash: d998c212030bc7c2
22249
22919
  # Review: required
@@ -22255,25 +22925,35 @@ msgstr "Base de plinto cuadrado"
22255
22925
  msgid "node.column.panel.standard"
22256
22926
  msgstr "Estándar"
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 "Base escalonada"
22935
+ msgid "node.column.panel.stepped"
22936
+ msgstr "Escalonado"
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 "Cuadrado escalonado"
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 "Capitel escalonado"
22955
+ msgid "node.column.panel.stepScaleReduction"
22956
+ msgstr "Reducción de escala por escalón"
22277
22957
 
22278
22958
  # Source-Hash: 4ee35f740730ae87
22279
22959
  # Review: required
@@ -22285,15 +22965,25 @@ msgstr "Capitel escalonado"
22285
22965
  msgid "node.column.panel.straight"
22286
22966
  msgstr "Recto"
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 "Estilo"
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 "Ahusamiento"
22985
+ msgid "node.column.panel.surfaceDetails"
22986
+ msgstr "Detalles de superficie"
22297
22987
 
22298
22988
  # Source-Hash: f86f1f22230596b7
22299
22989
  # Review: required
@@ -22305,65 +22995,45 @@ msgstr "Ahusamiento"
22305
22995
  msgid "node.column.panel.tapered"
22306
22996
  msgstr "Ahusado"
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 "Fondo superior"
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 "Altura superior"
23005
+ msgid "node.column.panel.taperRatio"
23006
+ msgstr "Proporción de ahusamiento"
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 "Apertura superior"
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 "Separación de escalones superiores"
23015
+ msgid "node.column.panel.tierCount"
23016
+ msgstr "Número de niveles"
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 "Escalones superiores"
23025
+ msgid "node.column.panel.topScale"
23026
+ msgstr "Escala superior"
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 "Ancho superior"
23035
+ msgid "node.column.panel.topSpread"
23036
+ msgstr "Apertura superior"
22367
23037
 
22368
23038
  # Source-Hash: f425799b82e085ed
22369
23039
  # Review: required
@@ -22375,25 +23045,15 @@ msgstr "Ancho superior"
22375
23045
  msgid "node.column.panel.transform"
22376
23046
  msgstr "Transformación"
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 "Caballete"
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 "Trípode"
23055
+ msgid "node.column.panel.twistPerSegment"
23056
+ msgstr "Torsión por segmento"
22397
23057
 
22398
23058
  # Source-Hash: 0db559f22647ec73
22399
23059
  # Review: required
@@ -22405,35 +23065,45 @@ msgstr "Trípode"
22405
23065
  msgid "node.column.panel.twistSegments"
22406
23066
  msgstr "Segmentos de torsión"
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 "Vertical"
23075
+ msgid "node.column.panel.volute"
23076
+ msgstr "Voluta"
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 "Soporte en V"
23085
+ msgid "node.column.panel.voluteCount"
23086
+ msgstr "Volutas"
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 "Tamaño de las volutas"
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 "Losa"
23105
+ msgid "node.column.panel.waistReductionRatio"
23106
+ msgstr "Proporción de estrechamiento"
22437
23107
 
22438
23108
  # Source-Hash: 3a0ccd6c46877a87
22439
23109
  # Review: required
@@ -22445,35 +23115,55 @@ msgstr "Losa"
22445
23115
  msgid "node.column.panel.width"
22446
23116
  msgstr "Ancho"
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 "Cruz de San Andrés"
23125
+ msgid "node.column.panel.widthAndDepthScalesMultiplyThe"
23126
+ msgstr "Las escalas de anchura y profundidad multiplican las dimensiones de Tamaño."
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 "Las escalas de anchura y profundidad usan Tamaño. Las escalas de banda y collarino usan la huella de la basa."
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 "Guiñada"
23145
+ msgid "node.column.panel.widthScale"
23146
+ msgstr "Escala de anchura"
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 "Luz en anchura"
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 "Soporte en Y"
23165
+ msgid "node.column.panel.woodBracket"
23166
+ msgstr "Ménsula de madera"
22477
23167
 
22478
23168
  # Source-Hash: 4d3a89de7073d38d
22479
23169
  # Review: required
@@ -22580,7 +23270,7 @@ msgstr "Sin tratar"
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 "Soporte en A"
@@ -22590,7 +23280,7 @@ msgstr "Soporte en 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 "Redonda recta"
@@ -22600,7 +23290,7 @@ msgstr "Redonda recta"
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 "Marco cerrado"
@@ -22610,7 +23300,7 @@ msgstr "Marco cerrado"
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 "Ligeramente abombada"
@@ -22620,7 +23310,7 @@ msgstr "Ligeramente abombada"
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 "Reloj de arena"
@@ -22630,7 +23320,7 @@ msgstr "Reloj de arena"
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 "Arriostramiento en K"
@@ -22640,7 +23330,7 @@ msgstr "Arriostramiento en 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 "Pórtico"
@@ -22650,7 +23340,7 @@ msgstr "Pórtico"
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 "Puntal único"
@@ -22660,7 +23350,7 @@ msgstr "Puntal único"
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 "Bloque cuadrado"
@@ -22670,7 +23360,7 @@ msgstr "Bloque cuadrado"
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 "Redonda ahusada"
@@ -22680,7 +23370,7 @@ msgstr "Redonda ahusada"
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 "Marco de caballete"
@@ -22690,7 +23380,7 @@ msgstr "Marco de caballete"
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 "Soporte trípode"
@@ -22700,7 +23390,7 @@ msgstr "Soporte trípode"
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 "Soporte en V"
@@ -22710,7 +23400,7 @@ msgstr "Soporte en 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 "Cruz de San Andrés"
@@ -22720,11 +23410,51 @@ msgstr "Cruz de San Andrés"
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 "Soporte en 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 "Aplicar la forma {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 "Elegir una forma"
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 "Pasa el cursor o enfoca para previsualizar; haz clic para aplicar. Se conservan los materiales. Escape cancela la vista previa."
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 "Ajustes de forma"
23457
+
22728
23458
  # Source-Hash: 895766ad1b766c2e
22729
23459
  # Review: required
22730
23460
  # AI-Provider: claude-code
@@ -24589,6 +25319,336 @@ msgstr "R/T girar"
24589
25319
  msgid "node.ductSegment.description"
24590
25320
  msgstr "Conducto de climatización: polilínea de secciones redondas, rectangulares u ovaladas planas."
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 "Aplicar desfase"
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 "Aplicar cambio de tamaño"
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 "La derivación se detiene en uniones, cambios de tamaño y equipos. Los collarines de los extremos permanecen fijos."
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 "Derivación conectada del mismo tamaño"
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 "Diámetro (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 "Edición de conducto"
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 "Forma del conducto"
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 "Editar el trazado del conducto"
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 "La alineación por cara se aplica a tramos rectos libres. Izquierda y derecha siguen los ejes de la sección del tramo."
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 "Primer codo desde el inicio (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 "Alto (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 "Mantener la cara inferior"
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 "Mantener el eje"
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 "Mantener la cara izquierda"
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 "Mantener la cara derecha"
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 "Mantener la cara superior"
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 "Último codo desde el inicio (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 "Desviar alrededor de un obstáculo"
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 "Vista previa del desfase en alzado lateral"
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 "Ovalado"
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, one {# pieza existente afectada} many {# piezas existentes afectadas} other {# piezas existentes afectadas}} · {created, plural, one {# pieza nueva} many {# piezas nuevas} other {# piezas nuevas}}"
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 "Un valor positivo sube; uno negativo baja. Cuatro codos conservan ambos extremos. Comprueba la holgura del obstáculo; no se detectan colisiones."
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 "Alineación del conducto que se conserva"
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 "Rectangular"
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 "Alcance del cambio de tamaño"
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 "Cambiar tamaño con las conexiones"
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 "Redondo"
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 "Alzado lateral · la línea discontinua es el trazado original"
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 "Este tramo"
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 "No se puede aplicar la edición."
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 "No se puede planificar esta edición."
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 "Desfase vertical (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 "Ancho (in)"
25651
+
24592
25652
  # Source-Hash: e971d82044e2f48e
24593
25653
  # Review: required
24594
25654
  # AI-Provider: claude-code
@@ -24720,6 +25780,16 @@ msgstr "Cabina"
24720
25780
  msgid "node.elevator.panel.cabHeight"
24721
25781
  msgstr "Altura de cabina"
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 "Interior libre de la cabina: {width} × {depth} × {height} m. Hueco de puerta: {doorWidth} × {doorHeight} m."
25792
+
24723
25793
  # Source-Hash: 65f410261609060b
24724
25794
  # Review: required
24725
25795
  # AI-Provider: claude-code
@@ -24730,6 +25800,16 @@ msgstr "Altura de cabina"
24730
25800
  msgid "node.elevator.panel.centerOpening"
24731
25801
  msgstr "Apertura central"
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 "Hueco seccionado"
25812
+
24733
25813
  # Source-Hash: c5433f4d3ea8a8a7
24734
25814
  # Review: required
24735
25815
  # AI-Provider: claude-code
@@ -24740,6 +25820,16 @@ msgstr "Apertura central"
24740
25820
  msgid "node.elevator.panel.defaultFloor"
24741
25821
  msgstr "Planta predeterminada"
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 "Planta predeterminada"
25832
+
24743
25833
  # Source-Hash: b26de372b4b0eaac
24744
25834
  # Review: required
24745
25835
  # AI-Provider: claude-code
@@ -24780,6 +25870,16 @@ msgstr "Destino"
24780
25870
  msgid "node.elevator.panel.disabled"
24781
25871
  msgstr "Desactivado"
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 "Desactivar {level}"
25882
+
24783
25883
  # Source-Hash: d8baf402fa9c52f0
24784
25884
  # Review: required
24785
25885
  # AI-Provider: claude-code
@@ -24790,6 +25890,26 @@ msgstr "Desactivado"
24790
25890
  msgid "node.elevator.panel.doorHeight"
24791
25891
  msgstr "Altura de puerta"
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 "Tipo de apertura de puerta"
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 "Estilo de hoja de puerta"
25912
+
24793
25913
  # Source-Hash: 20f60b98de67849b
24794
25914
  # Review: required
24795
25915
  # AI-Provider: claude-code
@@ -24870,6 +25990,16 @@ msgstr "Ascensor"
24870
25990
  msgid "node.elevator.panel.from"
24871
25991
  msgstr "Desde"
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 "Desde la planta"
26002
+
24873
26003
  # Source-Hash: 8ab91094cf650204
24874
26004
  # Review: required
24875
26005
  # AI-Provider: claude-code
@@ -24890,6 +26020,16 @@ msgstr "Vidrio"
24890
26020
  msgid "node.elevator.panel.glassFrame"
24891
26021
  msgstr "Marco de vidrio"
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 "Pasa el cursor o enfoca una sección para resaltar sus piezas. La sección solo afecta a esta inspección."
26032
+
24893
26033
  # Source-Hash: c0ff16d77ebc9593
24894
26034
  # Review: required
24895
26035
  # AI-Provider: claude-code
@@ -24930,6 +26070,26 @@ msgstr "Tipo de apertura"
24930
26070
  msgid "node.elevator.panel.position"
24931
26071
  msgstr "Posición"
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 "Ajustes e inspección"
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 "Restablecer {section}"
26092
+
24933
26093
  # Source-Hash: 01989595ee7c1dc0
24934
26094
  # Review: required
24935
26095
  # AI-Provider: claude-code
@@ -24960,6 +26120,16 @@ msgstr "Panel segmentado"
24960
26120
  msgid "node.elevator.panel.service"
24961
26121
  msgstr "Servicio"
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 "Acceso solo de servicio para {level}"
26132
+
24963
26133
  # Source-Hash: 4fc63ad21de30103
24964
26134
  # Review: required
24965
26135
  # AI-Provider: claude-code
@@ -24990,6 +26160,16 @@ msgstr "Fondo del hueco"
24990
26160
  msgid "node.elevator.panel.shaftStyle"
24991
26161
  msgstr "Estilo del hueco"
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 "Estilo de hueco"
26172
+
24993
26173
  # Source-Hash: 3dab61aeb47e504d
24994
26174
  # Review: required
24995
26175
  # AI-Provider: claude-code
@@ -25060,6 +26240,16 @@ msgstr "Velocidad"
25060
26240
  msgid "node.elevator.panel.stopStoporder"
25061
26241
  msgstr "Parada {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 "La cabina necesita más altura libre de la que ofrecen una o varias plantas servidas. Revisa la altura de las plantas."
26252
+
25063
26253
  # Source-Hash: b3214a20e45a7aed
25064
26254
  # Review: required
25065
26255
  # AI-Provider: claude-code
@@ -25070,6 +26260,16 @@ msgstr "Parada {stopOrder}"
25070
26260
  msgid "node.elevator.panel.to"
25071
26261
  msgstr "Hasta"
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 "Hasta la planta"
26272
+
25073
26273
  # Source-Hash: 1a5ccd607c400d76
25074
26274
  # Review: required
25075
26275
  # AI-Provider: claude-code
@@ -25100,6 +26300,36 @@ msgstr "Ancho"
25100
26300
  msgid "node.elevator.panel.yaw"
25101
26301
  msgstr "Guiñada"
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 "Acristalado"
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 "Pasajeros"
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 "Servicio"
26332
+
25103
26333
  # Source-Hash: 7b22c91cf520e161
25104
26334
  # Review: required
25105
26335
  # AI-Provider: claude-code
@@ -26617,15 +27847,245 @@ msgstr "⌥ eje"
26617
27847
  msgid "node.pipeFitting.tool.rTRotate"
26618
27848
  msgstr "R/T girar"
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 "Tubería de desagüe y ventilación: dibújala horizontal o alterna una pendiente de ¼″ por pie con S."
27858
+ msgstr "Tubería de desagüe y ventilación: dibújala horizontal o elige la pendiente y el sentido de bajada."
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 "Elija un extremo"
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 "Horizontal · sin caída por gravedad"
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 {inicio → final} other {final → inicio}} (bajada)"
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 "Vertical · {direction, select, forward {inicio → final} other {final → inicio}} (bajada)"
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 "Aplicar pendiente a los tramos horizontales"
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 "Las flechas indican el sentido de bajada. Los tramos horizontales no tienen caída por gravedad. Editar un punto del trazado conserva la pendiente de cada tramo."
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 "Cotas del eje sobre la planta: inicio {start} m · final {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 "Cota final (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 "Final → inicio"
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 "Extremo fijo de la tubería"
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 "Pendiente (%)"
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 "Pendiente y flujo"
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 "Mantener la cota final"
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 "Mantener la cota inicial"
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 "Tramo {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 "Mover la cota, mantener las pendientes"
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 "Cota de anclaje de la tubería"
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 "Sentido de bajada de la tubería"
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 "Porcentaje de pendiente de la tubería"
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 "Cota inicial (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 "Inicio → final"
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 "Esta edición no puede conservar la pendiente de la tubería ni los collarines conectados. Ajuste el accesorio o use Pendiente y flujo."
26629
28089
 
26630
28090
  # Source-Hash: 457155657704f7cc
26631
28091
  # Review: required
@@ -26637,6 +28097,286 @@ msgstr "Tubería de desagüe y ventilación: dibújala horizontal o alterna una
26637
28097
  msgid "node.pipeSegment.label"
26638
28098
  msgstr "Tubería de desagüe"
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 "Este movimiento cambiaría la pendiente de una tubería conectada. Elige otra posición o pulsa Esc para cancelar."
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 "Aplicar desfase de la tubería"
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 "Comprueba la holgura del obstáculo. La vista previa no detecta colisiones."
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 "Elige el primer y el último codo por su distancia horizontal desde el inicio. Un desfase positivo sube; uno negativo baja. Cada conector recorre en horizontal una distancia igual a la altura del desfase."
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 "Primer codo (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 "Último codo (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 "Desfase aplicado en un solo paso de deshacer. Las conexiones de los extremos se mantuvieron fijas."
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 "Desviar alrededor de un obstáculo"
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 "Vista previa del perfil lateral del desfase de la tubería"
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 "Perfil lateral (esquemático). Cuatro codos · cinco tramos de tubería. Los tramos paralelos conservan la pendiente original; ambas conexiones de los extremos permanecen fijas."
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 "Este desfase incluye un tramo de desagüe en contrapendiente. No proporciona un drenaje continuo hacia abajo."
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 "No se puede aplicar el desfase."
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 "No se puede planificar el desfase."
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 "Desfase vertical (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 "Aplicar tamaño de tubería"
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 "Las derivaciones se detienen en uniones, cambios de tamaño o de material y conexiones de aparatos. Los reductores mantienen fijos los collarines de los extremos."
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 "Comprobar cambio de tamaño"
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 "Derivación conectada"
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 "Diámetro actual: {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 "Diámetro (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 "Nuevo diámetro de la tubería"
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 "Alcance del cambio de tamaño de la tubería"
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 "Tamaño de tubería"
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 "Tamaño cambiado en un solo paso de deshacer. Se conservan las pendientes y las conexiones de los extremos."
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, one {# tramo} many {# tramos} other {# tramos}}, {fittings, plural, one {# accesorio} many {# accesorios} other {# accesorios}}, {reducers, plural, one {# reductor nuevo} many {# reductores nuevos} other {# reductores nuevos}}. Las pendientes no cambian."
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 "Este tramo"
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 "No se puede cambiar el tamaño de la tubería."
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} · Inicio {start} m · Final {end} m sobre la planta"
28379
+
26640
28380
  # Source-Hash: 6d0cdd14d0675e05
26641
28381
  # Review: required
26642
28382
  # AI-Provider: claude-code
@@ -26937,6 +28677,36 @@ msgstr "Altura"
26937
28677
  msgid "node.roof.description"
26938
28678
  msgstr "Cubierta inclinada, a cuatro aguas o a dos aguas compuesta por uno o varios faldones."
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 "Reintentar la geometría del tejado"
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 "No se pudo reconstruir la geometría del tejado. Se sigue mostrando la forma anterior. Ajusta las dimensiones o las intersecciones y vuelve a intentarlo."
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 "La geometría del tejado no es válida. Se sigue mostrando la forma anterior. Ajusta las dimensiones o las intersecciones y vuelve a intentarlo."
28709
+
26940
28710
  # Source-Hash: b5be04471fd3fb7a
26941
28711
  # Review: required
26942
28712
  # AI-Provider: claude-code
@@ -29050,6 +30820,36 @@ msgstr "{spacing} a ejes"
29050
30820
  msgid "node.shared.buildUpControls.woodPlank"
29051
30821
  msgstr "Tabla de madera"
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 "Vista previa del trazado"
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 {Retorno} other {Impulsión}} · {size} in · {state, select, connected {Conectado} other {Dibujar desde el collarín}}"
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 "Conectar conducto"
30852
+
29053
30853
  # Source-Hash: e7512c891d8da7d8
29054
30854
  # Review: required
29055
30855
  # AI-Provider: claude-code
@@ -29100,6 +30900,26 @@ msgstr "Ancho"
29100
30900
  msgid "node.shared.openingDepthPosition.depthPosition"
29101
30901
  msgstr "Posición en profundidad"
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 {Entrada} outlet {Salida} branch {Derivación} branch2 {Segunda derivación} other {Collarín {number}}} · {diameter} in · {elevation} m · {state, select, connected {Conectado} other {Dibujar desde el collarín}}"
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 "Conectar tubería"
30922
+
29103
30923
  # Source-Hash: ee1c8bc3e27fb550
29104
30924
  # Review: required
29105
30925
  # AI-Provider: claude-code
@@ -34411,6 +36231,16 @@ msgstr "Dimensiones"
34411
36231
  msgid "node.wall.panel.drywall"
34412
36232
  msgstr "Placa de yeso"
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 "Desfase de altura en el extremo"
36243
+
34414
36244
  # Source-Hash: d6ba089e1ca40cdf
34415
36245
  # Review: required
34416
36246
  # AI-Provider: claude-code